type
status
date
slug
summary
tags
category
icon
password
Created time
Aug 5, 2023 02:59 AM
In the realm of project management, there's a well-known adage: "Fast, good, or cheap. Pick two." This saying, applicable from dry cleaning to engineering, represents the levers you can pull to manage a project. In the world of knowledge work, this concept is often referred to as the Project Management Triangle, the Iron Triangle, or the Triple Constraint. 📐

🌐 The Iron Triangle in Your World

In the context of software development, the Iron Triangle translates into scope, resources, and time. As a leader, you're constantly juggling these three elements, trying to strike the right balance for each project. Let's take a closer look at each of these levers. 🎚️

🔬 Scope: The What

The scope defines what the project will deliver. It's the list of features, functionalities, and deliverables that your team will produce. The scope is often the starting point of any project, and it's crucial to work closely with your product owner to break it down into manageable chunks.
Consider the following when defining the scope:
  • Launch methodology: Will there be a marketing launch for this feature? If so, what needs to be ready for that to happen?
  • Shipping frequency: Can you ship parts of the functionality as they're completed? Or does everything need to be finished before anything can be shipped?
  • Criticality of scope: Does every single piece of functionality need to be completed for the project to be considered a success? Or can some parts be considered stretch goals or incremental releases after launch?

👥 Resources: The Who

Resources refer to the number of engineers you'll assign to the project. It can be tempting to throw all your resources at a critical project, but there are several factors to consider:
  • Parallelism: How much of the work can be done in parallel? If two separate services can be developed independently, you can assign more resources. But if the work is sequential, adding more resources won't speed things up.
  • Code vicinity: You don't want multiple engineers working on the same part of the code, causing merge conflicts. It's like having four spanners trying to turn the same nut.
  • Technical difficulty: Is this a routine increment of functionality, or is it a new, innovative piece of architecture? This can influence which of your staff might be required to work on it.
  • Relative importance to other projects: Is this new feature the number one business priority, or can it arrive more calmly with a smaller team, as there are other projects providing steady cadence to your overall delivery?

⏳ Time: The When

Time is the one lever you can't bend. However, you can control how you use it. Be clear about the priority of each project. Not every project can have the same level of urgency. Identify which projects can slip if necessary and those which can't. This can help you make sensible and pragmatic judgement calls.

🎭 Making Your Levers Transparent

By considering the levers of scope, resources, and time for each project, you can make clear choices that are easy to explain when questioned about your priorities. Making your decisions and their reasoning visible internally to your department can also help teams see how their projects fit into the bigger picture.
Remember, "You don’t need four spanners scrabbling over the same nut." So, how many projects are you running that have been considered fully as part of the whole?
 
📏The Stick: Navigating the Delicate Balance of Leadership (3min read)🎸Rockstars vs. Superstars: The Power Players in Tech Teams 🚀 (3min read)
  • Twikoo
  • WebMention