If you are in a software project, how do you assess the potential risks for a given software project ? So far I have not seen any coherent way of assessing the possible risks. Usually problems are discovered at really late the project life cycle (i.e. just before release dates) and by that time it too late to take any corrective actions. So a common problem is how to detect possible risks as early in project life cycle as possible ?
- Project is delivered to customer.
- Your company got the expected profit margin from the project
- Customer accepted the delivery
- Customer's end users are happy with delivery.
- Number of bugs reported are and hence your warranty costs are low.
Last few years, I have been working on various code analysis techniques (Check my open source projects SVNPlot and TCToolkit). Based on my experience I am convinced that analysis of code, design, version control history etc gives you pretty good idea about the success or failure of a project.
Recently I have created simple framework to assess the possible risks.
First we analyze the project in three ways
- Code Vs Testing quadrant
- Requirement Vs Testing quadrant
- Design Vs Codequadrant
I find that based on various project metrics, if I mentally map the project to these quadrants, I get a 'rough judgement' of kind problems project will have in future.
What do you think ?