5 Steps to Start Driving Software Innovation
For many software development organizations, the hardest part of innovation is carving out time for it and building it into their day-to-day processes. By taking a series of small steps, however, organizations can quickly establish an innovation discipline that ensures relevance far into the future.
Starting small instills teams with the discipline to stay focused on tasks, move quickly and avoid bigger, more costly plans that often produce few results. In our work with clients, we’ve identified five steps that will help businesses dedicate more time to innovation:
- Focus above the value line. The first step to making room for innovation is to make a list of all the work your team is doing, and then identify the activities that are contributing to its core mission. Be ruthless about alleviating work that isn’t imperative to your team’s primary goals. Focusing your resources also means leveraging existing technology rather than building from scratch, with particular attention to open-source solutions or technologies that comply with open standards. A modular, prebuilt option may cover 80% or 90% of your needs, and free you to focus on tasks with a direct relationship to revenue and creating new value.
- Stay independent but connected. It may seem like developers would be most efficient if they could eliminate dependencies on other people. This just isn’t possible, however, in today’s world of microservices, in which developers work independently but are also interconnected with each other. This leads to the common frustration of relying on functionality from teams that fail to deliver within their previously communicated timeline. Faced with this problem, many teams will choose to do what’s right for the customer by implementing needed functionality themselves. While this is to be admired, it postpones fixing the real problem.
- Root out duplicate work. Few software experiences are as frustrating and costly as spending time on important ideas only to discover that, down the hall or across the globe, someone else in the organization has been innovating on the same ideas. To prevent redundant efforts, software development organizations can create a community to share ideas and knowledge, solicit feedback and potentially pool resources to move at a more rapid pace. This can be done in both low-tech ways (newsletters, town halls, brown-bag events) and through social media. In order to establish a strong community, it’s also vital to identify obstacles to this lack of communication and overcome them.
- Automate. Talk of automation often stokes fears of complex reorganizations, high implementation costs and job displacement. However, the process of offloading rote work to machines actually offers opportunity to software teams: It’s an opening to become better at their jobs. When machines contribute to equal or improved outcomes, they clear a path for fast progress. For example, insurance companies are automating the onboarding process for clients, streamlining repetitive tasks and using technology to provide a more personal experience. Financial services companies, meanwhile, are enabling faster credit checks through automation, streamlining the purchasing process for big-ticket items. In most cases, automation means letting machines do what they do best (i.e., fast processing of rote tasks) and enabling humans to do what they do best (i.e., empathy, creativity, judgment calls).
- Learn to fail fast. There’s a reason the concept of failing fast has become ubiquitous in business: It works. The rhythm of releasing a minimally viable product (MVP) , getting feedback and then making changes forces software teams out of the rut of analysis-paralysis. Failing fast, however, isn’t the same as falling short of revenue requirements, quarter over quarter, and watching market share decline. The proper way to fail involves testing assumptions, finding out what doesn’t work and building software that solves real needs.
Read the full blogpost on Digitally Cognizant.