In this post, I’m going to introduce the Test Maturity Model Integration (TMMi) and Test Process Improvement (TPI), and explain how you can take advantage of these techniques to dramatically improve your Testing practices and performance.
From time immemorial, individuals, teams and organisations have striven to improve the processes that support their software development practices. The IT industry is now a long-established and settled one, and is generally held accountable for high quality standards. The stakeholders that demand constant improvements in IT practices are many – customers, investors, regulators, employees, competitors.
A few words about CMMi
In response to the growing demand for quality, the Capability Maturity Model (CMM) and then the Capability Maturity Model Integration (CMMi) have successively sought to regulate software development practices and help IT organisations achieve higher standards of quality and productivity. Over the past three decades, CMMI adoption and certification has gradually become one of the cornerstones for a mature organisation, and is considered an industry standard and a must have.
Focus (or lack of) on Testing Processes
Through it all, the primary focus of all IT process improvements have been – you guessed it – planning and development. CMMI attempts to cover all stages of the software development life cycle – however, it is mainly employed to mature development practices.
Although Testing constitutes about 30% to 40% of all project effort, there hasn’t been a dedicated effort at improving Testing processes specifically.
Enter TPI and the TMMI foundation. They wanted to change all that. They wanted to bring razor focus on Testing and Testing process maturity.
With the Test Maturity Model Integration (TMMi) (link opens PDF file), the TMMI foundation has put forth a set of processes and practices that apply a single minded focus to improve Testing processes in your organisation.
TMMi is considered a complementary practice to CMMi. It can also work by itself to help move the needle forward for your Testing practices. TMMi sets specific maturity levels, and guidelines for moving up through each level.
Test Process Improvement (TPI) (link opens PDF file) defines three dimensions – Key Areas, Cornerstones and Maturity levels – that an organisation can use to identify current and target maturity models. The Test Maturity Matrix then provides an additional layer of support in breaking down individual steps to help you get to your Target Maturity level.
With that, let’s take a look at how TMMi and TPI can help mature your Testing organisation.
Step 1: Identify your current testing maturity level
Before you begin, it is important to understand where your organisation stands right now with Test Maturity. With TMMi, you and your team need to review the defined Maturity levels and identify the level that most accurately represents the current Testing practices in your organisation.
Are your testing processes proactive or reactive? Do you, for instance, have a defined mechanism for triaging defects, or do you wait until there are more defects than can be fixed before even thinking about prioritising the most pressing bugs that need fixing immediately as opposed to those that can wait till the next release?
For most of us, this is an extreme example.
Guidelines for Defect prioritisation probably already exist. High, Medium, Low, Priority and Severity are all probably part of your Testing vocabulary. However, Triage practices may not be a given across the board.
While awareness of Triaging processes and practices exists, this practice is common only in organisations at Level 3 or above. Within TPI, Defect Management will fall within the ‘Efficient’ scale when Defect Triage is adopted as a standard in your organisation.
Therefore, know your Test maturity level. This will help you understand exactly how much you need to do to get to your destination.
Step 2: Define Target Testing Maturity Level
Where do you want your team to be? Controlled, Efficient or Optimizing? Defined or Measured?
When do you want your Testing processes to get there: in 3 months, in 6 months, in a year (hopefully not that long)?
Why do you want your Testing processes to be there? Are you trying to attract IT projects from Fortune 500 clients who have specific quality standards that vendors must meet? Is your regulator asking you to tighten Testing controls to ensure no major bugs are allowed to get close to the customer?
Therefore, knowing why you want to get to a certain maturity level, and when, will help adjust your sights accurately.
Although you have to be cautious about impractical expectations: Do you really need to be at Optimizing level for Test tooling, or can you leave it at Efficient and focus on getting to Optimizing for Defects Management instead? TPI, in this way, provides you an adjustable multi-dimensional scale that allows you to visualize which areas your Testing practices need to be more mature in, and where you can make do with less than perfect.
Step 3: Break down the steps to get there
Of course, aim for the sky. You should always strive to be the best you can be.
However, like every successful athlete will tell you, break your goals down into individual, bite sized chunks. You need to walk before you can run. You need to run a 5k race before targeting a 10k. You need improve your 10k race times before you can go further. And you need to stretch before and after your run.
When you know the exact 39 steps you need to get to your goal, it becomes far easier to visualise and follow through.
Whether you adopt CMMi, TMMi or TPI, there is a commonality to all these approaches to process improvement: You can only go one level up when you fulfil all requirements for passing the current level. That is, you can only go for TMMi level 3 if you have fulfilled criteria for levels 1 and 2 completely. Extending that further to TPI, you can only move to Level C (Optimizing) for Defect Management if you have fulfilled all requirements for Levels A and B.
Step 4: Review, feedback, rinse, repeat
The hallmark of an organisation at the Optimizing level in any TPI key area, is that there is constant evaluation, feedback and measurable action outcomes resulting in further improvements. Irrespective of your certified Test Maturity level, the Review-Feedback-Optimize loop should be embedded in the ethos of your organisation.
Bringing it all together
Adopting TMMi or TPI to improve Testing practices will bring multifold benefits to your team.
As we have seen, by upping your Test Maturity, you can directly positively influence other phases of an IT project – including development and planning. TMMi or TPI will complement efforts in other parts of your IT organisation to improve overall project efficiency, resulting in a win-win situation for everyone.
Just be mindful to assess your current Test Maturity levels, and rationalise your target Test Maturity levels. Overreaching will only upset balance.
Do you have experience of implementing Test Maturity models like TMMi or TPI in your organisation? What recommendations do you have for others that are starting out with this effort? Share your comments below.