Skip to main content

How to build continuous improvement into software development

software tools
(Image credit: Image source: Shutterstock/niroworld)

Many seasoned IT professionals will be very familiar with the pressures brought about by their organization’s digital transformation efforts. The demand for more innovation and features that need to be delivered faster and cheaper can make it difficult to achieve exactly what is required without compromising the quality of their work.

To balance these competing demands, continuous improvement offers a way to maintain quality standards while cutting time and cost. It’s an approach based on an ongoing effort to improve your products or services and the processes to manufacture or provide them.

The point of continuous improvement 

The potential value and impact of continuous improvement can be illustrated by considering this scenario: Imagine you have created an effective software product that meets an important need and is selling well in its target markets. In this situation, there is a temptation for developers to rest on their laurels and apply the “if it ain’t broke, don’t fix it” mindset.

However, the success of the product has attracted the interest of competitors, who invest in their own technology to improve its capabilities and deliver more value to their customers faster and cheaper. These impact your own market share and success, prompting you to innovate further - the problem is, your processes are lagging and you can’t turn your ideas into valuable updates for your customers quickly or reliably enough.

In contrast, an approach based on continuous improvement actively seeks to increase the value your software delivers to your customers and the way it’s developed. For instance, a process that frequently seeks user feedback, works to cut out unnecessary activities, and puts in place measures to reduce or avoid defects results in fewer support tickets later on.

Think of it this way: seventy percent of digital transformations slow or stall at some point, the primary and avoidable reason being exhaustion as people grow fatigued with the emphasis on change. The causes for that are fourfold: not enough commitment to start with, unclear organizational alignment, trying to plan everything up-front and trying to modernize systems in one collective effort before doing anything else.

A better approach is to understand first how your business needs to change to improve how employees and customers experience it. And then implement smaller changes that measurably increase the value delivered to customers - i.e., continuous improvement.

Four tools for continuous improvement 

When focusing on continuous improvement for the first time, applying four basic principles can give the process a solid foundation for success. These include:

1. Value Stream Mapping 

Value stream mapping visualizes processes at an organizational level by showing the flow of actions and information required to create value for customers. It supports continuous improvement by helping identify key parts of processes that do not add value to the end product or service.

When key value streams have been mapped, the next step is to move forward with value stream management - a process of continual improvement that optimizes value streams to be more efficient, predictable, and reliable.

2. Eliminate Waste

Identifying and eliminating waste across key processes can significantly improve efficiency and reduce cost. Software development examples include issues relating to handoffs, having work items lying around and not being worked on, excessive Work in Process (WIP), overproduction (such as creating unnecessary features), and defects.

3. Root Cause Analysis

Root cause analysis is what you do to get to the bottom of a problem, finding the real cause rather than the symptoms. A simple and effective method starts by asking why a problem exists. Whatever the answer is, you then ask why that happens or is the case and keep going until you find the root cause however many ‘whys’ that requires.

4. Value Stream Management Practices

Originally developed by early lean management techniques, value stream management is a way to improve the flow of work and materials through the production process. It can also be applied to knowledge-based work such as software development, and in this context focuses on the flow of work items such as feature requests and bug reports through a development team. It focuses on a range of processes including:

– Visualise, or map the workflow

Start by creating a value stream map that visualizes all of the steps in the workflow in a column-based board. Next, use cards or images to represent work items on the board and move them from column to column as work progresses, problems occur, or priorities change.

– Eliminate interruptions

Support productivity and limit work in progress to minimize the impact of multitasking.

– Manage flow

Ensure smooth workflows by identifying where work gets stuck and addressing the bottlenecks.

– Make process policies explicit

Place process policies in the columns of the workflow visualization or alongside the visual board, so each stakeholder has access to what they agreed and can take responsibility for their parts of the process.

– Create feedback loops

Feedback and measurement are essential to understand whether the changes that have been implemented are producing the required results.

– Collaborative improvement

Team members should collaborate on designing and implementing improvements - this not only takes advantage of collective experience and wisdom, but helps build enthusiastic support for following through on the changes.

Building and maintaining engagement 

To maintain momentum behind the continuous improvement, teams should apply some ongoing tactics. For example, get ideas out in the open, perhaps via a board where everyone can post ideas and set aside time for people to collaborate on implementing ideas - don’t expect everyone to do it as a matter of course. 

The key to this is measuring impact, but don’t forget that not every change is an improvement. Instead, think of change as the start of an experiment to understand whether it will deliver improvement or not.

In practical terms, organizations often need access to a lot of data across many different tools and the ability to visualize results in a way that reveals how things are progressing. Many people find that seeing the numbers and evidence of improvement is actually addictive and helps maintain momentum moving forward.

The first step is to identify the first small improvement that can be made to an existing process - keeping what works and rejecting what doesn’t will put any team well on the road towards realizing all the benefits that continuous improvement can bring.

Jeff Keyes, VP of Product Marketing and Strategy, Plutora

Jeff Keyes is the Director of Marketing at Plutora.