Keeping Projects on Track: Prioritizing Website Requirements

Apr 04, 2014
Aleksandar Radonjic

It's very hard to deliver a successful product, or in this case a website, if all requirements are critical and every little requirement has to be delivered at once. By prioritizing features at the beginning you will be one step closer to a successful project.

There are a number of ways to prioritize requirements, but my favorite has to be the MoSCoW method. It is a very simple process of reaching a common understanding on how important or unimportant requirements /user stories are by simply grouping them into 4 categories: “Must have”, “Should have”, “Could have” and “Won’t have”. 

Must Have – requirements you cannot launch without. In other words, you can directly link these features to your success criteria, hence why you can’t launch without them. 

For example: Home Page, Navigation, Credit Card validation (e-commerce site), etc.

Should Have – high value requirements, but not critical for launch. So if possible include these requirements for launch, however, they can usually go into the ‘shortly after launch’ bucket.

For example: Site wide search, Signup section, Contact Us Form, Share Icons etc. 

Could Have – Wish list or nice-to-have requirements.  These requirements are usually the first to go, or first removed from the scope if your project budget is reduced or if your schedule is at risk. 

For example: Video testimonials, Carousel, Visitor Comments area, embedded Google map etc.

Won’t have –features that are low priority and no longer needed. This group also includes big ideas that are not feasible in the foreseeable future.

For example: Flash animation (no longer needed), Multilingual (big idea). 

The actual prioritization process is relatively simple and can be broken down into 6 steps.

Step 1: Align prioritization goals with key stakeholders

Prior to the actual workshop / group meeting, go over goals and objectives with your key stakeholders. Your objectives and the objectives of your key stakeholders need to align before you start the prioritization. 

Step 2: Explain the prioritization method and goals

Assume everyone is new to MoSCoW prioritization and take 5-10 minutes to explain the method, why you are using it, and your goals and objectives. 

Step 3: Collect Requirements or User Stories

 Ask everyone to write down requirements or user stories (Post-it Notes are great if everyone is in the same room - it will probably end up looking something like the picture at the top). Irrespective of how you collect requirements, your goal is to collect as many requirements or user stories as possible. 

Step 4: Start the prioritization 

Start the process by creating 4 columns, and then ask everyone to post their requirements in the group/column they think they should go into. Note: don’t question the prioritization at this point.

What you will probably end up with is this: most requirements are in “Must have” and “Should have”, and only a few requirements are under “Could have”, and there are probably no requirements under “Won’t have”.  This is very common, so don’t be surprised by this outcome. 

Step 5: Reprioritize and get consensus 

This is by far the most important step of the process and where you need to have some hard discussions. You’ll need to bring the discussion closer to what is feasible, which typically means collectively agreeing to move some “Must have” requirements to “Should have” and a lot of requirements from “Should have” to “Could have” and “Won’t have”. 

Here are some suggestions on how to get closer to what is feasible:

1. Ask a lot of questions

2. Offer suggestions and alternatives 

3. Ensure no one person overpowers the group. 

4. Don’t discourage big ideas, but stay close to what is feasible (e.g. that’s a great idea John, but we only have 4 months to launch the website and that would push our timeline to 6 months). 

When it looks like you’re done, take a step back; see if the big picture makes sense and is it feasible? If the answer is NO, then go back and reprioritize requirements. If the answer is YES then give yourself a pat on the back and move to Step 6. 

Step 6: Close the session

Thank everyone, take pictures, document and schedule a follow-up meeting with key stakeholders.

In the end, you should be left with a prioritized list of requirements for your web project or product that will better help you to stay on time and within budget.