A Singapore Government Agency Website

Prioritisation

Iron Triangle of Project Management: Scope, Time, Cost (Quality at center)

Effective prioritisation ensures that teams are working on the most valuable tasks at the right time. A common approach in agile delivery is to manage a single prioritised backlog of user stories. This backlog contains all planned work — features, enhancements, technical tasks, and bugs — ordered by their value, urgency, and readiness.

The Iron Triangle of Project Management

Prioritisation decisions often reflect trade-offs among three key project variables: scope, time, and cost. These form the Iron Triangle of project management. The core idea is that changing one of these constraints will affect the others:

  • Scope: What needs to be delivered
  • Time: When it needs to be delivered
  • Cost: The resources available to do the work

Importantly, quality should remain constant — not a trade-off lever. Compromising quality leads to long-term costs, instability, and reduced user trust.

To maintain agility and sustainability, avoid situations where both scope and time are fixed. If deadlines are non-negotiable, then scope must remain flexible. If scope is fixed (e.g. due to regulatory requirements), then more time or resources may be needed.

If the deadline is fixed, then scope has to be prioritised: realistically, adding more scope to a release will result in some other scope being dropped.

Using the cost lever, more resources can be added to a project to speed up development - but only if the work is parallelisable. Remember that new people added to a team will take time to gain context before they can be productive, and may slow down overall velocity initially.

Managing a Single Prioritised Backlog

All work flows from a single, visible, and continuously ordered backlog. This prevents teams from multitasking across competing priorities or hidden agendas.

The benefits of a single backlog include:

  • Clear visibility into what matters most
  • Easier stakeholder alignment and trade-off discussions
  • Reduced context switching
  • Simpler planning and tracking

The top of the backlog should contain small, well-defined, and high-value stories that are ready for immediate development.

Parallelisation of Work

While developers should focus on one story at a time, teams often have multiple streams of work running in parallel. To manage this without sacrificing flow or quality:

  • Assign dedicated streams of work based on business priorities
  • Ensure each stream works on one item at a time, limiting work in progress
  • Keep backlogs for each stream aligned with the overall product goals

This approach allows teams to make meaningful progress in multiple areas while avoiding the inefficiencies of multitasking within a stream.

Make sure the work for each stream is independent from each other. If they attempt to modify the same part of the system simultaneously, this can lead to hard-to-resolve conflicts and churn. Using Domain-Driven Design alignment and modular code techniques such as conforming to SOLID principles can help decouple code and facilitate parallisation.

Chat with me!
Bot Launcher