AndPlus acquired by expert technology adviser and managed service provider, Ensono. Read the full announcement

The MoSCoW Method - A Software Development & Design Principle

Nov 13, 2017 9:05:00 AM

illustration of laptop computer with gears ad application screens falling out of the display“Sir?”

“What!? Can’t you see I’m busy? None of project development's stories are getting done on time and user features are still lagging behind.”

“I‘m sorry, sir. I know you're busy, but Mr. Petrov is on the phone. He says he may be able to help.”


“Sergei Petrov, our contact in Moscow.”

“Oh, that's unexpected. What’s he want?”

“He said it’s for your ears only. And it’s terribly important. Something about the MoSCoW method.”

“Can’t I call him back later?”

“He insists he needs to speak to you right away.”

“Very well, I guess you can put him on.”

“Just pick up the red phone, sir. He’s waiting for you.”

“Sergei, how’s it going? Why are you calling me on an unsecured line?”

“Very funny. I'm calling to give you some very important Russian advice.”

“Lay it on me.”

“I see what’s going on in your company, and I think the problem is you are trying to do too many things at one time.”

“Tell me about it. Turns out code isn't written in a day. And accounting is like a teenager – they just don’t want to approve what I want to spend.”

“Exactly. I'll tell you something I learned from our Russian hackers—I mean, software developers. It's a very important method, we call it the MoSCoW method. We use it to set priorities.”

“The MoSCoW method, huh? Is that some kind of code word?”

“Yes, yes, it's a code word. It stands for 'Must Have, Should Have, Could Have, Won’t Have.'"

“Whoa, slow down. That’s too many for me. And anyway, all my priorities are must-haves.”

“You see, that is why you can get nothing done. When you have a hundred priorities, you have no priorities, because you don’t have time or resources to do all. You must do like Russians do, and rank them.”

“Okay, explain.”

“Right. So, I give you an explanation my hackers—I mean, developers—give me. They use it for software, but you can use it for any kind of project. First is Must Have: features that absolutely must be there, or the whole thing is useless.”

“Makes sense. And Should Have?”

“Should Have is features that make the software better or more useful than what is available now.”

“Oh—like a market differentiator?”

“Yes, yes, exactly. You catch on fast. Next is Could Have: things that would be nice to have if there is time or budget available after the Must Haves and Should Haves have been included.”

“I like it. One more, right? Won’t Have?”

“Yes. Won’t Have is things that would add no value, or are too risky or complicated compared to potential return.”

“Got it. These are things that aren’t important enough to risk slipping the schedule or going over budget, right?”

“Exactly, you are a fast learner!”

“But wait – what if things change and the priorities don’t match our needs anymore?”

“It's easy. You can re-prioritize at any time. My developers—re-prioritize after every sprint.”

“Sprint? Like the phone company?”

“No, no, it's a developer term; don’t worry about it. All you need to know is: you should check priorities once in a while to see if they still make sense.”

“Excellent! I can use this for all my projects, right?

“Yes. It's always important to keep your priorities straight so you can get—how do you Americans say?—the best bang for your buck.”

“I get it! This will be epic!”

“Yes. You can now go make a company that's the biggest and greatest.”

“You took the words right out of my mouth! But I have to say, if this doesn’t work, I’m calling you back.”

"Sorry, but my time is busy. That will be a Won't Have for you."

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