Identifying Best Practices
The desire to identify best practices is driven by business goals and objectives: customer satisfaction, reduced time to market, decreased cost, better product quality, minimized defects delivered, improved performance.
The organisational strategy to achieve these goals are often centered on quick fix approaches, which are usually not effective:
- cost reduction: decide to outsource software development to offshore provider
- time to market: deliver fewer features
- defect minimizations: often ignored
A basic measurement model from Practical Software and Systems Measurement suggests that an organisation follows three steps:
- identify the needs of the organisation
- select measures
- integrate the measurement into the software development process
- quantitative elements: size, effort, duration, defects
- qualitative elements: data points used to evaluate levels of competency regarding process, methods, skills, automation, technology, and management practices.
The article concludes with 3 case studies with some remarkable results: projects with productivity 3 times higher than industry average and 5 times less defects. Impact of CMM level 3 practices: productivity increase 132%, time-to-market reduced by 50%, cost reduction by 40%, defect density reduced by 75%.
A challenge with this approach is the reliability and accuracy of the metrics. If people or organisations feel threadened by the measurement system they will most probably not report the correct figures. It is essential to use the measurements only for improvement activities and not for evaluating and punishing individuals and teams, and to communicate this clearly. Measurements and CMM are a means to reach goals, not goals themselves.