“It takes dozens of microprocessors running 100 million lines of code to get a premium car out of the driveway, and this software is only going to get more complex.” ROBERT N. CHARETTE, IEEE
Those of you familiar with InnerWorkings will know that we talk about helping our customers “build great software organizations”. The core elements of our company vision include a focus on developer skills, individual and team productivity, as well as rigorous software processes, with the objective of helping our customers build software of very high quality.
Producing high quality software products requires a high performing organization at every stage of the development life cycle. Inherent in all of this is the notion of “consistency”. Faced with the staggering ubiquity and the complexity of contemporary software implementations, organizations building software need to be consistent on a global scale. They need to have common practices across distributed teams, better means of collaboration, more visibility into their capabilities, and ways of establishing baselines as the basis for measured improvements.
There is just so much software out there now and its footprint will continue to increase over time. The cost of fixing stuff when something goes wrong is horrendous. Just to compete, the standards in software companies need to be higher and higher.
I was reminded of this forcefully while reading the article This Car Runs on Code — my thanks to Paul Kedrosky for bringing it to my attention. Here are some of the key facts stated in this fascinating article:
It isn’t just the automotive industry that is experiencing the effects of software ubiquity, however. This trend is occurring in so many industries today – think about the expanding role of software in the military, aviation, and financial services industries for example. Software is everywhere and its influence is extending into every dusty corner of the modern economy.
In this context, it’s clear (to me at least) that software quality can no longer be treated in an ad-hoc way or left unmeasured as it often is today. There is simply too much economic activity and underlying business value at stake. Every organization, from a small business to a large enterprise, needs to put into place scalable, repeatable and data-driven processes and commit to them. Just to stay alive.













The key to maximizing value for enterprise software is customizing the solution to take full advantage of as many features as possible, not just the primary ones. Key functionality will always get used, but taking advantage of other features will often improve value, save time, and add to the overall user experience. You will have to invest more time upfront, but that investment will more than pay for itself in increased benefits and ease of operation.
The April release date for Visual Studio 2010 and the .NET Framework 4.0 was accompanied by the usual “hubbub” and evangelical zeal that we’ve come to expect from Microsoft.