Software Innovation Cycles at Consulting Companies

Where 45 years old engineers are? 
They have been shot in the backstage.
Primer (2004), by Shane Carruth.


The most of times I can take a rest and quietly thinking about how consulting companies are innovating in the IT world I always reach the conclusion we must consider several key factors: The Products, The Frameworks and the relationship between companies and the concept of Innovation. I'll try to explain these considerations.

1-The Products
1.1-Products manufactured by companies
1.2-Projects developed by these companies
1.3-The maintenance and evolution projects resulting from the developed projects.

2-The Frameworks
Some of these companies develop one or several frameworks. The explicit objectives dual. On the one hand they are created to help development teams to do their work without repeating the invention of the wheel time after time. Well, all is fine until here. But... on the other hand is this type of development (frameworks) actually an innovative work?? They are sold as Innovation to internals and customers.

3-The Innovation and the Companies
Innovation cycles (the relationship between the innovation concept and standards are well descibed at this article by Eric Reiss) in software platforms are shorter and occur in a faster way. Consulting companies are absolutely disabled to follow them. But this is not a surprise... Many managers consider technological innovation as a true danger for consolidated or in way to be consolidated procedures . So, considerations of innovation for them are not the same as in the real world. Innovation is a synonim of "productive". It seems to be the same thing, but it is not! Moreover, this strange concept of Innovation is actually limited to a selected reduced team that will centralize all actions and resources for exclusive control.
One of the outcomes of this type of strategies is, consulting companies acquire a greater and greater technological debt in a short time. This factor explains how problems with security, performance and robustness have increased a lot  in consulting products and projects during the last three years. Moreover, a lot of old projects are maintained without any class of technological updating. They get into a real risk for the integrity of corporative systems.


My conclusions:

1-Software architecture, software design and software development are an intelectual work.
2-Companies try to reduce the software work to its minimal expression. They would be happy if they could have a number of rookies as developers in a chain production line (called "software factories") with a reduced team of experts only to repair the production line.
3-Frameworks from consulting companies are hybrid entities, not really frameworks. They are assembled from diverse pieces of software. They are mainly focused to serve as the main support to production lines.
4-Companies do not trust in project teams.

My proposals..
1-Consulting companies should limit their focus on software factories. They are not efficient but expensive and malfunctioning. Costs do not balance the results.
2-Consulting companies should invest in real innovation. 5 years old technologies assembled in a common API is not innovation at all! The main goal of IT teams is avoiding the technical obsolescence.
3-Testing and evaluation of new technologies, evolutions and platforms are key tasks for IT teams in consulting companies. The return of this investment is to maintain na company in the edge of technology. Managers considering these tasks as a waste of time and money...do they actually deserve their over-paid positions?
4-Training and practices, training and practices and training and practices are the keys to create excellent technical productive teams for development. Moreover, teams members should be integrated in innovation teams at least one month per year.



Comments