5 points to concider when thinking about software innovation.
In this post I'll introduce five aspects you should take into account when thinking about blending innovation management with software engineering. It is my belief that these 5 things make this blending exercise not that straight forward. Or put in other words, if you are a software intensive product builder, you should think about those 5 attention points when developing your own suitable innovation processes.
- Software is malleable: Software products are often delivered in increments, usually called releases, which means that on the product level, a constant stream of incremental innovation is seen. Moreover, often there is no lack of ideas within software product development. Innovation in software is typically continuous, not discrete. This doesn't mean the classical innovation funnel is not applicable for software builders, yet, many will not really recognize that funnel in their context.
- Software is “intangible”: One cannot hold software in its hands, there is no wear and tear. As a consequence, many existing innovation techniques that rely on the physical nature of products cannot be readily applied to software. As an example TRIZ (http://en.wikipedia.org/wiki/TRIZ), a methodology often used in product development to help in the generation of innovative ideas, is hardly known in the software world. For software, other innovation characteristics like ecosystems thinking (how can my product be part of an ecosystem of networked products) or process innovation (e.g. responding faster to change than competition by having an optimized agile process) seem to be much more important.
- The threshold to enter the software market is low: Or as Google illustrated: you only need a PC and a garage to build a thriving software company. In the software industry, one can see emerging players compete successfully against well established players. This forces the established players to speed up their innovations to stay on par with these new players, while the emerging players must swiftly master software innovation skills, because being innovative is their true differentiator.
- Users can play many roles in the innovation process of a software company: For a lot of products, if not all, user feedback is crucial, and adapting/developing products based upon users input is often a recipe for success. But in software, users can play many more roles, going from the aforementioned providers of feedback, all the way to the developers of new products based upon yours. Users can co-create software with you, if you think about the many open-source products that are available; users can be employed in product support or can build innovative add-ons to your own products, making your products more valuable. (you can find an inspiring talk from twitter co-founder Even Williams on http://www.ted.com/talks/lang/eng/evan_williams_on_listening_to_twitter_users.html where he talks about how users invent new uses for twitter and how the company then harvests those new use cases.)
- The huge impact of experts/critical resources in software innovation: Studies have shown that the impact of a critical expert resource in software innovation is on average 10 times higher then the impact of an average software engineer. In traditional, non-software engineering, this ratio is about 2-3 to 1. This means that, in order to be successful in software innovation, a product builder should utilizes these critical resources to their fullest extend, thereby dealing with the fact that their time is very limited. One can argue who his/her most critical innovation resources are: are they the developers, or are they lead users in your target market that are willing to help you out shaping your next big product?
I'm wondering though, are those 5 factors the only factors that differenciate software innovation from "traditional" innovation? Did I forget something obvious? How do you deal with those 5 differences?
Nick Boucart works as a technology advisor for the software engineering group of Sirris, the collective center for the Belgian technology industry. The Software Engineering group focuses on the challenges faced by Belgian software intensive product builders. The group conducts industry driven research around those challenges and actively participates in different (international) research projects on topics like flexible software development, managing product variability and software innovation. Nick’s focus is mostly on flexible and agile software development and on community driven innovation for software intensive product builders.
You can follow Nick on Twitter (@NickBoucart).