The concept of success in software delivery has traditionally been associated with respecting cost (budget), scope and time. This concept is generally known as the project management triangle.
The decision on whether delivering the product and the size of the triangle depends also on another variable that is the projected revenue that the product will create for the company.
Agile and lean product delivery teams have pushed the boundaries and in the process questioned the validity of the approach.
The 3 main issues I see with the above are:
- Lack of learning: it assumes that there are no significant unknowns at the very beginning when scope, budget, time and projected revenue are set. Any deviation from the plan is seen as a failure rather than learning.
- Lack of customer focus: no consideration is given to customer feedback
- All products are the same: it does not separate contextually different products so date driven products that have a hard link to a delivery date are treated the same way as ones that are “simply urgent” but have no hard relationship with a specific date.
When we measure success based on the iron triangle and the projected revenue we risk of missing or straight out discouraging some extremely good behaviours.
Example #1: If we deliver a solution to the problem (in a form of a product) in half the time because we have helped identify the most valuable features, this doesn’t clearly stand out as a win against having spent within budget, delivered in time and to the full scope.
Example #2: If through customer testing and experimentation we realise early that the product is not going to deliver on promises and we decide to stop development, this is not recognised as being better than spending the full time delivering the product that eventually will fall short on expectations. Actually, the first behaviour is normally seen as a full blown failure while the second as a success.
Example #3: The same product could be delivered with great or terrible user experience for the customer but the measure above won’t spot any difference.
If we have learned something from the last 20 years of product development is that customer focus, active learning, discovery and data driven decisions have been key to successful products.
The iron triangle clearly does not encourage discovery and learning, what measure can we use that will make sure our teams feel empowered and will be rewarded for continuously learning about their customers and the solution they are delivering?