Steve Isbell talks about Quality Engineering and our overall approach at BGL Tech.
Delivering software change right first time is a given. Throughout my career, this has been something my teams have tried to achieve regardless of the scale and complexity of the technology systems we’ve worked with. At BGL Tech, our approach to quality is no different. Our teams strive to deliver the highest quality software whilst delivering great customer outcomes at every release. This isn’t easy, so what is our approach?
Often companies look to testers to ensure quality. They have a team (or teams) of testers which execute a variety of test scenarios to validate the system under different conditions. In my experience, this approach works up to a point; however, quality is much harder to ‘test in’ once a system change has been developed. At BGL Tech, our approach is very different. So what is quality engineering to us?
Firstly, our principles:
- Quality is everyone’s responsibility. Every single person across all of our Delivery teams is focused on the quality of the delivery, not just delivering a change to the requirements on time
- Anyone can call out if the quality isn’t right and their voice will be heard
- Teams own their change through to live and are accountable for fixing issues that arise from their change
- We are value-driven and focus on customer outcomes. Milan Juza talks about our values driven approach in his blog on Business Agility at BGL
Next, our working practices:
- Collaboration: This comes in various forms, but in its simplest, everyone in a Delivery team works together to understand the business need. They then define, create and test the solution together, checking in with the change owner throughout the process to ensure the delivery meets the business need
- Agility: We have an agile maturity framework which defines what agile means to us. We then use it to continuously improve while keeping consistency across our many Delivery teams
- Engineering: Technical excellence is fundamental to our software delivery, so we have common approaches for all elements of design and build in order to be sure the solution is appropriate and isn’t introducing unnecessary complexity or technical debt into our systems
- Assurance: We have design and quality assurance practices for all change, so expertise across our teams can be utilised and quality is ‘baked’ in early
Last, but not least, is our Quality Engineer role. In recent years, BGL has moved from the model I spoke about earlier, where testers would work together to test system changes once they had been developed, to a model where testing is executed throughout the delivery cycle by everyone and anyone in the team. This process is supported by our quality engineering community of approximately 40 highly skilled people, who champion quality and shape testing in each of our teams. They play a critical role, which includes:
- Driving the ‘test first’ approach for all change
- Actively engaging in all agile ceremonies
- Questioning and challenging to drive clear stories and requirements
- Helping the team design and execute exploratory and automated tests
- Collaborating with the team to understand and mitigate risk
- Helping the team continuously improve through continuous learning
The adoption of this role has really helped to drive forward our agile ways of working, whilst giving people room and direction to learn, develop and grow.
Software delivery continues to throw up challenges, especially as technology continues to change and customer demands increase. That being said, I’m confident that with our ways of working and our quality engineering practices, we are in a great position to continue to deliver fantastic technology solutions to our customers every day and I’m proud to be part of this at BGL.