Internal frameworks are a waste of time
11 April 2007 in Business | Comments enabled

Just Thinking

Almost every software developer you talk with will be able to tell you that their company has some software, usually a framework, that they use internally to help develop solutions. The view is that this is done to gain a competitive advantage by enabling faster, smarter development. Companies are often hugely protective of these frameworks, many see them as containing their trade secrets, their intellectual property that nobody else knows about.

I’d argue that this business practice is coming to an end, especially in the software market. Software evolves at such a pace that maintaining these frameworks is often a forgotten task or, at the most, poorly done.

We end up with many software companies, both service and product houses, investing in themselves to build new frameworks, “better” frameworks and to up-skill staff on a non-exportable skill set. Perhaps management thinks spending money on such development doesn’t seem so bad if staff can’t use that skill to market themselves to competitors? This, of course, is a poor investment as it doesn’t only hurt your staff but makes your company less appealing to prospects as well. The market doesn’t care if your staff are efficient at using your internal framework. This clearly affects services organisations more but the message is the same.

So lets recap:

  • Many companies are developing their own frameworks
  • These frameworks cost each company to create, educate and maintain
  • These frameworks have no exportability because they are often seen as trade secret

But wait a minute, surely this is a bad cycle for everyone? No developer wants to work at the company that uses no framework or guidance. We’re all having to keep up with each other. So how can you be different?

Flip the problem around.

Take your internal framework, make it open. Allow anyone to download it, including the source. Maintain it but also allow outsiders to submit patches. Spread the word effort outside your company. If you do it right you can reduce cost and deliver large gains to your organisation. What a difference to the way most software companies operate these days.

Look at 37Signals – this company opened up their internal framework (Rails) which is possibly the largest factor in their world wide fame and success – leading to more subscribers to their software. 37Signals can now leverage resource outside the company to further develop their framework while maintaining “editorial control” over it as they get the final say on what goes in and out. They also gain because they get thousands of people suggesting features they may never have thought of as well as reviewing the code for bugs.

Clearly not every company is in a position to do this, if we had as many open frameworks as we had software companies the problems would still persist. There are many other examples of frameworks that exist that are already open (for virtually every technology platform) so before digging deep and starting your own evaluate what is already available, if nothing exists then you have a far greater opportunity than just building an internal framework – leverage it publically!

Many many software companies sit on internal frameworks as their “competitive advantage”. A competitive advantage every single company has is no advantage at all.

- JD


1 comment. Add your own comment.

Chan says 12 April 2007 @ 12:24

JD
Good point(s). I have seen my fair share of “internal” frameworks which in some cases when it comes to maintaining no one actually has a clue (after a few months/years) why they did it in the first place.
Ex: Mr John Doe left us and we thought he “documented” the framework and it must be somewhere in the “file share”. Then some poor developer needs to spend days trying to figure stuff out.

Leave a Comment

Name (required)

E-mail (required - not published)

Website

Your comment: