Prioritizing Features by Customer MoSCoW and ROI
The list of stuff to do for a Scrum Team or any organization is endless. I have never worked at a company that could not spend years fixing bugs, developing new product, making process improvements, cleaning code or just find new ways to give information to its customer. Product Owners (PO) have a tough job of figuring out priorities of Features, Stories or Bugs for the Team to work on. One way of prioritizing is just by Return on Investment (ROI), another may be using the MoSCoW and others could just be based on creating the latest new hot product. I would like to suggest a combo of MoSCoW and ROI with the following prioritized order:
- Customer MUST Have (The “M” in MoSCoW)
- Brings in Immediate CASH INCOME – ROI
- Customer SHOULD Have (The “S” in MoSCoW)
- Saves the Company Money – ROI
- Customer COULD Have
- New Customer – Future ROI
- Won’t Have (Would like)
- Gold Plating – Only after the company pays bonuses and donates to charity
MoSCoW stands for Must Have, Should Have, Could Have and Won’t Have (Would Like) prioritization method was developed by Dai Clegg and used in the agile management method Dynamic systems development method (DSDM). See https://www.dsdm.org/content/moscow-prioritisation-0 to learn more.
Below is a chart that gives an idea of the priorities in Quad Chart Form. With the Sweet Spot being in the Upper Left Quadrant.
In the chart above the Customer x-axis goes from Existing (Oldest) to Newest to New and on the vertical side Cash Flow goes from Immediate Cash flow impact to Future to None or Unknown.
I have a slightly different interpretation of the MoSCoW and ROI priorities:
1. MUST – means things like this, if we don’t do this the result is:
- a Current Customer will bolt to a competitor,
- The Business or Legal won’t let us put this out on the market
- A Current Customer can buy anything or something on our site in other words we can’t get paid or bill. (This is really bad if you want a paycheck.
- The VP is wanting this, like that never happens.
- Losing a customer is a million times harder to get back
In other words MUST items get you paid with current customers.
2. Immediate CASH Income (ROI) – means things like this, if we don’t do this the result is:
- Hey, we could add a related link to Amazon books on the subject and get paid if the visitor buys the book!
- By doing this, we can accept credit cards
- A new flavor of Ice Treats or we have Mango flavor, so come and get it Greg Mester (https://www.facebook.com/OldWorldIceTreats/). I love the Mango 🙂
- Quick message for a overstock item or something to make some cash on.
In other words Immediate Income means get some cash on hand and we all know Cash is King in business.
3. SHOULD – means things like this, if we don’t do this the result is:
- a Current Customer should not take over 2 minutes to buy something,
- The customer is really going hate to click 10 times to get where they want to be.
- .It will make the customer happy and tell their friends how good we are
- It improves the customer experience
- It is always easier (so to speak) to maintain a current customer than to locate new ones
In other words SHOULD items get you paid with current customers.
4. Saves the Company Money (ROI) – means things like this, if we don’t do this the result is:
- Many new products that come out on the 1st go around have a bunch of places to do things more efficient and save the company money, but the ideas typically require a little math to figure out if it is worth it
- Automated Testing is another way to save. By including an extra task in a story to create an Automated Test nugget, you will save money on future regression testing. Manual regression testing always bugs me.
- Creating a new procedure for ordering equipment for new teams, so they can start coding faster
- Deploy servers at two different locations on two different grids, so your entire airline does not ground to a halt and you lose or don’t make money while the system is down. Hint, Hint. Some people forget to code for multiple clusters and nodes.
In other words Saving Money means prevent a loss of cash flow or expending more than necessary in the future.
5. COULD – means things like this, if we don’t do this the result is:
- if we flip this switch then the customer could see this
- if we add this plugin the customer could see reviews
- we could add Scrum Quotes or historical quote when the customer logs in
- we could add a weather link
In other words COULD items may make the customer experience a little more enjoyable but it does not necessarily entice them to buy.
6. New Customer – Future ROI – means things like this, if we don’t do this the result is:
- This new cataloging feature for we created could become a whole new marketing line
- Lets’s retool the website for iPhone or Androids (Hey the largest number of devices are the handhelds and not laptops/desktops).
- We now have our products grouped Organic, Green, Sustainable, etc.. we can now market to a new clientele, so we need a new website to start selling in that market.
In other words New Customer – Future ROI means it could take a chunk of cash to develop a new customer base. However, I believe it is wise to broaden the customer base as a company grows. It is not wise to have all your income from one customer. Plus if you are an ostrich and not looking outside your hole, your company might be missing a great potential.
7. Won’t or WOULD Like to Have– means things like this, if we don’t do this the result is:
- The customer would their own company logo on top of the screen
- A new field for Organic, Green, Sustainable. However, it might take the business a month to go through and classify all our products. This can wait until the data is populated, so don’t build the User Interface (UI) for it.
- Maybe to go into a new market or add video training films, we need to add a new server farm.
In other words Won’t or Would items may make the customer experience a little more enjoyable but it does not necessarily entice them to buy. It could also be that the business is just not ready with the data to support building something. Or the technology is not quite their and we have to add more servers or faster ones.
8. Gold Plating – means things like this:
- I have no idea if it will make us money, but I think it is really cool
- This is what I think the customer wants, but I have not asked
- Let’s add a Star Wars theme or Pokemon battle theme. (Though this might be cool.)
- Let’s allow the customer to change the background color.
- We have no research on ROI, but we think this will help us get new clients and sell more.
The Scrum Master and the Scrum Team should be providing feedback if they really think something is Gold Plating and question the PO on the value sometimes. There is nothing worst than writing code for something that will never see daylight.
Well I hope this article gets the Product Owners, Scrum Teams and Scrum Masters thinking about prioritization questions they can ask each other.