Must, Should, Could, Won't: Method for Prioritizing Software Features

Jul 14, 2016 10:00:00 AM

Laptop and desktop monitors on tabletopIf you thought the only Moscow was the capital and most populous city in Russia, you'd be only half right. For web and mobile app developers, MoSCoW is also a system for prioritizing what features and functionality to include in an app development project.

How do you classify Must versus Should versus Could versus Won't? That is part of the process of determining how to begin the development project, progress through the project, and finalize it. By structuring the process in this way, you've assured that the critical things are cared for immediately. Then, you can assess the development at each point -- when you've completed the Must, you reassess, and, as time and funding permit, you proceed to Should, Could, etc. By including the Won't, you've set the parameters for the Web development team or mobile app developers to guide them to what you envision the project to be, or not to be.

Shoulds are important, but they are not essential.

Every app development project needs to begin with a meeting of the minds among all of the stakeholders in the project. This would include your Webmaster, IT manager, organization's top brass, and users, such as your production team, operations team, and even a sample group of your customer base. This meeting (or potentially series of meetings) should lay the groundwork for your Must, Should, Could, and Won't.


What Must the App Have?

These are the essence of your app -- what it is, what it does, and how it will do what you want it to do. It's up to the development team to determine the logic, but you need to lay out the essentials so that they can build the logic you require. These are your "mission critical" features and functionality. In developer speak, MUST is also an acronym. It stands for "Minimum Usable SubseT."


What Should the Web App Have?

It is imperative that you draw the line with Must haves when you've reached the essence of the app. Now you're into Should territory. Your Shoulds are important, but they are not essential, at least not at the onset. When budget or time is especially tight, some or all of your Should features can be addressed with the first major update to the app. Say version 1.2 or 2.0.


What Could the Web App Have?

Your Could features are those you'd like to have, but are not essential for the functionality of the app. These are things that might boost your user experience (UX) or stand to improve your customer satisfaction ratings. If time and budget permit, a Web app development project might include all of your Could features. But it's a good stopping point, if you need to rush to market or halt spending. You'll still have a good app to take advantage of until it's time to roll out another version.


What Won't the Web App Have?

MoSCoW is important in mobile app development to prevent feature bloat that can deteriorate the user experience.

One of the most frequent problems in Web app development, particularly in mobile app development, is feature bloat. Your Won't category is here to assure that doesn't happen. This group includes all of the things your app will not have, either not now, not ever, or both. Some developers use this category as Would instead of Won't. Such as, the app Would have this if it wasn't already feature-packed, or it Would have that if there were more time, money, etc. This sounds somewhat different than Won't, because Won't might include things you never want your app to have, ever, no matter what.

Are you ready to head to the MoSCoW of Web development? Contact us to get started today.

Topics: Web Application

Brian Geary

Written by Brian Geary

Brian is a true believer in the Agile process. He often assists the development process by performing the product owner role. In addition to his technical background, he is an experienced account manager with a background in design and marketing.

    Get in touch

    LET’S BUILD SOMETHING AWESOME. TOGETHER.