Test Process Improvement using TMM(i)

Similar documents
Guidelines for Testing Maturity

Test Maturity Model Integration (TMMi) Process Improvement for the Present and the Future

2017 Improve IT Services BV 1

Software Test Process Assessment Methodology

Introduction to the Testing Maturity Model Enhanced TM (TMMe)

Risk-Based Testing for Agile Projects

Practical Process Improvement: the Journey and Benefits

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study

Improving the Test Process with TMMi

This chapter illustrates the evolutionary differences between

Certified Tester. Expert Level. Modules Overview

PART 1: INTRODUCTION. Purpose of the BIZBOK Guide. What is Business Architecture?

Result Driven Testing. Changing the test policy at Rabobank International

On various testing topics: Integration, large systems, shifting to left, current test ideas, DevOps

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

Exam questions- examples

0 Introduction Test strategy A Test Strategy for single high-level test B Combined testing strategy for high-level tests...

How I Learned to Stop Worrying and Love Benchmarking Functional Verification!

Standard Glossary of Terms used in Software Testing. Version 3.2. Expert Improving the Test Process Terms

A Practitioner s Recommendations for a Successful IAM Program

Defining Requirements

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

SWEN 256 Software Process & Project Management

IN COMPLEX PROCESS APPLICATION DEVELOPMENT

Chapter 26 Process improvement

Process Improvement. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 1

Capability Maturity Model the most extensively used model in the software establishments

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Test Management: Part I. Software Testing: INF3121 / INF4121

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Getting more from your Legal Spend - the emerging trends and best practices

POSITION DETAILS. ORGANOGRAM (Adjust as necessary. Include line manager, line manager s manager, all subordinates and colleagues. Include job grades)

Implementing an Agile Transformation Using Discipline Agile Delivery Michael J Lyons World Wide Solution Deployment Architect, IBM Rational

DORNERWORKS QUALITY SYSTEM

How mature is my test organization: STDM, an assessment tool

Chapter 6. Software Quality Management & Estimation

CMMI GLOSSARY A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Introduction to Software Engineering

Testing. CxOne Standard

What We Know Now: A Look into Lessons Learned Implementing Federal Financial Systems Projects

TESTING PROCESS OVERVIEW EXPLORATION FOR A SOFTWARE PRODUCT IN A LARGE SOFTWARE DEVELOPMENT PROJECT

Establishing Free and Open Source Software Compliance Programs: Challenges and Solutions. By Ibrahim Haddad, Ph.D.

Capability Maturity Model

PART 1: INTRODUCTION. Purpose of the BIZBOK Guide. What is Business Architecture?

Market Research Report Attitudes to Software Test Automation

Helping Your Online Community Succeed

Introduction and Key Concepts Study Group Session 1

Improving Agile Execution in the Federal Government

Book Outline. Software Testing and Analysis: Process, Principles, and Techniques

Before You Start Modelling

Introduction to Software Testing

7. Model based software architecture

CMMI SM Model Measurement and Analysis

KPMG Accelerated Testing

COPYRIGHTED MATERIAL WHAT S IN THIS CHAPTER?

R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

How Testers Can Serve Stake-holders: experiences at large multinationals

What We Know Now: Lessons Learned Implementing Federal Financial Systems Projects

Benchmarking Functional Verification by Mike Bartley and Mike Benjamin, Test and Verification Solutions

ISTQB-Level1 ASTQB. American Software Testing Qualifications Board Level 1

Tailoring Scope by Project

CMM and CMMI : Show Me the Value!

An IT Managers Guidebook to Implementing ITIL

Product Documentation SAP Business ByDesign February Business Configuration

Analysing client requirements

The XBOSoft 2012 Scrum Testing Survey

STANDARD ON INTERNAL AUDIT (SIA) 7 QUALITY ASSURANCE IN INTERNAL AUDIT *

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

A Measurement Approach Integrating ISO 15939, CMMI and the ISBSG

Seminar 06 Chapter 5 - Part 1

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Large Federal Agency Leverages IV&V to Achieve Quality Delivery for Critical Modernization Initiative

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

Approach to Technology Architecture

Contents About This Guide... 5 Upgrade Overview... 5 Examining Your Upgrade Criteria... 7 Upgrade Best Practices... 8

Software Test Factory (A proposal of a process model to create a Test Factory)

Training where is the dividend?

CMMI for Services. Gordon Ward Director Of Quality & R6s Raytheon RIS Juan Ceva, Mark Pumar, Enterprise Process Group Raytheon

DECISIONS. (Text with EEA relevance) Having regard to the Treaty on the Functioning of the European Union, and in particular Article 149 thereof,

B.Sc.(I.T.) Sem VI Software Project Management Solution Set, April 2017

E-PROCUREMENT OPERATIONS

Trends in Change Management for 2018

Mapping of Fusion Process Model onto ISO/IEC 12207:2008

5 DIMENSIONS OF CHANGE MANAGEMENT AND PROJECT MANAGEMENT INTEGRATION

Getting from Here (SW-CMM) to There (CMMI) in a Large Organization

Measuring software product quality during testing

Architecture for Enterprise Process Improvement

At the Heart of Assured Quality Management

Getting from Here (SW-CMM) to There (CMMI) in a Large Organization

Mastering CBAP V3. Adaptive Processes Consulting

Software Quality Assurance and Testing STUDY NOTES

Digital Industries Apprenticeship: Occupational Brief. Software Tester. March 2016

18-642: Software Development Processes

Business Events as a focal point of analysis

IIBA, BABOK, CBAP are registered Trademarks of International. All trademarks of copyrights mentioned herein are the possession

Addressing the challenges of Performance Management. part of our We think series

Crown Connectivity Series. Changing Metrics and Mindsets in the Warehouse Part Three: Four Keys to Unlocking Value from Forklift Connectivity

Defining the essential terms in testing Jokinen Tauno & Määttä Juha University of Oulu

IRM s Professional Standards in Risk Management PART 1 Consultation: Functional Standards

Transcription:

Test Process Improvement using TMM(i) Erik van Veenendaal, Richard Grooff and Rob Hendriks Improve Quality Services BV Introduction More and more organisation are trying to improve their software development processes. The reference improvement model that is most often used is the Capability Maturity Model Integration (CMMI). In this model process areas related to testing, verification and validation, are described. but the level of detail is limited, especially from the viewpoint of the test professional. To fill in this gap the Test Maturity Model (TMM) has been developed, which has recently been succeeded by the Test Maturity Model Integration (TMMi) [www.tmmifoundation.org]. These test models provide a structured approach for improvement of the test process. Within Europe more and more companies are becoming maturing using the TMM. Consultants of Improve Quality Services have been involved in various improvement projects and share their experiences with the TMM(i) in this paper. Practical recommendations are given for the execution of test improvement projects according TMM(i). The TMMi framework has been developed by the TMMi Foundation as a guideline for test process improvement and is positioned as a complementary model to the CMMI addressing those issues important to test managers, test engineers, test specialists, and software quality professionals. Testing as defined in the TMMi is applied in its broadest sense to encompass all software quality-related activities. Testing: The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects. [ISTQB Glossary] Just like the CMMI staged representation, the TMMi also uses the concept of maturity levels for process evaluation and improvement. Furthermore process areas, goals and key practices are identified. Applying the TMMi maturity criteria will improve the testing process and have a positive impact on product quality, test engineering productivity, and cycle-time effort. The TMMi has been developed to support software organizations at evaluating and improving their test process. Within the TMMi, testing evolves from a chaotic, ill-defined process with a lack of resources, tools and well-educated testers to a mature and controlled process that has defect prevention as its main objective. Practical experiences are positive and show that TMMi supports the process of establishing a more effective and efficient test process. Testing becomes a profession and a fully integrated part of the software development process. As stated the focus of testing changes from defect detection to defect prevention. Pagina 1 van 7

Overview of the TMMi maturity levels TMMi has a staged architecture for process improvement. It contains stages or levels through which an organization passes as its testing process evolves from one that is adhoc and unmanaged, to one that is managed, defined, measured, and optimized. Achieving each stage ensures that an adequate improvement has been laid as a foundation for the next stage. The internal structure of the TMMi is rich in testing practices that can be learned and applied in a systematic way to support a quality testing process that improves in incremental steps. There are five levels in the TMMi that prescribe a maturity hierarchy and an evolutionary path to test process improvement. Experience has (5) Optimisation Defect Prevention Test Process Optimisation Quality Control (4) Management and Measurement Test Measurement Software Quality Evaluation Advanced Peer Reviews ( (3) Integration Test Organisation Test Training Program Test Life Cycle and Integration Non-Functional Testing Peer Reviews (1) Initial (2) Managed Test Policy and Strategy Test Planning Test Monitoring and Control Test Design and Execution Test Environment Figure 1: TMMi maturity levels and process areas Pagina 2 van 7

shown that organizations do their best when they focus their test improvement process efforts on a manageable number of process areas at a time, and that those areas require increasing sophistication as the organization improves. Because each maturity level forms a necessary foundation for the next level, trying to skip a maturity level is usually counterproductive. At the same time, you must recognize that test process improvement efforts should focus on the needs of the organization in the context of its business environment and the process areas at higher maturity levels may address the current needs of an organization or project. For example, organizations seeking to move from maturity level 1 to maturity level 2 are frequently encouraged to establish a test group, which is addressed by the Test Organization process area that resides are maturity level 3. Although the test group is not a necessary characteristic of a TMMi level 2 organization, it can be a useful part of the organization s approach to achieve TMMi maturity level 2. The process areas for each maturity level of the TMMi are shown in figure 1. Note that the TMMi does not have a specific process area dedicated to test tools and test automation. Within TMMi test tools are treated as a supporting resource (practices) and are therefore part of the process area where they provide support, e.g. applying a test design tool is a supporting test practice within the process area Test Design and Execution at TMMi level 2 and applying a performance testing is tool is a supporting test practice within the process area Non-Functional Testing at TMMi level 3. Recommendations In using the TMM(i) model during practical test process improvement, it has shown to have great value. It is not just a theoretical model, but a well-founded set of process areas and goals. We have also found that although the model is quite easy to understand, implementing it in an organisation and thereby improving the test process is not always a straightforward task. On averages it take approximately two years to achieve TMM(i) level 2. To support organisation doing test process improvement, based on our practical experiences, a number of recommendations are provided. Not so much on the model itself, but more focused towards the test process improvement project. Some may seem obvious but we have seen quite a few test improvement projects fail due to these reasons. We strongly suggest one takes these recommendations seriously, since we have seen them being a major contributor towards succes in a test process improvement project. For convenience the recommendations are split into four categories: - Organisation of the improvement project - Documentation structure - Metrics and measurements - Miscellaneous Organization of the improvement project Determine the goal It is desirable to clearly define the goals of the improvement project. Within the TMMi the process area Test policy and strategy requires that an organization defines a test policy, which states the organization s view on testing. It answers questions like Why do we test? ; How important is quality? ; Are we time-driven or quality-driven?. The Pagina 3 van 7

answers to these questions provide an understanding of management s view on testing and their commitment with respect to quality and testing. Determine the current status and best practices Before starting an improvement project it is necessary to know which maturity level the test processes have. Therefore the current situation has to be assessed. It then becomes clear which information and procedures are already available, but especially what needs to be improved. In addition to the status with respect to the TMMi process areas it is useful to collect best practices. Some projects act better on specific areas than other projects. In this way projects can learn from each other. Communication At the start of an improvement project a communication plan should be written, in which it is indicated who should be addressed, what information should be sent out and which communication mechanism will be used. Show what you are doing! The test policy is a good means to communicate about the improvement project on a management level. Other examples are company newsletters or presentations in a departmental meeting. A useful tool for setting up a communication plan is a mind-map. This graphical presentation provides a clear overview of the cohesion between the various messages and their target audience. Budget To enable people to contribute to the improvement project they should have a budget. Only then project can free resources. To have progress it is recommended that people have at least a day per week to spend on the improvements. If less time is reserved it will result in most time being spend on meetings to keep up-to-date. Freeing sufficient time enables making progress and gives focus. Therefore it is more likely that results are delivered in time. Process ownership External consultants can provide a very positive contribution to an improvement project because of their knowledge and practical experiences (with TMMi). Furthermore they are often dedicated to the improvement project and have no involvement in operational projects. They can therefore be the stimulator to process improvement with respect to progress. The improvements should also be embedded in the organization. It should be prevented that improvements collapse as soon as the external consultant leaves the organization. It s therefore highly recommended to make internal staffing the owner of the test process improvements project and test processes instead of external consultants. Besides embedding improvements this approach will also increase their involvement. Create stakeholders involvement Test projects in which the changed processes will be experimented and/or deployed should be involved in the planning process of the improvement project and have to provide input to the improvement plan. Besides the involved test projects other stakeholders should be planned for, especially for TMMi process areas that involve other disciplines or departments, like Test environment (at TMMi level 2), Technical training programme and Test life cycle and integration (both at TMMi level 3). During Pagina 4 van 7

the discussions on new procedures and templates they have to be involved, as well as during the reviews. Also management should be explicitly involved by providing management commitment and assigning a management sponsor, as otherwise the improvement project is doomed to fail. The maturity of the development processes It is important to not only look at test processes, but also involve the processes from which testing is highly dependent. Without a mature environment improving the test process is very difficult or sometimes even impossible. Especially one should be looking at processes such as project planning, configuration management and requirements management. Without a decent project planning it is difficult to set up a thorough test planning, due to the many dependencies that exist. For applying test design techniques it is essential to have a set of unambiguous requirements. Also changes in the requirements should be well managed and the test team should be notified. Finally not having a configuration management system often results in defects not being reproducible and defects reoccurring that were supposed to be solved. These types of problems can t be solved within the test process itself, but are often to be solved in the surrounding processes. Documentation structure Transparent document structure In an early phase of the improvement project a document overview should be established. All members and stakeholders of the improvement project must easily understand the document structure. A simple format is creating a table with the required processes, descriptions or procedures per process area supported by a high level graphical presentation. Make use of documents, templates, etc. that are already available to fill in the structure as soon as possible. The remaining pieces will follow during the improvement project. Availability of process artifacts Documents, both procedures and templates, should be easily accessible for all test staff and other stakeholders. For that purpose an intranet page could be used, with, as a starting point, the complete document structure of the test process. From that structure all latest versions of procedures and templates can be accessed and downloaded. Metrics and measurements Within TMM level 2 a start is made on measuring the test process. At the TMMi collecting improvement data has, in line with CMMI, been moved up to level 3. (At the TMM is was situated at level 2). However, measurement on goal related performance indicators is still at level 2. Small number of key metrics only Often a (too) large number of metrics is defined when measuring on the test process. Within that set sometimes no cohesion can be found and (project) management drowns Pagina 5 van 7

in the data provided. A very useful method to define a measurement programme, and therefore metrics, is the Goal-Question-Metric (GQM) method. Important is to define the goal of the measurement, what exactly is going to be measured, and how the data will be collected and analysed. Within TMMi it is required to have a limited number of metrics per process area that either addresses the efficiency, effectiveness or degree of deployment of the process. Keep metrics as simple as possible! Provide feedback Collecting metrics should be made as easy as possible for both persons providing measurement as for persons analysing and using the data. Where possible tools should be used. When people that collect the data are not informed on how the data is used they tend to loose their interest, as they don t see the advantages. It s therefore a must to organize feedback sessions, on a regular basis, for people that collect and use the measurement data. Also other stakeholders may be interested. People then see that the data is actually being used and can provided constructive input for further analysis. Miscellaneous Existing procedures Within a test organization attempts to structure the test process often haven been made before. Writing a procedure is often easy, but deployment of a procedure to the various test groups is much more difficult. It is useful to investigate why the current set of procedures are not being followed before starting to focus on the deployment again. Solving the root cause of the previous failures enlarges the chance on success for the new deployment. Of course change should not be a goal on its own. One shall make use of the existing processes as much as possible. Only when it s clear why current processes are not being followed it is necessary to change them where needed. Furthermore it is needed to check the procedures on their compliance to the TMMi requirements in detail and early in the improvement project to prevent surprises at a later stage. Other improvement initiatives Beware of the yet, another initiative syndrome. Within organizations other improvement initiatives can be on-going, e.g. software process improvement based on the CMMI. To prevent that duplicate activities are executed it is recommended to make a mapping on how the test improvement activities contribute to other improvement activities and vice versa. More improvement models often impose more requirements on project managers on how to organize their projects. By showing how the models, complementary, contribute to a more effective or efficient way of working the benefits can be shown making people are more likely to contribute and adhere to them. The Authors Erik van Veenendaal has implemented structured testing and carried out test process improvements activities, e.g. based on TMM and/or TPI, in a large number of organisations in different industries. He is the author of numerous papers and a number of books on software quality and testing, including the best-sellers The Testing Practitioner and Testing according to TMap. He is a regular speaker both at national and international testing conferences and a leading international trainer in the field of Pagina 6 van 7

software testing. At EuroStar 99 and EuroStar 02 he received the best tutorial award for a tutorial on Usability testing respectively Test strategies and planning. At this years EuroSTAR Erik will run a tutorial on TMM(i). Erik van Veenendaal is the founder and director of Improve Quality Services ltd., a company that provides consultancy and training services in the area of quality management and testing, vice-president of the International Software Testing Qualification Board (ISTQB) and vice-chair of the TMMi Foundation. Both Richard Grooff and Rob Hendriks are working as senior consultants at Improve Quality Services BV and have been involved in a number of test process improvement projects based on the TMM. The experiences they share come from various domains, such as medical, automotive and finance. Pagina 7 van 7