Using the MoSCoW Method for Website Development

moscow method in website development
Written By Jake Picken

When used in website development, the MoSCoW method is an approach that helps prioritize web project requirements.  The M, S, C, and W stand for Must-have, Should have, Could have, and Won't have.

The MoSCow method isn’t just used for website projects but can be used on any projects that require the prioritization of features or tasks to complete a project by a desired deadline and within the project scope and budget. 

Prioritizing is done by getting key stakeholders together, examining each requirement, and placing a level of importance on each.

Prioritization by importance isn’t the only benefit to using this method but it helps to determine how many people—such as software developers—need to be on a project, gauges the amount of time and effort each task will take, and what percent of the budget needs to be allocated to each requirement.

Let’s dive into what the MoSCoW method is, why it’s important, and look at each of these groups and provide some examples for each.

 

Where did the MoSCoW method come from?

When referring to the MoSCoW method of prioritization, you will always see it spelled with two lower case O’s and if you are wondering why and what they mean, you are not alone. 

First, let’s look at where it originated. 

According to Monday.com, “The term MoSCoW originated with software developer Dai Clegg, who created the method when he was working at Oracle. To help his team prioritize tasks during development work on product releases, he devised the MoSCoW technique. The acronym includes lowercase Os between consonants to make it easier to pronounce.” 

So really, what the naming came down to was that the term MoSCoW was easier to say and remember than the acronym “MSCW”.

 

At its Core, MoSCoW Method was Created for Complex Software

Managing requirements for software and website projects is difficult and always has been. It’s important to understand that Dai Clegg created this method in 1994.  Since then, software has become much more complex in nature and the creation and delivery of new features, capabilities, and digital experiences that users (companies and customers) desire has become increasingly complex.

With this increased complexity of web applications, using a method like MoSCoW for prioritizing website project requirements can increase the chances of an overall successful project.  

 

Why Prioritization is Important Before a Website Project Begins?

The saying “there is always more to do than there is time to do it” applies very well to website development and design.  

Whether it is UX design or development, there are several ways to meet a requirement and some can take more time than others.   

As an example, there are several ways you can display people within your organization on an About Us page. You can manage all the details and content in a backend module and then display them on a page through a widget, or you can add the images and text directly to the page.  The solution that uses a module typically requires more development and design time than just creating a simple page.   

Prioritization methods like the MoSCoW method will get key stakeholders together to answer questions like “Is this custom module or widget a must-have feature or can content editors add these manually to a page until a later post-launch development phase?”  

When there are budget and timeline constraints, making these decisions is important for establishing an MVP (Minimum Viable Product) for launch but that doesn't mean these features will never be built on your site.  It simply prioritizes website features so project goals and stakeholder expectations can be met.  It also ensures a plan for building and deploying “lower priority” features in a future phase which takes an iterative development approach instead of cramming them into one implementation phase.

 

The Groups within MoSCoW Prioritization

As mentioned earlier, MoSCoW prioritization is divided into four groups:

  • Must-Have - (M)
  • Should Have - (S)
  • Could Have (C)
  • Won't Have (W)

Let’s dive into each of these and provide some examples for each.

Must have

The first group in the MoSCoW Method is “Must have." These are the requirements in your web project that are critical for not only the success of your website, but also have a high business impact. Not having these features live on your site at launch will negatively impact your business whether it results in loss of revenue, or customers, blocks a user segment from getting what they need while visiting your site, or causes a poor user experience that will result in loss of business.

Should have

The second grouping in the MoSCoW Method identifies "Should have" requirements that are still important but aren’t critical to include in the first phase of development.  These requirements will still be addressed but approaches might include finding an alternative way to satisfy the requirement, including it in the initial project if time is available prior to launch, or addressing it in the second phase of development.

Could have

Requirements that are identified as “Could have," are nice to have and could improve the site, but they aren’t necessary or critical to achieving the goals set for the website project. These requirements could still be addressed in the first phase if time and resources are available prior to launch but also can be addressed in a post-launch phase of development.

Won't have

The lowest priority requirements in a website project are labeled as “Won’t have”. This doesn’t mean you will never have these on your website, but they probably won’t be in the first phase and don't come before other higher-priority requirements. 

When the budget and timeline are at risk of going over, these requirements are usually dropped from the project completely or will be reconsidered later.

As a marketer, there are several features I would like on our website that fall into this category.  The “this works good, but it can be better” features are usually labeled as "Won’t have." They are typically saved in a wish list or a backlog that is addressed if there are developers available and no other high-priority site features need to be done.

Another way to view the “Won’t have” category is the “Wish” category.  This converts the thinking from “these will never be implemented on our site” to “one day these might be implemented on our site.”

 

Prioritization of Requirements is a Must

Prioritizing requirements at the beginning stages of a website development project is a must if you want to have everyone on the same page; to set expectations early for new website features and capabilities; to increase the likelihood of your project being completed on time and within budget; and to have a plan for incorporating and considering all department needs and wants for your new website. 

 

Find a Website Developer that Prioritizes Effectively

If you are in search of a website developer to build a new website for your company, it is important to ask them how they prioritize project requirements.

The MoSCoW Method isn't the only method of prioritization that is common with website design, some others include: 

  • RICE scoring model: The RICE scoring model or method includes prioritizing features or items in your website project and follows the following factors; reach, impact, confidence, and effort.
  • Kano model: The Kano model, which was named after the originator of the model, Dr. Noriaki Kano, puts features into three categories; basic, excitement, or performance features within a project and "grades" these features on the basis of customer delight and implementation investment. 

There are several methods for prioritization, and each serves a little bit of a different purpose but as we said, it is important to ask your website design company if they use a method for prioritization. 

We have been building websites since 2001 and over the years we have refined our processes to make website projects as smooth and painless as possible for our customers.  Reach out to us if you are interested in speaking with someone on our team to learn more about our processes and the platforms we utilize to build enterprise-level websites for our customers.