I’ve been in software and consulting for a long time. Decades, really. I am not telling you this because I want you to equate my loads of experience with wisdom. In this case, and for the sake of this article, it’s probably a better idea to associate it with a long, slow build-up of skepticism.
It is this skepticism that colors my view of the current push and hoopla around innovation. Everyone wants to be innovative, but if you ask 10 people “What is innovation?” you’ll likely get 10 answers. “Innovation” has become a flashy buzz word that is in danger of losing any tangible meaning.
The truth, in fact, is that innovation has been around since we oozed out of the slime and sprouted legs (our first innovation!). I can prove it to you by defining innovation in tangible terms. But, before I do that, I’d like to put forth a perspective on what we really want in our clamor to be innovative along with some paths to get there. Innovation is desirable and we should all want it in our work, but it’s also nebulous and hard to pin down. Really, innovation (especially in software) is more about how we work than what we make.
What most people mean when they say “innovation” is some kind of disruptive process or product that opens up new business for a company or an industry. What that means, by the way, is that innovation is likely what got your company to where it is today. For some folks, that is probably very hard to believe. The frustrations of enterprise software development are myriad, with atrophied tech and processes.
So, how could a company mired in painful, twice-a-year software deployments be the result of innovation? The easiest answer is: It all started with your company’s first forays into finding a market and creating value for that market. Back then, your company was looking for a market, searching for buyers of its value. These were your company’s first value streams.
That leads us to definition one of innovation: Innovation is the process of creating new value streams.
As much as I hate using a term like “value streams,” it fits well in this definition. Enterprises today started with an idea that was turned into a value stream. This is innovation.
Over time, this innovation morphed into bureaucracy, making bureaucracy how we now deliver yesterday’s innovation.
While “bureaucracy” is a four-letter word for most people, it’s not the enemy. As Mark Schwartz states in War & Peace & IT, “Bureaucracy is…merely the codification of how an enterprise has operated…in order to solve problems it has encountered.” Schwartz says the goal is to build a “new bureaucracy” which, if you haven’t guessed, is the result of your next innovation.
Types of Innovation
There is a minor complication to this definition: there are a couple of flavors of innovation. I base these on how Clayton Christensen slices innovation in The Innovator’s Dilemma (which you should really read if you’re serious about the topic):
- Sustaining innovations are changes you make to meet and delight your current customers where they want to go. If you have a web property, offering a native app or enabling frequent deployments are sustaining innovations.
- Disruptive innovations are outside your current clients’ requests. In general, your clients are not asking for these, and they are much rarer. However, they are also a much larger risk to established companies.
To be clear, it’s probably a good idea to have an approach to both kinds of innovation. Sustaining innovations are a bit easier, though, because they are for existing markets and your clients want them. You can be reasonably sure these will land and create more value for both you and your client based on data, trends, etc.
Disruptive innovations are, generally, not in your wheelhouse. In fact, they often start much less feature-complete than your main offerings. As such, they don’t bring in a lot of money and your customers don’t want them. It’s when a disruptive innovation finds a market that it catches fire. Now, it can iterate and grow, improving under your radar until one day some startup starts eating your business. By the time you smell their avocado toast, it’s too late.
All of what I’ve written to this point focuses on innovation in general. Looking at innovation through the prism of software development can narrow the spectrum. I’d like to focus on sustaining innovation for the remainder of this post. In my experience, this is where the majority of software companies can make the most progress (and BTW, we’re all software companies now).
In short, the best way to support innovation in a software company is to create a culture of constant learning and robust adaptation.
An Innovation Culture
“If you can set up the rules and bureaucracy such that they allow good innovative ideas to have a path to execution, then you don’t need to distinguish between good ideas that come from a special innovation team from those that come from everyone else” – Mark Schwartz, War & Peace & IT
One approach to innovation that has a lot of traction is to open up a new facility (usually in a hip part of town) and relocate go-getters and can-doers. These folks are isolated and charged with innovating. This is not an approach to sustaining innovations, as the ideas here are more “outside the box”. A lab is a step toward addressing disruptive innovation (often not a far enough step, in this author’s opinion). While a lab may have its place, the messaging back to the rest of the company may be detrimental.
“Innovation isn’t happening here, so we built a lab for it.”
While the phrase “Innovation is everyone’s job!” is on a banner at the company all-hands, it’s not really true. The vast majority of the organization is charged with just keeping the plane in the air, which is no small feat. The process and cruft that has built up over the years mean that deployments must be planned months apart and will very likely ruin everyone’s weekend when they finally happen after being delayed multiple times.
Any real attempts to change and improve the processes behind this pain is met with turf wars from the We’ve-Always-Done-It-This-Way crowd. Or, people are just too snowed under in the status quo and can’t muster the energy or time for meaningful change. Oh, and guess how much time they have to take an innovation lab project from proof-of-concept to production?
The folks at HQ need to innovate, too. Leadership needs to create the environment.
Too many enterprise software development organizations basically ask their staff to contain the conflagration that is their ecosystem. What if we asked them to actually put out the fires? This is how startups work. They don’t have cruft, so they pick the best tools and they remove the biggest blockers. They don’t know if their ideas will land with users, so they build a process around quick deploys and learning through actual customer feedback. They fail, learn, adapt, and try again.
Everyone at HQ needs to build software like a startup (minus the crazy hours and worthless options).
In this scenario, innovation takes the form of:
- Attacking the tedious, soul-crushing deployment process.
- Creating an organizational structure that supports both a flexible architecture* and a collaborative workforce.
- Getting rid of projects and focusing on the customers.
- Elevating the elimination of tech debt to a top-level priority.
- Empowering teams to do the right thing for the client and the software.
- A fanatical focus on learning. Hold internal tech meetups, make local learnings into global knowledge, prioritize training.
(*The first step in creating a software architecture is organizational design—it’s Conway’s Law. Read Team Topologies if you don’t believe me.)
Sustaining Innovation is Improving Every Day
“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.” – R. Buckminster Fuller
The one thing people can do is see a better way. The people at HQ know how to improve and the paths to start. They can see a future where innovation is the status quo. Talk to them. Start where they are and empower them to make incremental improvements. Look at the organizational structure that will support the new world and make plans to build it over time. It will be difficult and the team will stumble and fail. But, armed with the trust and empowerment of the company, they will pull themselves up, learn, and make progress. Over time, it will start to act and feel like a startup.
If you’ve read The Unicorn Project (and you should), there is a focus on “The Five Ideals:”
- Locality and Simplicity: Can teams make the changes they need without having to get six other teams involved?
- Focus, Flow, and Joy: Focus on the flow of work, track and eliminate technical debt, promote work/life balance.
- Improvement of Daily Work: Make small, incremental improvements every week/day.
- Psychological Safety: Make it OK to fail, then learn from those failures without assigning blame.
- Customer Focus: Remember who you serve.
On top of these ideals, I would like to doubly emphasize an empowered, learning culture. Between learning what customers want and constantly new and evolving technology, learning is paramount to success. The side effects of a learning culture are happier, more engaged employees that stay around and use their newfound knowledge to improve the company. Empowering your engineers to use that learning makes them your “best innovators”. In other words, they make innovation their job, every day.
Build Your Process to Support Innovation
As you improve your ability to deliver and deploy software, then you improve your ability to experiment with new ways to delight your customers. If you improve your ability to experiment, then you improve your ability to learn. If you improve your ability to learn, you improve your likelihood of finding new, or improved, value streams. Congratulations, you’re innovating.
Teach your entire company to work in this manner and every part of your software development becomes more effective, from HQ to Lab.
Here are some resources to help you and your team frame-up sustainable innovation:
- Drive: The Surprising Truth About What Motivates Us (YouTube): It’s not money and it’s not fear.
- The Unicorn Project (Book): A fictionalized, but all-too-relatable tale of righting the Enterprise.
- War & Peace & IT (Book): A handbook on good software development
- The Innovator’s Dilemma (Book): The seminal tome on innovation and how it works. It goes beyond software development, for sure, but it is a must-read.
- Team Topologies (Book): How to fight Conway’s Law and structure your organization to build great software fast.
Finally, Skookum has experience helping companies improve how they work and innovate. We can work alongside your teams to build the behaviors that will transform your culture from yesterday’s norms to tomorrow’s improvements. If you’d like an assessment of your technology and processes, along with a tactical roadmap to better, get in touch and let’s get started.