For decades software development has followed different methods and frameworks to deliver software more smartly. Although the software industry has improved as a whole in this context, delivering software still seems hard. Agile methods of software development take a different approach that uncovers better ways of developing software. Though Agile development is not a silver bullet, neither a one size fits all approach or provides you all the answers, but organizations find it the most helpful nowadays.
However, as per the organization’s feedback, agile transformations do not bring the expected results. This is because better software development is not all about implementing the best methods or frameworks. Instead, it should be a flexible way to adapt to the needs and situation in hand by the organization’s teams and people. This is where continuous improvement in Agile development comes into the picture, which is agile’s heart.
Continuous improvement identifies the opportunities to streamline the work while reducing waste. It follows the Japanese concept of kaizen, which means to make small incremental improvements continuously. The manufacturing and business first formalized this practice and now being used by thousands of organizations to identify savings opportunities. This can leverage excellent results too.
Continuous improvement in agile development sets the goal of an agile team to improve continuously. They set a meeting periodically to retrospect how they work as a team. This allows the teams to work well together and discuss what is working and what isn’t. In this meeting, they also decide what can be done to perform better in the next sprint. This is a different concept from the traditional post-project review.
Related post – What are the fundamentals of Agile?
Why Continuous Improvement?
Apart from the improvement in the process, there are several other reasons why continuous improvement in Agile is required for an organization:
Turns an idea into implementation in a short time. Improvement ideas can arise any time during the software development process, and it can come at any phase from anyone, and either from the internal team or clients. However, there should be organizational initiatives to identify and explore those ideas on time. This will also expedite the process of assigning the task to the most suitable person to implement it quickly.
Increases the chance of knowledge and skill sharing. An agile team leverages high-collaborative environments, which is an excellent way to share the team’s skills and knowledge. Continuous improvement enables and motivates people to share their knowledge and skills outside of their assigned team. This happens through communities of practice, practitioner presentations, online discussions, and many other ways.
Maximize your chances of learning from failure. Continuous improvement gives you the scope of learning from your failures. At the same time, it treats each failure as a scope to improve. However, every team may not need to experience the same failures. A single team or some teams can fail in similar ways. Then they share their learnings with others so that other teams can eliminate the chances of a similar type of failure.
Hence, it helps to increase the learning value to your organization. However, it should be a safe process, and failures should be considered the learnings that others can share.
Enhances the possibilities for radical improvements. The challenge with the kaizen concept is you can continuously make incremental improvements on a small scale. However, the improvement path will never lead to a sudden change in the entire process. In this process, you can make things better, but maybe missing scopes to make things better at an advanced level.
Let say a team is following the Agile process, which is Scrum-based or Basic lifecycle for the development process. They can’t identify the continuous deployment (CD) strategy on their own as they have a two-week iteration, which may defeat the idea of releasing multiple times in a day into production. However, if people on the same team were to hear about the same working way from other teams, they might help start experiments with CD techniques. This, in turn, abandons the idea of time-boxed iterations, which ultimately could lead to huge process improvement.
So, any organization needs a proper strategy for communicating across teams for potential improvements. Hence, the flow of work should be streamlined to make it as easy as possible for teams. This will help them to learn from one another.
Here is a process goal diagram that provides overviews of the potential activities associated with continuous improvement.
Process factors for Continuous Improvement
Identifying improvements. There are multiple ways to identify potential improvement areas within an organization. The group associated with process improvement can support this identification process. One of the effective strategies is to encourage teams to embrace the practice of attending regular retrospectives. Though retrospective is common for agile delivery teams, however, this is often a new area for enterprise architecture teams, data management teams, IT governance teams, and so on.
The retrospective provides good traction with brainstorming sessions and value stream mapping, which is more effective than the traditional approach of creating proposed and current business process models.
Sharing improvements. As there are multiple ways of sharing improvement ideas among teams, many of them are free or inexpensive. This can sometimes happen through internal discussion forums where one can present his learnings to others. Additionally, people can meet voluntarily at a regular time to share ideas and the communities of practice, which is sometimes called guilds. Here, people purposely collaborate to share knowledge among themselves on a given topic.
Capturing improvements. After identifying the improvements, we need various ways to capture them so that it retains over time. Possible strategies could describe each learning in a document and, after that managing the same document in a document sharing repositories like SharePoint or a shared folder. Sometimes learnings are captured in a shared wiki like Confluence, Stages, Rational Method Composer, or Enterprise Transformation Advisor.
Supporting teams. The team engaged in process improvement can help others adopt process improvement methods through education, training, and coaching. Besides, they can also facilitate retrospectives and team assessments. An effective strategy for the same is to help a team run one or two process improvement experiments, particularly when there is no dedicated coach to support the team. This helps them to safely try new ideas for a few iterations within their environment. It helps them to determine whether it works for them or not. Many teams, particularly those who are new to agile, often hesitate to run such experiments. They need help to do so.
Organizing Communities of Practice (CoPs). This is a collection of people who share the profession and banded together for learning from each other. They engage in developing themselves and often the organization. CoPs can be present for testing, agile/lean architecture, business analysis, and many others.
The activities mentioned for the Identifying Improvements, Sharing Improvements, Capturing Improvements, and Supporting Teams process factors are performed by the CoPs. A CoP starts up if one or more practitioners within the organization recognize the requirement for it. However, sometimes it may also start as a part of the corresponding Center of Excellence (CoE) activity. CoP participation is typically voluntary.
Organize Centers of Excellence (CoEs). This is a group of people with specialized expertise and skills who provides leadership. They purposely disseminate their knowledge within the organization. An organization usually creates coEs to support the adoption of a new technique and technology. Furthermore, an Agile CoE often works as a key component of an organization’s overall efforts for Agile transformation.
Governing improvement. Senior management is often responsible for knowing if the organization is benefiting from adopting agile techniques. Additionally, they need to know how things are improving, along with the spread of the adoption. For governance, there should be some way of monitoring and reporting on it. The improvement activities should happen in a streamlined and lightweight manner.
Benefits of Continuous Improvement
Streamline workflows
Continuous improvement allows you to improve the process flow constantly. This is one of the best ways in which many businesses can reduce operating overhead. Continuous improvement is a technique that helps to streamline workflows.
The continuous improvement enables efficient workflows that save both time and money. At the same time, it allows you to reduce wasted effort and time. For example, continuous improvement is specifically helpful for projects that involve changing priorities, shifting deadlines, and other complexities. They get ample opportunities to improve.
Reduce project costs
A project manager needs to know the project cost of completing a part of the work. Continuous improvement helps to save both time and effort directly or indirectly. It helps to forecast operational overheads. Additionally, most project management benefits from knowing the amount of time it takes to complete certain work done beforehand. Project managers usually utilize Forecasting or Estimating Software to reduce project costs as well as to prevent overages.
When to Use Continuous Improvement
Every customer expects faster and cheaper delivery without sacrificing quality. To maintain quality standards while cutting costs and time, companies prefer to work in continuous improvement mode. However, many times it happens that teams can’t follow continuous improvement while performing their day-to-day activities. In that case, it is best to leverage the concept of Value Stream Mapping.
Continuous Improvement takes anywhere between one to five days to complete. However, that depends on the depth and breadth of the topic to be covered. Here the team members come away with “to-do” items. This helps the new processes to take hold within the organization. Also, it may require a small amount of time to execute.
Many companies have adopted continuous improvement techniques as a standard by which they execute all projects and work. Continuous improvement helps companies to save money while identifying inefficiencies in project teams. This follows many layers of management teams whose motions equate to money. Whether or not a company chooses continuous improvement as part of its everyday culture depends on organizational affinity to the potential cost savings.
Continuous improvement tools and techniques
There are various tools and techniques are available in the market for assessing continuous improvement. Here I have mentioned the 6 most popular continuous improvements tools and techniques:
Kanban: Helps to visualize, optimize, and manage workflows.
A3: Provides vision and structure to improvements on a big scale.
PDCA (Plan-Do-Check-Act) Cycle: Systematically tests hypotheses.
Gemba walks: Helps to keep front-line workers and leaders on the same page.
5 Whys: Encourages effective problem solving and inquisitive thinking
Value Stream Mapping: Helps organizations to focus on structuring processes around customer needs.