Defining Success Metrics in Software Development
cc licensed ( BY NC ) flickr photo shared by s_falkow
The ability to measure success and failure during a software development cycle necessitates the creation of a metric system to accomplish timely goals. Though deadlines should not be ignored, deadline-centric metrics can easily force a development team into rushing to meet those deadlines with catastrophic disregard for quality. Above all, management must dedicate itself to identifying metrics that are, in fact, observable and measurable, and that can readily translate into goals.
Useful metrics will obey certain guidelines. Chiefly, good metrics favor quality over quantity. In addition to creating a maintenance headache, an armada of goals will only dilute the effort and help ensure no one understands the overall plan. If using a dashboard or other means to track data, the data should show all trends dating from project inception. This will provide context for all successes and failures within.
It’s also important to remember that simplicity always wins out over thoroughness. To put it another way, the simpler the metric, the easier the numbers will be to analyze and understand. It may be tempting to develop some kind of “all-encompassing” metric, but practice shows this typically does nothing but generate a confusing number all-too-open to interpretation and debate.
Metrics should allow for action. If a metric tracks an outcome that doesn’t allow for a response, then avoid the metric. Beyond that, metrics must link to specific, attainable goals lest they be rendered irrelevant. These goals may be deadlines, small deliverables, or any other tangible, trackable endgame.
As a starting point, administrators can consider three core metrics for setting benchmarks: effort, productivity, and quality. While these are abstract terms, the means of measuring them must remain quantifiable and abide by the above guidelines.
Effort denotes the quantity of time it takes to produce the desired result, work, or service. The actual time measurement will depend on the project, and it will be relatively simple to track Planned Effort against Actual Effort. With proper trending, project managers can identify chronic tardiness and begin work to identify the root cause.
Productivity measures the number of “simple tasks” accomplished by day. This may be on an individual, group, project, or other basis, so long as all team members agree on the definition of the term “simple task.” Teams should typically define it a task requiring somewhere from four to eight hours. Any “blips” over an extended period will readily present themselves for further analysis.
Software development success metrics enable teams to monitor and adapt their efforts in order to deliver a timely quality product. Good metrics with specific, attainable, and clear benchmarks will power a team to accomplishment; overly-ambitious, elaborate, or vague metrics will not.
For more information about software QA processes and methodologies, visit Magenic who have been an industry leaders in Microsoft application development, technologies such as .NET, SharePoint, Silverlight, BizTalk, providing innovative custom software development to meet unique business challenges for some of the most recognized companies and organizations in the nation.