Monday, May 08, 2006

Operational Excellence through Efficient Software Testing Metrics

Below is an article from Ramesh Pusala asking why do we need software testing metrics. It's a interesting perspective & I hope you enjoy it! The article was published in the first edition of the New EuroSTAR newsletter.

Click here to view the entire EuroSTAR newsltter and to subscribe to future monthly editions.

Why do we need software testing metrics?

As we all know a major percentage of Software projects run over schedule and budget, yet they still have quality problems. Software testing is one activity that can provide visibility into product and process quality. Test metrics are among the "facts" that project managers can use to understand their current position and prioritize their activities, so that they can reduce the risk (or impact) of running out of time before the software is ready for release. Test metrics can be a very powerful risk management tool. Metrics help you measure your current performance and allow you to use the data to enhance your future work estimates and quality levels, otherwise those estimates will just be guesses!

What Metrics do we need?

Only collect data that you will actually use (to make informed decisions and alter your strategy). That is, if you were not going to change your strategy regardless of the findings, your time would be better spent doing more testing.

Do not base decisions solely on data that is variable or can be manipulated. For example, measuring testers on the number of tests they write per day could actually reward them for speeding through superficial tests or punish them for tackling trickier functionality.

Use statistical analysis methods to get a better understanding of the data.

Some of the key benefits of having good metrics are:

* Test Metrics Data Collection is a balanced, leading initiative which guides in predicting the direction and scope of an organization in the long term and helps to gain a more holistic view of business and identify high-level goals.
* Provide a Basis for Estimating and facilitates planning for closure of the performance gap.
* Provide a Means of Control / Status Reporting.
* Identify Risky Areas That Require More Testing.
* Provide Meters to Flag Actions - this helps make faster, more informed decisions.
* Quickly identifies and helps resolve potential problems and identify areas of improvement.
* Test Metrics are mechanisms to measure the effectiveness and efficiency of testing quantitatively.
* Supports the collection of usage data and metrics for particular business needs.
* A process is appropriate and is critical to success when it identifies measurement strategic objectives and measures against those using technology and industry accepted methodology.

Challenges in implementation of Metrics Program:

Ø Management Commitment:

Ø Measuring Too Much, Too Soon:

Ø Measuring Too Little, Too Late

Ø Wrong Metrics

Ø Vague Metrics Definitions

Ø Using Metrics Data to Evaluate Individuals

Ø Using Metrics to Motivate, Rather than to Understand

Ø Collecting Data That Is Not Used

Ø Lack of Communication and Training

o Explain why

o Share the results

o Define Data Items and Procedures

o Obtain "buy-in

Ø Misinterpreting Metrics Data

Suggested Metrics Lifestyle:

Goal-Question-Metric (GQM)
The key to efficient measurement is to first determine which goals you are striving to accomplish and which problems you are attacking. Many organizations waste time and money by measuring more things than are necessary. Before beginning a measurement strategy, determine the goals for your measurement. GQM is an excellent technique for selecting appropriate metrics to meet your needs. With GQM, you begin by selecting a few project or organizational goals. Then state the goals to be as quantitative and measurable as you can, then ask questions as to what is it that you want to change to reach the goal, then finally define what is it that you want to measure to quantify your progress towards achieving the goal.

No comments: