Treat plans as a set of hypotheses and test them<
">Working in small increments and deferring decisions can help with that.
If we continuously check whether our assumptions are correct, we are much more likely to end up with something that works.
Might your initial plan change?
Absolutely!
And that's a good thing because we're not trying to blindly follow a plan but create value for our customers.
What and when to validate<
">deferring decisions , you don't want to constantly check every assumption.
That's because not every assumption has the same impact.
It would be best to focus on the assumptions that would derail you completely.
How can you do this?
Start tracking your hypothesis< > >
The first thing you need to do is track your hypothesis.
# Title
What is the assumption we're making, and why is that important?
## Impact
What impact on the plan would it have when this assumption is wrong?
The impact of an assumption can be anything from "none" to "need to cancel."
## How to disprove
What can we observe that would show us that our assumption is wrong?
Is there a particular user behavior, KPIs we can track, or something else?
## Who can validate the hypothesis
Which people can validate this hypothesis?
When no one can validate a hypothesis, this is a sign that you should not be doing what you're about to do.
Link hypothesis to your work< > >
You might be tracking work with issues, tickets, epics, or any other format you like.
It doesn't matter which style you prefer.
Once you've formulated your hypothesis, you should link them to your planning artifacts.
The important part is to do this on every level.
Items representing a broad road map will have many hypotheses linked to them, and individual tickets might end up with one or none.
That's fine.
By relating your work plan to your hypothesis, you've already created transparency for everyone who wants to know.
This way, people you don't regularly interact with can comment on your hypothesis and contribute valuable feedback!
Rank hypothesis based on impact< > >
There are a ton of ways to define impact.
I choose the (what I believe) easiest one.
For each hypothesis, count how many work items it relates to, and then sort that list descending.
The hypothesis at the top will have the highest impact because much work depends on it.
Should this hypothesis not hold, then a lot needs to change.
Make sure you'll have clarity around this one as soon as possible.
By regularly testing your top hypothesis, you can decrease the risk of your overall development process.
You'll spend more time on things that matter and less time on stuff that doesn't have an impact.
That's great news!
You can also use the list of hypotheses to make it clear to outside stakeholders that you're going down a precarious path because you're working on something that can't be validated and has a high risk of failure.
Use that information to your advantage!
What do you think about this approach?
While it is very similar to what engineering teams around the globe already do, it also adds more transparency in an area that is often overlooked.
I'd like to hear about your experience, so tweet at @philgiese on Twitter (as long as it still exists).