The Problem with Software Project Success Criteria
Defining success in software development projects is not an easy task. In his book “Project Myopia”, Allan Kelly discusses the definition of success criteria for software development projects.
Consider the well known success troika for projects:
• On schedule delivery
• On budget delivery
• On quality deliveryThink about this list of criteria, can you see identify a problem with these criteria?
This particular project success troika dominates project thinking. But something is missing: value. These “success” criteria do not consider the importance of the value created by the project.
Value is usually taken to mean dollars, euros, sterling, a hard number. However it is better to consider value more generally as business benefit i.e. the benefit delivered to the organization sponsoring the development effort.
Each development effort should be clear about what constitutes benefit to their organization. For commercial organizations the benefit may well be money. Specifically profit, and measured in dollars, pounds or some other currency.
Other measures of benefit are possible. For a charity it might be how many people have clean drinking water, for a hospital it might be lives saved and for a school it could be attainment grades.
Strictly speaking the terms “value” and “benefit” are different: value implies a hard number, benefit while more readily encompasses non-financial outcomes. In general conversation the two are synonymous. Perhaps because people prefer a hard number or perhaps because “value” is shorter to write and say, “value” is more common.
Those who worship at the altar of projects would have us believe that delivering on schedule, budget and quality will unlock the value promised by the project. After all, isn’t that why a company requires a business cases before work on the project began?
Source: Project Myopia, Allan Kelly, https://leanpub.com/myopia
Depending on the perspective, measuring the success of a software development project involve multiple key software projects metrics. The issue for the software project manager is to find a balance between the different aspects. A project can completely meet the user functional needs, but if it is over budget or technically difficult to maintain and evolve, then the success is limited. An application can be technically perfect, but if the features are incomplete or if it came too late, then the project might be considered a failure.
Here are some commonly used success criteria in software development projects:
1. Code Quality Metrics:
– Defect Density: Number of defects per lines of code.
– Code Churn: Frequency of changes to the code.
– Code Coverage: Percentage of code tested by automated tests.
2. Performance Metrics:
– Response Time: How quickly the software responds to user actions.
– Throughput: Number of transactions processed within a given time frame.
– Scalability: Ability to handle increasing loads.
3. Project Management Metrics:
– On-Time Delivery: Whether the project meets the set deadlines.
– Budget Adherence: Tracking costs against the budget.
– Velocity: Measure of work completed in a sprint (for Agile projects).
4. User Satisfaction Metrics:
– User Feedback and Ratings: Direct feedback from end-users.
– Net Promoter Score (NPS): Likelihood of users recommending the software to others.
– User Retention Rate: How many users continue to use the software over time.
5. Business Metrics:
– Return on Investment (ROI): Financial gain from the project relative to its cost.
– Market Penetration: Adoption rate of the software within the target market.
– Conversion Rates: Percentage of users who complete desired actions.
6. Operational Metrics:
– System Uptime: Percentage of time the system is operational.
– Mean Time to Repair (MTTR): Time taken to fix issues.
– Mean Time Between Failures (MTBF): Average time between failures.
7. Productivity Metrics:
– Cycle Time: Time taken from the start of a work item to its completion.
– Lead Time: Time taken to deliver features from the backlog.
8. Risk Metrics:
– Risk Exposure: Identification and mitigation of potential risks.
– Issue Resolution Time: Time taken to resolve reported issues.
Here is a list of articles dealing with key success factors for software development projects:
10 Key Factors to Ensure Software Project Success