Does this sound familiar?
You’re coding this amazing new project and are busy implementing all the cool features.
But after a few days, you slowly start to lose track of the progress and which features you should add first.
This means that you get confused, frustrated, and angry because it seems that you’ll never be able to finish the project.
That’s why if you read this blog post till the end, you’re going to discover the exact framework called MoSCoW, that professional developers use to prioritize the requirements of their projects in a way so that they never lose track of it ever again.
First, let me tell you a quick story about how I learned this framework and what it has done for me.
“Oh my god, this is the best thing ever….” I said while almost falling off my chair from excitement.
As my teacher just explained a framework that would help me become a way better software developer.
You see, ever since I started my coding journey at the age of 14.
I worked on hundreds of projects that helped me gain so much knowledge and understand deeper concepts of software development.
But unfortunately, almost all of them never saw the end of the day.
The reason for this was that I never knew how to prioritize the features that would go into my project in a way so that I knew exactly what to do next.
Instead, I always jumped straight in (I still sometimes tend to make this mistake to this day) with pure excitement and write the code right away.
This has caused me to abandon 90% of all my projects because, after a few days, I was completely lost and had zero clue about what I had to do.
Then once my teacher showed us the framework that I’ll be sharing with you today.
I knew immediately that it’ll solve the problem that I constantly was facing.
The framework is called MoSCoW, and professional software development teams use it to prioritize the requirements (features) of their coding project.
The framework exists out of 4 steps:
- What are the Must-Haves?
- What are the Should Haves?
- What are the Could Haves?
- What are the Won’t-Haves? (This time)
Now, let’s dive into the tactics.
What are the must haves?
First of all, you need to write down which requirements your project must have for it’s first released version.
For example: login, register, profile page, and the database tables.
At the end, it all depends on your project.
Step #1: What are the must haves?
First of all, you need to write down which requirements your project must have for its first released version.
For example, login, register, profile page, and database tables.
In the end, it all depends on your project.
Step #2: What are the should haves?
The second section is where you will list all the should haves.
These are usually the requirements that are still important for the initial release of the project, but it won’t matter so much if they are left out and implemented later.
Step #3: What are the could haves?
Third is the should haves. I usually list the features here that would be nice to have for the initial release, but would only be added if there’s still enough time. Otherwise, I’ll add them during a later version release.
Now last but not least, the won’t haves (This time)
The reason why I wrote “This time” is because these features will eventually be added. Just not during the upcoming version release.
TIP: As you release different versions of your project, should-haves from the previous release could turn into the must-haves and could-haves can become the should-haves.
So that’s it for this blog post. I genuinely hope that you learned from it and that it will simplify future project creations for you.
Oh and remember, your dream career is just one step away!
Btw, I recently opened a FREE giveaway where 5 lucky winners will receive two weeks of video materials for FREE, from my JavaScript Mastery Blueprint.
It’s a must-have for anyone who wants to become a professional JavaScript developer.
You can join here: https://michielarkema.com/jsmb-giveaway