When we start out on a venture, of any kind, we hope things will run smoothly, we expect the ‘happy path’ / ‘sunny day’ scenario to be true. In designing our software, though, we know that we need to allow for alternate paths and exceptions. In the same way, when thinking about our projects, we should expect to be hit from left-field with surprises, and have ways of coping with those.
Of course, we could invest significantly more time up front in planning for all sorts of contingencies, however that is not the lean|agile way; instead, we look to establish our project success criteria, a set of principles or values, that will guide us when the going gets tough.
The starting point for these criteria is often the so-called ‘iron triangle‘ of time, cost, and quality; except of course, we don’t cast them rigidly in iron. Instead, we ask our stakeholders to rank the relative importance of each criterion; as in, when things get difficult, which is more important: for example, it may be more important to stick to the original budget and timescales, in which case we might need to drop some scope or reduce quality.
I have described this as if it were a simple either/or decision, and it is subtly more nuanced than that — and there are usually more than just those three principles to consider. This puts me in mind of the sign you occasionally see in the more enlightened job shops, implying that you can have a job done good, fast, cheap, or a combination thereof, save you cannot have all three.
A great tool that helps balance these apparently conflicting criteria, is the project success slider, originally conceptualised by Rob Thomsett, and turned into an online tool by Mike Cohn at his mountgoatsoftware website. This is an interactive tool, allowing us to establish what are our project success criteria, and then to visually rank them — enforcing that when we elevate one criterion, we have to demote another to keep it in balance. In other words, enforcing that you cannot have cheap, fast, and good.
Their list also includes other criteria which affect the success of our projects: stakeholder satisfaction, delivering on time, delivering within budget, delivering the planned scope, meeting quality requirements, and team satisfaction.
In this way, when there comes a difficult decision to make, whether within our teams or with our external stakeholders, we can refer to the agree settings for the criteria, and from experience, I have see this take any emotion out of the decision. Of course, situations change, and the relative setting for the criteria can change, so long as elevating any one criterion is also met by demoting another.
This recently came up in a discussion on how we choose a supply chain appropriate to our products, during one of our tutorials on the Operations and Supply Chain Management paper I am studying as part of my Executive MBA course with the University of Auckland.