Software Process Improvement
Overview
Thinktank Consulting has developed, fine-tuned and successfully applied the
SmartPhase process improvement methodology at several North American companies.
The
SmartPhase process improvement model consists of the following steps:
- Familiarize yourself with company's strategic business goals.
- Interview company executives, product management, sales & marketing people and, if possible, customers to find out the business issues (e.g. cost overruns, late projects, project overloads, low product quality, etc.) associated with the work of software development or IT department. If possible, rank these issues in the order of importance to the business.
- Interview representatives from all areas of software development department (i.e. project managers, functional managers, business analysts, developers, testers, architects, etc.) to determine the "technical" root causes of the business problems (for example low product quality can be attributed to poor requirements engineering practices). This step should also include a review of project documentation and sometimes even participation in company projects as an observer.
- Combine the information obtained from Steps 1, 2 and 3 and the general knowledge of best practices in software development process to analyze, confirm and prioritize the root causes of the business problems in the order of importance (i.e. create a mapping).
- Discuss your findings with company executives and agree on which areas and how many of them will be targeted in the first phase of the SPI project. Create ROI projections for the initiative. Also agree on whether SPI initiative will apply to the entire IT organization, specific department or a pilot project.
- Develop an SPI project plan and identify all the relevant metrics to gather before and after the SPI project. Gather the "before" metrics.
- Implement the SPI plan by "replacing the narrowest pipes" in the software development pipeline (see Figure 1)
- 8. Collect the "after" metrics, compare them with the "before" statistics and validate the ROI projections
Decide whether there is a necessity to continue with the next phase of SPI plan. In general if the ROI on the initiative has been low or negative, there is a possibility that a company has reached its optimal software development maturity level.
Figure 1
Benefits of
SmartPhase
- SmartPhase is completely scalable – it can be applied to an entire organization, select department or even one pilot project
- Phased approach allows the company to stop at any point of time once the management feels that the optimal stage is reached; it allows the company to better zero in on their software development maturity "sweet spot"
- SmartPhase is much cheaper than the traditional methods
- SmartPhase implementation is much faster than the traditional processes
- Rather than measuring the progress with respect to generic goals, SmartPhase allows to align IT processes with the strategic business goals of the company
Additional Reading
To find out more about the
SmartPhase methodology, please check out the
"Software Process Improvement (SmartPhase) - Targeted Optimization" article.
Also, take a look at the following case studie and discover how we helped other companies who required process improvement expertise:
Small Software Product Development Company
Process improvement, IT/Business alignment, and training