Software projects are rife with uncertainty. Even seasoned developers struggle to provide accurate estimates. But one thing is sure — to ensure your project succeeds, you must prioritize the features your team is working on.
Using strategic prioritization methods enables you to understand which stories to tackle first. Read on as we explore widely used techniques like the iron triangle and MoSCoW framework.
The Perils of Unprioritized Scope Creep
It was crunch time before the big product update. As the head of product, Mike had been working closely with his top developers, Tom, Sarah, and Jamie, on the backlog of features for months. They planned, estimated, and prioritized stories carefully, or so they thought.
But as the deadline drew nearer, the scope was creeping up more and more. One of the stakeholders, Susan, kept adding more “must-have” features based on the latest feedback she got from the executive team. Mike saw the anxiety on his team’s faces grow daily as the backlog ballooned. Tom looked overwhelmed, trying to estimate the new requests. Sarah seemed ready to pull her hair out, and Jamie stayed later each night, trying to get things done.
Mike tried to reason with Susan, but she insisted every new request was critical and users would be dissatisfied if the team did not include them. “This feature could make or break the whole update,” she repeatedly said.
It all came to a head during an emergency Friday deployment. Mike realized their prioritization process had broken down as the team scrambled to push the buggy, half-tested code to production. They should have focused on the vital 20% to drive 80% of value.
Mike’s painful experience illustrates how essential it is to prioritize features in software projects. Even with the best-laid plans, shifting priorities can and will derail development. Using the right frameworks helps you understand which stories will have the most significant impact so your team can deliver successfully.
Beware the HiPPO Approach
Since I worked in tech for more than twenty years, I’ve dealt with the “HiPPO” approach firsthand. It stands for “Highest Paid Person Opinion” — when executives suddenly dictate product direction based on their own whims, affecting your team’s fragile planning. It’s not a framework, as it does not help you make decisions, but it’s so common that it’s worth mentioning.
In Mike’s story, Susan constantly interrupted their backlog grooming sessions with brand new “must-have” ideas she had just come up with. She’d barge in, saying, “I was just thinking we need to add this new feature next month!”
HiPPO-driven decisions are impossible to eliminate entirely because, often, stakeholders have great insights and an understanding of what brings the most value. But it will work better if these decisions incorporate different viewpoints rather than just being top-down orders. Ultimately, it would help if you synthesized insights from various stakeholders to land on priorities that get broad buy-in.
Use the Iron Triangle
The iron triangle is a useful framework for software project managers to understand the scope, schedule, and cost tradeoffs.
- Scope refers to the features, requirements, and specifications that define the work to be done.
- Schedule refers to the timeline and key milestones that comprise the deadlines and delivery dates.
- Cost refers to the budget, resources, and labor required to complete the project.
These three elements are interdependent and balanced against each other. For example, increasing the project scope typically requires more time and higher costs to support the additional work. Pushing for faster delivery by shortening the schedule may reduce the scope or quality. Trying to complete a complex project with inadequate resources and a tight budget will also force cuts in scope.
Don’t sacrifice quality to meet an arbitrary deadline. Forcing delivery of a product before it’s ready leads to technical debt and unhappy customers. Also, throwing more money or resources at a delayed project will only sometimes speed up delivery. Some tasks require specific timeframes and can’t be accelerated quickly by hiring more staff.
Scope is often the only flexible factor that can realistically be adjusted. By cutting or descoping features through agile backlog prioritization, you can deliver a minimum viable product or feature within schedule and cost constraints.
Apply the MoSCoW Framework
Since scope is often the only variable you can change, you need a framework to define what features or their parts can be cut from the scope. Not all user features are created equal. Some are more important than others. It’s like grocery shopping when you’re hungry — everything looks so delicious! Ice cream, chips, candy — you want it all! But your cart will get out of control fast if you treat every item as a top priority.
Luckily, we can use a handy framework called MoSCoW to restrain ourselves. The letters stand for Must-have, Should-have, Could-have, and Won’t-have — with the Os tossed in there to make it roll off the tongue easily.
Make a master grocery list and mark the fundamental must-have basics — milk, eggs, bread. Those are the “must-have” stories to keep your project from starving. Maybe toss in some veggies and protein, too — the “should-have” stories are still crucial for a balanced product.
Leave the ice cream and chips as “could-have” items — they are nice to grab later if you have time and money left over. And skip the random whims like 10 boxes of Girl Scout cookies — those are “won’t-have” stories you’ll likely never need.
Focusing on must-haves first prevents you from meandering through the entire store and leaving with an overloaded cart of unusable extras. The same goes for user stories — identify the critical few upfront so your team can tackle them immediately and deliver what matters most. The extra bells and whistles can come later. Prioritization keeps you lean and focused.
Prioritization Takes Discipline
I’ve seen many projects crash and burn because teams didn’t prioritize properly. It’s tough. Stakeholders want everything, engineers get excited about building cool stuff, and before you know it, your backlog is bursting out of control.
Take a step back and get aligned on what truly matters most right now. What are the 1–2 features that will provide massive value to users and move the needle on your key metrics? Make those non-negotiable must-haves.
Of course, the secret sauce here is knowing the true “must-haves” and ruthlessly cutting everything that is non-important. Be willing to cut or postpone all the extra “nice to have” ideas to later — don’t let yourself get distracted. Scope creep destroys schedules.
It takes discipline and saying no, but focusing on the vital few over the trivial many is how great product teams ship successful releases.
Originally published on Medium.com