DevOps teams work in an everchanging world where the common expectation is that quality and speed improve. They constantly need to improve their way of working and adapt to changed circumstances.
Change happens when the pain of staying the same is greater than the pain of change.
– Tony Robbins
Continuously improving delivery processes is not a new approach. Lean manufacturing and the Japanese manufacturing approach called Kaizen have been applied to improving factory processes for decades. Continuous improvement is advocated by all agile approaches. DevOps does not deviate from this. As everything in DevOps, executing continuous improvement is a whole-team responsibility and works best in a sustainable continuous improvement culture.
In this section, we will describe how to establish a continuous improvement culture and how you could continuously improve the application, the DevOps activities and the skills of the people involved.
This in alignment with our DevOps "built-in quality" vision:
- Create quality awareness in all people involved.
- Integrate QA & Testing activities in all DevOps activities.
- "Integrate" QA & Testing activities in all people involved.
How to establish a continuous improvement culture
Developing a sustainable continuous improvement culture requires careful attention. Consider, among other things, the following:
- Supportive and engaged leadership
Leadership must be committed to the changes. They need to be supportive, open and willing to consider every single suggestion. They also need to make sure the team members feel safe and unthreatened when they share their suggestions.
Work on a culture to influence the quality mindset. When the culture of the team, project or organization shows a quality mindset, it is easier to create a continuous improvement mindset. This should be supported top-down and bottom-up. When there is a negative culture in the organization in relation to changes, the continuous improvement mindset will be hard to realize.
- Engaged and empowered team members
If team members feel that they are empowered and engaged, they are more willing to provide improvement suggestions, which is important because direct input from those who work on it and know what type of things will really make a difference in daily work is extremely valuable.
Be consistent in the chosen improvement suggestions, so that the focus remains on these suggestions.
- Continuous suggestion sharing
Team members should constantly and at any time have the opportunity to provide improvement suggestions.
- Enabling technology
The team needs to have an easy to use and accessible toolset that supports the work.
- Transparency (visible management)
The progress and the achievements in the implementation of the improvement suggestions should be visible to team members and stakeholders. Make sure you have the correct administration tools to register suggestions, changes, anomalies, relations, progress etc. to make reports and show/print them on a frequent base. Make these reports visible in the project room (not only Kanban boards).
- Keep it simple
To ensure that everyone remains involved in the improvement process, this process must be kept as simple as possible.
- Continuous feedback
Ensure that the progress of the various improvement suggestions is discussed on a regular basis so that the entire team feels that what they are doing is seen and appreciated.
What do we need to improve continuously?
Continuous improvement is about iterative improvements to the day-to-day efforts to improve the application, process and the skills of people. The following three perspectives are explained in more detail in the following sections and an improvement approach is also provided for each perspective:
- Product - Quality of the application (GQM)
- Process - DevOps QA & Testing activities (QAM)
- People - QA & Testing skills of people (QPM)
Improvement of the application being delivered
The improvement of the application being delivered is strongly related to the metrics as defined in Metrics. You could use the GQM approach to identify Goals, Questions and Metrics.
Improvement of the DevOps QA & Testing activities
testing activities are executed by the whole team. In this situation, let's take the DevOps activities as the starting point for improvement.
Improvement of the QA & Testing skills of people
Instead of taking the activities, process, framework, etc. as the starting point for improvement, you can also take people as the starting point.
If you do not want to use one of these approaches, you can also use the – always applicable – Deming cycle.
William Edwards Deming provided a simple yet highly effective technique that serves as a practical tool to carry out continuous improvement in the workplace. This technique is called Plan, Do, Check and Act (PDCA) cycle or often called Deming cycle. The Deming cycle provides a conceptual as well as practical framework while carrying out Kaizen activities by the employees. The four steps Plan, Do, Check and Act should be repeated over time to ensure continuous learning and improvements.
- Plan stage
This stage involves analyzing the current situation, gathering data, and developing ways to make improvements.
- Do stage
This stage involves testing alternatives in a testing environment establishing a pilot process, or experimenting with small number of people.
- Check stage
This stage requires determining whether the trial or process is working as intended, whether any revisions are needed, or whether this should be scrapped.
- Act stage
This stage focuses on implementing the process within the organization or with its customers and suppliers.
Once all these stages are completed to the fullest satisfaction, the improvement is standardized. But the cycle doesn't stop here. With changing circumstances this standardized improvement is again subjected to further improvement, repeating the Deming cycle again and again.