The Iron Triangle

A classic component of waterfall project management is the iron triangle. The triangle is composed of three controls that a project manager can manipulate to control the outcomes of a project. They are:

  • Cost

  • Quality

  • Time

In theory, a business owner can choose two of the above to prioritize at the detriment to the third. For instance, if you want your product to be delivered at a low cost and a high quality, you’re likely going to deliver the product slowly. If you need to hit a particular launch date because the executive sponsor is going to be presenting the product on a stage in front of 10,000 of her closest friends at The Big Conference, you have other problems. You can’t have the robot fall over (looking at you, Russia) on the stage it’s first venture in front of the hoomans. So quality must be high. Friend, you’re going to be paying a lot for that project. I could regale you with so many stories where time and quality were fixed and clients were sure they could get it for free, asking the consulting company to be “good partners.” But I digress.

When we prioritize the values espoused in agile, we try to fund value, not projects. So as long as continuing investment in the product creates value, you should simply continue to invest in the product.

In consulting, it’s rare that a client understands an agile funding model. There is usually a cap on the spend and the time. It’s rare that they specify quality, unless they have compliance requirements. So the sales guy comes to you and tells you how huge the follow on work is going to be. The next steps you take will make or break your engagement. Here is what I recommend:

  1. Quickly discover whether there are timeline constraints. Once you understand what you’re building and why, this might be the most important thing to understand about why your client is paying you to do the thing. Some timeline constraints may also include things like requests from a key customer of your client for a new feature or product, a promotion cycle for a key executive, or a contract renewal with a vendor that could save your client a giant chunk of change if they could pay you for the alternative tooling. Create milestones on a timeline that makes those constraints very obvious.

  2. Now, working back from those milestones, figure out what the most important set of features are that will fit within that timeframe and let that help you timebox your Minimum Viable Product (MVP). This is not to say your MVP should encompass all the time within your first timebox, but now you know one constraint.

  3. Ensure the MVP will deliver the targeted feature set to meet the goal that set that timeline in the first place (being on the stage and showing the thing).

  4. Repeat. Until there is no further value that exceeds the cost of your delivery team to get that next feature.

Anything that now goes into your backlog or inside your sprints is in service to these timelines. Now all you have to do is show how long you can deliver value that exceeds the cost of your team, but that’s a story for another day. Let me know your thoughts about consulting in an impure agile world. I’d love to hear your experiences.