Built-in quality is a core pillar in agile. However, if we want to build in quality at scale, we need to look at the whole development life cycle. Quality awareness needs to be increased at multiple layers of the organization; agile coaches can help by boosting quality thinking by embracing an agile way of working.
Derk-Jan de Grood, an agile coach and test manager, will share how building in quality is a multi-level challenge and what agile coaches can do about it at Aginext 2021. This conference will be held online from March 17-19, 2021.
According to De Grood, there are many development practices that have become standard. Looking at how many of these are actually embraced, he has noticed that some teams are not quite up to speed. How many teams have a CI/CD pipeline, how many teams still rely on manual testing?
At Aginext, De Grood will talk about the challenges that organizations face when they try to build in quality at scale:
Typically teams are very busy, although agile is meant to be a pull mechanism and teams should therefore never be overloaded. In practice, there is a lot of pressure from the business. And while struggling with legacy and inter-team dependencies, there is little time to innovate and automate the development process. We need to create a quality awareness and put Built-in Quality (BIQ) on the agenda.
Increasing quality awareness is a mind-set thing, according to De Grood. The agile principles already talk about continuous attention to technical excellence. That relates to having your quality feedback loops in place and means that you spend time on training and helping the teams to automate their development process and embrace these development practises.
According to De Grood, there is more to it; although team practices are key, we need to look at the whole development life cycle. By designing feedback loops we can eliminate waste, detect errors more early, and increase quality awareness at multiple layers of the organisation.
InfoQ interviewed Derk-Jan de Grood about building in quality.
InfoQ: How do agile frameworks address building in quality?
Derk-Jan de Grood: Built-in Quality is a core pillar in agile. If you take Scrum for instance, the team should deliver potentially shippable products. These done increments are to be of sufficient quality. We like to say that quality is built in the product.
When working with multiple teams on one product or service, we can apply a scaling agile framework. There are a few scaling agile frameworks, e.g. LeSS, Nexus and SAFe. The latter is most prescriptive, so I like to look at SAFe to answer this question. SAFe states BIQ to be one of its fundamental pillars and advises a few practises: Think test first, automate your tests, have a regression test strategy, set up CI/CD pipelines and embed quality in the development process.
The other frameworks are less explicit but expect you to do good Scrum, so with that, they embrace all these development practices as well.
InfoQ: How can we incorporate quality in every step of the development cycle?
De Grood: While researching for my new book, I stumbled upon a nice presentation on BIQ Maturity in manufacturing. In my presentation on Agilenext I will show how I translated the idea to system development.
Within Lean there is something called "stop the line". This where workers can pull the andon-cord that in fact stops the whole production line. When they detect an error or flaw in the product they stop to investigate and eliminate its root cause. I like to translate this idea towards software development.
The scaling frameworks seem to focus on team practises a lot, I think we could look at other parts of the software development life cycle (SDLC) as well. We can identify moments in the process where we can detect flaws and have a mature discussion about how we can detect them and when to stop the line.
Having this discussion will elevate quality awareness. Doing this for steps early in your SDLC will result in a higher level of BIQ Maturity and help other people than the team members to take ownership of the quality as well.
InfoQ: What can agile coaches do to boost quality thinking?
De Grood: Agile coaches help teams and organisations to embrace the agile way of working. I think agile coaching evolves into three roles: the agile counsellor, the delivery coach, and the team coach.
The team coach typically helps the team with understanding the agile principles and mindset. In this role, the coach can create awareness at the team level for the typical development practices I talked about earlier.
The delivery coach aims to increase the flow of development by indicating bottlenecks in the SDLC, helping the teams with setting up e.g. the pipeline and introducing metrics to measure the quality of the development process. This will help the organisation to become aware of possible improvements and set an ambition.
The agile counsellor does leadership coaching and can put built-in quality on the management table. So agile coaches are able to address built-in quality at various levels and gain traction for improving its maturity.
InfoQ: How has the adoption of agile in organizations around the world impacted software quality?
De Grood: The 14th state of agile report that was released last year states that agile helps to manage changing priorities, helps to align business and IT and speed up delivery. Agile organisations were able to respond to the Covid situation and adapt.
It is stated that being agile helped to continue the work although the setting changed. I worked with organisations that concluded that agile helped to do twice the amount of work with the same people. But this doesn’t say anything about the quality, of course.
If you look at the benefits of agile, in the 14th state of agile report, better software quality is listed at a mere 10th place. So I think we need to put built-in quality in the spotlight. We should do this at the team level by emphasizing the value of the practices and involve the people at various levels in the SDLC to improve the BIQ maturity like we discussed. Finally, we need to address it at the leadership level so they support the initiatives needed to make it work.