Example of Horizon Planning
I often talk about the idea of planning horizons, especially regarding product milestones and architecture. It’d be helpful for me to provide a short example of what I would typically do for a client or group.
The Approach
The way I approach the product is to understand what is already under consideration for scope, objectives, and architecture. While in my head, I assume I will see way too much scope, too few objectives, and a diagram that says “The cloud” for architecture, I find out what exists.
Next, I will conduct market research to find out where the value lies in the market and the possibilities for revenue and channels like mobile or web.
Now that I have all of this, I’ll use something like Impact Mapping to create the scope for the product.
Impact Map
This technique is useful, quick, and provides focus on the right areas of product and technology. In essence, it’s a mind map. It has a specific structure to follow, and when you complete it, you have this lovely structure that connects objectives to stakeholders/customers and the work you need to do to accomplish those objectives with those people.
Most other techniques talk about the work and struggle to create such a strong connection to the objectives and customers.
First Pass
Now, let’s take some example goals here.
Goal | Measure | Metric |
---|---|---|
Gain a million customers | 1000000 | Sign ups |
Generate 3 million in revenue | 3000000 | Subscription revenue |
We identified these goals with the business and other folks in the impact map. Let’s assume there are some more, but these are the big ones that everything hangs on.
Now, we’ll break it down.
Second Pass - Horizon 1
Goal | Measure | Metric |
---|---|---|
Gain 10000 Customers | 10000 | Sign Ups |
Generate revenue | 0 | Revenue |
Take a look at what has happened. I’ve cut the first goal down to something we can target far more quickly while removing other goals as complications. This doesn’t mean that they don’t matter. It means we’re focusing on one goal right now.
Let’s go further, though, and assume that as we look at getting folks to sign up, we will add the goals we need for technology and anything else that emerges as we break this down.
Goal | Measure | Metric |
---|---|---|
Gain 10000 Customers | 10000 | Sign Ups |
Generate revenue | 0 | Revenue |
Server operates within threshold | 80% | RAM/CPU utilization |
DB Response time kept reasonable | 1000 ms | Slow query response |
Page load | 2s | Page load on initial app screen |
What I’ve done is take that first set of goals and add architectural ones. This step happens with the architects or technical leaders as they pick their tech stack and choices. Now they know what success is on day one and can choose accordingly.
Horizon 2
The next horizon assumes we crossed Horizon 1 successfully, and it’s an iteration of the first horizon.
Goal | Measure | Metric |
---|---|---|
Gain 50000 Customers | 50000 | Sign Ups |
Generate revenue | 20000 | Revenue |
Server operates within threshold | 80% | RAM/CPU utilization |
DB Response time kept reasonable | 500 ms | Slow query response |
Page load | 2s | Page load on initial app screen |
Cloud Cost | 20% | Revenue |
If you look at these goals, you’ll notice we’ve increased the business goals and encouraged better technical performance simultaneously.
The idea here is that we’re scaling the business now and must be attentive to all aspects. Our first goal allowed quite a lot of freedom to make unsustainable decisions, but this second horizon may require rethinking those initial choices.
Horizon 3
And now, I’ll provide an example of a much later iteration.
Goal | Measure | Metric |
---|---|---|
Keep 100000 Customers | 100000 | Sign Ups |
Limit Customer Churn | 2% | Churn per month |
Generate revenue | 3000000 | Revenue |
Server operates within threshold | 80% | RAM/CPU utilization |
DB Response time kept reasonable | 500 ms | Slow query response |
Page load | 1s | Page load on initial app screen |
Cloud Cost | 20% | Revenue |
DB Recovery time | 25 | seconds |
DB Transaction Loss | 1% | Transactions per month |
Defect Rate | 2% | Code per month |
Release Frequency | 5 | Per day |
Hopefully, this helps illustrate what I mean by horizons now and how I plan goals around them. They include both business goals and technical ones. We can scope things, measure results, and adapt from these goals.