Home > Ask the Software Quality Experts > Software Testing and Quality Assurance Questions & Answers > Help with development life cycle metrics
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Help with development life cycle metrics

John Overbaugh EXPERT RESPONSE FROM: John Overbaugh

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 26 January 2009
My question is about development life cycle metrics. Are there metrics for a life cycle example of, say, planning, analysis, design, development and deployment? Example: planning 10%, analysis 5%, design 20% for a total of 100%. And to break down the development cycle to include system testing. I need this information to come up with some basis to determine costs for system testing. Our system testing group uses LOE of 50% of development costs to determine system testing cost. Make sense? I think it is too high.

>
I honestly can't give you a direct answer to your questions. Test estimation is so specific to projects and teams that it'd be a disservice to you if I gave you a magic number -- without more specifics, it's just not possible.

I'm going to be agile about answering your first question -- the relative distribution of life cycle planning is specific to organizations, teams and projects. And what one person thinks is reasonable, another finds unreasonable. For instance, I've been on teams where two to three developers have planned for over a year when the actual implementation was less than eight months! Based on your approach (waterfall, agile, etc.) and your team's expertise, you need to arrive at appropriate metrics.

Your specific question really should get a similar answer ... what's the best ratio of development to test effort? It really depends. I have worked in high-availability, high-scalability commercial enterprise applications where our ratio was 1:1 during development, and included several months of testing after reaching code-complete. I've also worked Web applications where the development ratio was more like 1:6 (six dev hours for every test hour). I have examples from both situations where we shipped high-quality software, on time, with no follow-up release required. For this reason, I tend to shy away from specific ratios.

So how can you reduce ratios? With the implementation of shorter turn-around cycles (i.e., give daily drops to testing, rather than bundling changes into weekly or biweekly drops), your ratios can be lower because your test organization can test right alongside your developers. Also, introducing effective automated testing solutions can help with that ratio. Effective means using the right tools for the job -- if you work on projects that expect to have multiple releases over time, you can spend time developing deep automated test suites. If your projects are more one-time things, keep it very light, automating the simplest use cases and high-priority tests.

Don't just focus on the test side of things. I'm assuming the overall goal here is to reduce your engineering budget. Test should not be the single point of focus on that effort. By bringing in qualified, skilled developers you can cut the time needed to build product. Also, many teams that have moved to agile have seen benefits in terms of reduced input requirements for building software. Another key is to drive quality upstream -- make your developers own quality. Ensure appropriate unit testing, implement code reviews, and hold developers accountable for creating solid code.

There are a number of other factors at play in arriving at the correct system test ratio. For instance, how complex is your system? I worked on a retail management implementation project which started out with more than 100 legacy dependencies -- developers only had to write code to tie up the system, but test was responsible for ensuring each legacy system was able to consume the data delivered by the implementation. In that case, system testing was, at times, two times the level of effort of development. How experienced are your testers? If you are using developers with five to 10 years of experience and yet bringing in a team of testers with one year or less of experience, you're going to have to allocate a lot of time to help your inexperienced test team.

A final point to consider is your team's history. What have the historic ratios been, and what kind of quality have you produced? If your team releases and then has to deal with a number of escalations, your ratio is probably a little development-heavy, and you should consider adding testers. If escaped defects are low, you might have "tolerance" to reduce the testing effort somewhat.

If your organization is really concerned about getting the right number here, it might pay to reach out to a testing consultant. In the course of a few days, they should be able to sit down with you, go over the factors at play and your team's history. With that input, they can help you arrive at a good metric, and probably leave you with some tools to recognize when that metric can change.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Software Testing and Quality Assurance
Why do performance testers write new scripts so often?
How to create performance testing workload models
Fixing Web application performance troubleshooting problems
Expert advises on implementation of Selenium IDE for effective software testing
When should regression testing occur in an automated test plan?
Achieving peak performance in integration testing
Getting answers about OpenSTA script problems
Defining core software regression tests
Breaking in functionality on UI application pages
Where to find good methodology guides for software testing

Software testing and quality assurance (QA) fundamentals
Software Testing: New software testing technologies bring new challenges
Testing strategies for complex environments
Astronaut's STPCon advice: Teamwork delivers "The Right Stuff"
How to make your software tamperproof
Software consortium seeks standard quality metrics
Demo: Using WebGoat, a free software testing tool
Seven steps for a quality change and configuration management program
Winning responses to "Why is QA always the bottleneck?"
Where to find good methodology guides for software testing
5 ways to answer executives' unfair software test, QA questions

Software project management methods and approaches
Tasktop brings task management into the application lifecycle
Software expert on Agile's rise, avoiding project management mistakes
Ways software project managers can cope with recessionary trends
James Bach interview: Dispelling software testing myths
How to improve software project requirements estimates tutorial
The QA team's role in application performance evaluation and management
5 ways to answer executives' unfair software test, QA questions
Adaptation in project management through agile
Expert shows seven ways to improve your project management abilities
Accelerating businesses with agile development

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build  (SearchSoftwareQuality.com)
code review  (SearchSoftwareQuality.com)
conformance testing  (SearchSoftwareQuality.com)
error handling  (SearchSoftwareQuality.com)
garbage in, garbage out  (SearchSoftwareQuality.com)
load testing  (SearchSoftwareQuality.com)
NUnit  (SearchSoftwareQuality.com)
quality assurance  (SearchSoftwareQuality.com)
stress testing  (SearchSoftwareQuality.com)
white box  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Software Quality - Software Maintenance, Software Requirements, Software Standards
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts