Continuous Innovation is a mindset change for organizations that have software products. It is a shift to a shared understanding:
We never have perfect knowledge today about what our customers will want tomorrow.
Companies that accept this and make it a part of their operating principles can gain and maintain a significant competitive advantage over those that maintain a fixed mindset and way of operating. In fact, disruptive innovations are one thing that should be keeping business leaders awake at night in today’s environment.
In the book Mindset, Carol Dweck eloquently describes what underlies human success and where it comes from. Her work has already impacted an uncountable number of lives in education, health care and parenting and I believe that we are just beginning to scratch the surface of the impact that her work will have for generations to come. One example, that I am passionate about, is the software product development space. We can run direct parallels between Carol Dweck’s work on human mindsets and on how we develop software products. This article demonstrates that parallel and puts the theory into practical use for this purpose.
In essence, to build software products that find success in their respective markets, we must build them in a way that guarantees them a flexible and unexpected future. Systems and teams that employ a flexible mindset will be more successful than those that are hamstrung by traditional fixed project mindsets.
The following infographic demonstrates the Continuous Innovation Mindset and its approach to failure and learning:
The following principles represent key underlying cultural components that need to be instilled in your product development teams to empower the Continuous Innovation Mindset:
- User Obsessed. Our highest priority is always on what our end users experience. We need to be obsessed with eliminating pain, reducing effort, handling disruptive situations and making their lives better in the context of our products. We need to be obsessed over each and every click, every swipe and every pixel that our customer sees and how it impacts their experience with our software. It’s these small details that connect people with the tools we provide and create joyful, memorable experiences for them. We don’t just want to create tools that people love, we want to create tools that people can’t live without.
- Architecturally Excellent. Never compromise on what lies under the hood. Technical debt will kill a software product down the road, so watch it carefully. Pay constant attention to your best practices and tools with a focus on technical excellence. Structurally excellent products will improve your long term agility in amazing ways.
- Experimental. Continuous learning and micro-innovations are a necessary part of a products’ future. Failing forward is expected, normal and necessary. Strategic effort (The difference between trying and learning) is really important. Our teams need to always be learning. We must always be open to adjusting the product vision. It is simply never perfect. Reflect and retrospect frequently, adjust and repeat. Treat everything we do as an experiment that is meant to be learned from. This means that we need to build a discipline around forming, measuring and creating great experiments. We value the scientist in all of us.
- Evolving. Markets change, better tools are built, competitors do unpredictable things and we might stumble across new ideas in the most unexpected places. The ability to change and turn on a dime is the ability to be anti-fragile and being anti-fragile may be the single most powerful competitive advantage in today’s market.
- Aligned. Our product vision needs to be well defined and powerful. It should include our mission statement and communicate it clearly to our stakeholders. Our product vision should be a source of inspiration and pride for the teams that are producing them. When your teams are aligned around a product vision that they created together, the momentum is palpable. When there is misalignment, chaos ensues and people become apathetic to their roles in the product’s success. Don’t let that happen to your product. Stay in front of the vision and make sure everyone remains aligned. If you find misalignment, be prepared to adjust the vision or work on motivation.
- Motivated. Great products are built by motivated people. Give them a great culture of ongoing learning and development and trust them to build a great product around the vision that you create with them. If you have people that are not inspired by the vision, figure out how to inspire them or find something else for them to work on. When they are motivated, trust them and get out of their way.
- Always Shipping. What is not in the hands of your users is virtually worthless. Get it done and get it to market. As Seth Godin so eloquently says: “Ship it.” Insist that everything you release be worthy of your brand, but do it in the smallest increments possible. Be relentless in reducing what is minimally releasable at all times. The shorter the release cycles, the better. Master the art of choosing what not to do.
- Measured. What we don’t measure, we can’t improve. Functional software, in the hands of your users should be the quintessential measure of progress. Adoption and appropriate usage should be number two. Products that don’t get used are a waste. Any measure of how much time or energy you are saving your users should be number three.
- Never Finished. A software product that is a brand asset, is not a “project” with a start and an end. If it is, it will be irrelevant the moment you “finish.” A software product’s future is only as good as the quality of it’s backlog, the intention of its producers and perception of its users. Never, ever, think that you are finished.
If you are successful at employing these principles for your software products, you will build a product that is much more adaptable, ready for the future and ultimately more successful by every measure.