FPO-Case-Featured-Image

When facing a new software project it is often difficult to know where to start in an ocean of requirements. Prioritizing hundreds of features and functions can be daunting without a compass to guide you. What should we work on first? What is most important? Maybe a good place to start would be to ask – “what is important to us?”

At CodeScience we want to get deeply meaningful apps into an end users hands as quickly as possible. We find that calculating the business value for each feature is a great way to do this. It gets to the heart of what we should build first by weighing the perceived importance of a feature and the time it takes to build it. But what exactly is business value and how can we calculate it? Let’s start with what it’s not. It is not just a list of business priorities. We shouldn’t just build what seems most important to the business first because that takes out a crucial consideration when determining our path to market – Speed. For example let’s imagine we are building a real estate website. Rick the realtor is our client. Rick wants to allow users to schedule appointments for properties that they are interested in. Rick also wants to show an integrated Google map for each listing to allow his users to easily find the location of the property they are viewing. We have 2 features here:

  • Appointment Scheduling
  • Google maps integration

Rick says Appointment scheduling is most important and Google maps integration is slightly less important to him. So we build the Appointment scheduling first, right? Not necessarily. Let’s say the Appointment scheduling requires a number of API calls to Rick’s existing scheduling system and it could take up 5 weeks to build while the Google maps integration will only take around a week to implement. In this case it makes sense to build out Google maps (a slightly lower priority) before Appointments so we can get something very important in the hands of the users as quickly as possible. When determining a product delivery strategy we must consider the requirements’ priorities and the speed of implementation. We need priorities and estimations. Only then do we have the variables to calculate business value. So now we that we have established that business value has 2 dimensions – priority and speed. How do we calculate it? We multiply Priority and Implementation time. The lower the number the higher the business value.

Priority x Implementation Time = Business Value

Now that we have our calculation let’s look at it in relation to Rick the Realtor’s feature list with his priorities and estimates from our development team.

Feature Business Priority Estimate (by weeks) Business Value
Appointments 1 5 5
Maps 2 1 2
Search 3 2 6
Calculator 4 2 8
Filtering 5 1.5 7.5

So, as we can see here if we were to follow traditional priorities we would build Appointments first, Maps second, Search third and so on. But if we look at the calculated business value column we see a richer set of data. It shows us that we should build Maps first, then Appointments, then Search, and finally Filtering and the Calculator. As we can see here the business value calculation can give us a clearer and more balanced vision into our delivery strategy. So in the future when you are considering a list requirements we encourage you to consider the priorities in relation to “speed of implementation.” After all, getting there might be half the fun but getting there fast might be a game changer.