Since the soccer World Cup is currently taking place in Russia, I thought I’d include reference to the MoSCoW technique in today’s blog. It could be used as part of your vendor selection processes for the purpose of OSS requirement prioritisation.
“The term MoSCoW itself is an acronym derived from the first letter of each of four prioritization categories (Must have, Should have, Could have, and Won’t have), with the interstitial Os added to make the word pronounceable.”
It can be used to rank the importance an OSS operator gives to each of their requirements, such as the sample below:
|1||Requirement #1||Must have (mandatory)|
|2||Requirement #2||Should have (desired)|
|3||Requirement #3||Could have (optional)|
|4||Requirement #5||Won’t have (not required)|
But that’s only part of the story in a vendor selection process – the operator’s wish-list. This needs to be cross-referenced with a vendor or solution integrator’s ability to deliver to those wishes. This is where the following compliance codes come in:
- FC – Fully Compliant – This functionality is available in the baseline installation of the proposed OSS
- NC – Non-compliant – This functionality is not able to be supported by the proposed OSS
- PC – Partially Compliant – This functionality is partially supported by the proposed OSS (a vendor description of what is / isn’t supported is required)
- WC – Will Comply – This functionality is not available in the baseline installation of the proposed software, but will be provided via customisation of the proposed OSS
- CC – Can Comply – This functionality is possible, but not part of the offer and can be provided at additional cost
So a quick example might look like the following:
|1||Requirement #1||Must have (mandatory)||FC|
|2||Requirement #2||Should have (desired)||PC||Can only delivery the functionality of 2a, not 2b in this solution|
Yellow columns are created by the operator / customer, blue cells are populated by the vendor / SI. I usually also add blue columns to indicate which product module delivers the compliance and room to pose questions / assumptions back to the customer.
BTW. I’ve only heard of the MoSCoW acronym recently but have been using a similar technique for years. My prioritisation approach is a little simpler. I just use Mandatory, Preferred, Optional.
I’ve been using MoSCoW for about 5 years, after a previous dev manager wanted to move away from a simple High Medium Low (HML) priority system.
What I like about it is that if you use HML for individual features it’s pretty rare anything below H gets done! MoSCoW encourages people to consider the Shoulds, particularly if they are quick wins. It also encourages the Product Manager (me) to document Won’t, which can help a lot with clarity, e.g. listing all the things Sales were asking for that they Won’t get in the first release! These benefits are all just a little nudges, but it seems to help.
In practice I now combine HML and MoSCoW. HML for the overall project priroitization, and MoSCoW for the individual features within a project.
Thanks for the valuable and practical hints James