Monday, November 21, 2016

Is innovation overrated?

Innovation is a popular theme going around in many circles. Innovation gets people elected to government or it can make people loose office. But is the future all about innovation and creativity?

For years Engineers and others have been spending majority of their time on maintaining the world order - making sure things continue to work amidst the chaos of the real world. However these days young engineers coming out of universities are always given the message of innovation and entrepreneurship. But the reality is that roughly 80% of them will end up working as maintainer in one shape or another. In that case aren’t we intentionally distorting the reality and making them feel bad about their career choices?  Aren’t we shining the light out of the a very important and a significant chunk of workers who are maintainers and putting it towards a small number of innovators or creators?

It’s true that the fetish of innovation is a lot more sexier than the glamour less tasks of maintenance. But do we want to establish our government policy and organisational agenda purely around glamour?

Main reason for this is that capitalism in its nature is fine tuned at encouraging innovation or growth while not putting the same emphasis on maintenance. Maintaining the status quo is deemed as a failure.

Under Investment

Another real danger of over glorification of innovation is the under investment in existing system. Under investment in maintenance will create a ever growing list of technical debt and risk that is passed onto future generations. A good example is the hype around building new infrastructure. Politically, building new infrastructure is a winner. No one can argue the benefits of it. However historically big cities have suffered from putting extra attention to big new infrastructure projects in the expense of putting funds into maintenance. Not to mention the countries and cities piling up debt that will be passed on from generation to generation.

Considerations around maintenance should start even before you build your systems. One thing that drives people out of maintenance is how difficult and costly it gets to maintain systems with time. This directly tie into the fact that how much thought went into maintenance considerations when the system was built in the first place.

Maintenance in Software

The software industry has been aware of this for years. That’s why we as software designers and architects put writing maintainable systems at a high pedestal.  My personal opinion is that  complex systems inherently lean towards putting emphasis on maintainability. If you have to tear up a system every time you want to fix something, automatically maintenance become far more expensive than it needs to be and eventually will be replaced by the new system that is the child of sexy innovation.

That’s why software engineering education should specifically dedicate some of its curricular towards teaching students the value of maintaining systems and building systems that are maintainable. Essentially how to keep improving the engine of a car while it’s been driven. Concepts like SOLID principles, live documentation, version control, unit testing may have a bigger role to play in the tool set of a maintainer. The biggest job is driving a positive message around the role of maintainers.

Final Thoughts

I’m in no way against innovation or de-valuing the important part it will play in our future. I just feel that lately we have been over glorifying innovation and creativity un intentionally forgetting the historically critical role of maintenance. Adequate maintenance together with relevant innovation should be the goal of a growing society.

Post a Comment