Practical Approach for Improving Agile Testing Maturity – Part 1Cigniti Technologies
Listen on the go!
Today, a lot of software is being developed (and tested) in increasingly Agile environments for accelerating the product delivery with uncompromised quality and ability to manage the ever-changing priorities. Boundaries between diverse functions are shrinking and roles and responsibilities are undergoing a big shift. Organizations aspiring to be competitive still find it challenging to adapt to these changes. It is only with an increased level of understanding about Agile testing, its impact, and its methodologies, that the Agile practice attains a level of maturity and acceptance, that organizations will be able to grow and expand.
The number of organizations embracing Agile methods has been steadily increasing even though there are a number of obstacles. However, the good news is that more and more organizations are becoming confident and show growing levels of maturity in applying Agile testing processes.
What is Agile Testing?
Agile testing, per Wiki, “is a software testing practice that follows the principles of agile software development.” It involves cross-functional agile teams whose members are usually testing experts responsible for delivering the required business value at frequent intervals.
A few challenges in Agile Testing:
- Lack of comprehensive testing approaches that may fit with existing agile environments
- Applying test automation to agile projects poses another challenge
- Improper identification of the focus areas of focus
- Unavailability of testing tools for creation of reusable test sets
- Unavailability of skilled agile testing expertise
What is Agile Testing Maturity?
Agile Testing Maturity refers to the level at which an organization has implemented the best practices using Agile Principles and models like SCRUM, SAFe. However, a practical approach to improve the maturity level is to follow a model like CMMI or TMMI which provides a staged approach for improving the maturity.The Agile testing maturity model (ATMM) acts as a Team related maturity model that helps you measure the current levels of Agile maturity.
5 Steps to Improve Your Agile Test Maturity
- Discover and Document
- Analyze and Benchmark
- Develop a Roadmap
- Transformation Approach
- Continuous Process Improvement
We will cover the first two steps – Discover and Document & Analyze and Benchmark in this blog. The remaining steps will be covered in the next blog.
Discover and Document
Based on the goals and objectives of your organization, use this step to clearly define where you want to go. Use customized questionnaires and inventory templates to capture the AS-IS state of the Agile maturity in your organization and document your goals, constraints, timelines, risks, and the key focus areas.
Analyze and Benchmark
The best way to go about improving the Agile maturity of an organization is to know exactly where you stand. Using this as the starting point, assess where you are in terms of the existing implemented processes and People, Test Automation & Performance, and Tools, Environment, and Test Data practices around agile implementation. Develop an end-to-end Agile Test Assessment Framework using models like TMMI, TPI, Agile, DevOps and ITIL, and prioritize key focus areas per their maturity levels and benchmark them against industry.
The following sample image depicts the various components involved in providing Agile Test Maturity to an organization:
The components are described below.
People form the backbone of any system that aspires to become huge. Agile values and principles strongly voice them. Hence, cross-functional skills, motivation levels, learning appetite of the resources becomes critical success factors within organization. Agile testing also in similar lines needs people who are competent, skilled and versatile in testing various platforms.
Following are some commonly found stages of agile team formations:
- Forming: At this level, the Team starts to perform as an Agile team with roles and responsibilities fully understood.
- Agile Bonding: At this level, the Agile team starts getting accustomed to the new rules and starts to work in tandem as a well-knit team.
- Performing: At this level, the team is a fully-functional Agile team that has understood the concept of Agile and SCRUM.
- Scaling: At this level, the Agile Team is mature enough to develop its own methods of working based on continuous improvement.
This covers the multiple processes that support and complement collocated and geographically distributed teams. A set of customizable practices and lean processes need to be implemented in the projects for producing quality products with accelerated delivery.
Agile Project Management Tools, Test Environment, and Test Data
These crucial set of elements need special attention. Agile Project Management Tools such as Atlassian – Jira, Microsoft-TFS, Rally, and Version One go a long way in helping organizations improve their Agile Testing Maturity. Using these tools, geographically distributed teams can access real-time updates, thereby improving the transparency and information. Continuous integration and continuous deployment also increases the rate of feedback and provides space to teams to react and fix the issues/bugs instantly. Testing teams should be provided with agile test environments that closely resemble the production environment. This instils better confidence with regards to product performance and delivery in the real time scenario. Today a lot of licensed and open-source test environment provisioning tools help teams to have test environments set up with a push button, saving a lot of time and effort. Similarly, automation is being used for test data management wherever possible to cater to the needs of testing, thereby reducing manual intervention and ensuring accuracy and timeliness for test data provisioning.
Test Automation & Performance
While delivering products at sheer speed, the delivery pipeline needs to be robust and flexible enough to meet the continuous demand without compromising on the quality of the product. There exists an opportunity with modern set of IT tools for organizations to automate certain amount of manual tasks. This results in reduced manual efforts due to the improvements the in terms of testing the products performance. Automation strategy for testing helps expedite the process of delivery and quality checks with minimum effort and maximized ROI. Test Automation framework is the key factor to get beneficial out of test automation.
Amature Agile Testing approach adds a lot of positive business benefits such as reduced time to go-to-market with a product showcasing the complete understanding of the customers’ requirements, helps teams to feel appreciated and valued which makes them want to contribute further and add more value to the organization.
Read on for the remaining steps – Develop a Roadmap, Transformation Approach, and Continuous Improvement – that will be covered in the next blog.
If you are a large organization trying to implement an Agile test automation strategy, contact Cigniti’s team of test automation experts. Our tool agnostic test automation framework consists of a huge library of keywords that help you build your tests quickly and efficiently, and seamlessly integrate with leading commercial and open source tools.
|About the Author: Pavan Rayaprolu is a Lead Consultant and an Agile evangelist. He is part of the Advisory and Transformation Services and has helped clients of Cigniti in terms of agile implementation and transformation. Has successfully deployed the Quality Culture through the organization, Process consulting for various clients and endeavored for Operational Excellence. He is a Certified Scrum Master and Scaled Agile Certified Product Manager/Product Owner.|