Wednesday, March 25, 2015

The case for business


Let's now make the case for how Excess can help businesses. Software companies, particularly the large ones, seldom need GREAT code. What they mostly need is consistent code: their main problem turnover. One senior developer leaves and whole products get shaken to their foundation. If no one understand that dude's code the poor old manager can see months of refactoring coming a mile away. And these things cost many-many-monies.

So, the large company yearns for uniformity. They build thick handbooks (like, 400 pages long) of coding standards, best practices and all kind of minutiae. Problem is, not only those are difficult to learn, they are difficult to enforce. So here comes countless hours of either code reviews or praying. And they pay by the hour.

It is safe to say companies would be delighted if a computer wrote most of their code. Coincidentally that's what excess do, write less code and let the compiler take care of boiler plate. Lets see a user case of a product that has gained some notoriety: aspboilerplate.net

The premise is simple: you will get code generated for you already embedding the best practices. It is a great idea, and I personally used it to create metaprogramming.ninja, It has some drawbacks, tho: It only helps while creating your project, you are expected to follow guidelines from there on. So lets take that to the next level. For the sake of argument lets assume you want to standardize your data access with ORM entities and repositories supporting unit of work and all that jazz:

entity Product
{
     int ID;
     string Name;
     decimal Price;
}

repository Products
{
      IEnumerable<Product> GetAllProducts();
}

By now you have got to know Excess can EASILY generate the boilerplate to make this happen, including units of work and whatever else you need. So we'll talk about subtler points: Let's assume your best practices include not littering your data entities with methods. Excess can report errors when that happens! No need to code-review for that particular item!! In other words, Excess will help your company to add its own best practices to the compiler. Now programmers can come and go, and data access will be standardized, or it wouldn't compile.

Lets analyze another terrible occurrence for business: technology has evolved! Do you know how expensive a system-wide porting can be? Depending on the size of the code base and how old the former technology was it could take from 6 months to many years. Then you are paying your devs for basically nothing.

Lets say that if Excess can generate boiler plate for one technology it could easily do it for another, no? So, want to switch from EntityFramework to Hybernate? Change the underlying data compiler and you are good to go, no changes in the actual application code. Monies people, money!

One last point, we have discussed here a common data extension, however, for some business operating in a well defined domain the savings could be much greater. A criticism could be made as developers must learn a different dialect of the language. But, would that be any different than learning heavy "best practice" handbooks?


No comments:

Post a Comment