The overflowing-bucket method is a prioritisation method that supports self organising teams while promoting autonomy. The only requirement is a simple priority list. This method helps ensure the product strategy can be communicated and organised around in a way that ensures trust between product and engineering, while giving individuals the space to solve priorities in a self organised way.
Let’s walk through an example by starting with a simple list of three clearly defined priorities - this is all we need to start.
1. The simple priority list
2. The bucket capacity
Each of the priorities has a finite human capacity. This means, for each item, there is a max number of people that could work together to solve it. Nearly all projects have a point at which adding more people just won’t help complete it any better or faster. This limit is what we want to capture here:
Each bucket represents the maximum human capacity for each priority. The water tank at the top represents the total human capacity the whole organisation has available to it i.e. how many people are on the team and available to do the work.
3. Filling the first bucket
The method works like this: We fill the buckets from the top of the priority list downwards. Once the top bucket is full, the water (or people) are free to overflow into the bucket below. This continues until we have run out of water.
Here we see that Problem X is the first bucket to fill up with three people working on it. Adding more people will not solve that problem any faster so we know the bucket is at full capacity and we are doing everything we can to deliver on it.
At this point, any self organising individual can see that their help is not needed there. They can move onto solving the next priority.
4. Overflowing buckets
When we empty all the remaining water from the tank we can see that as the top bucket is full the rest of the water overflows into the one below it. Feature B ends up with two people on it, and even though more would help there (up to six people), it’s ok! The priority order says the first thing to solve is Problem X and that bucket is full so we know we are working on things in the right order. Feature B’s bucket will get the chance to fill up more once Problem X is solved and it’s water can flow downwards.
So what does The Overflowing-Bucket Method ensure?
- Management don’t need to question if enough people are helping on the top priority. By discussing and making transparent the max human capacity needed up front, everyone can be sure we are doing everything we can to get it done. This builds understanding and trust.
- Management don’t need to worry if they see people not working on the top priority because we know it must mean the priorities above it are already being taken care of. This gives individuals a greater space to be autonomous.
- The people who own executing on the items (probably engineers) can be fully self organising as they can be confident that as long as they fill the buckets in order they are doing everything they can to work towards the organisation’s strategies. This means happy users and happy stakeholders .
To recap on the assumptions and requirements for this method to be effective:
- All work on the list has a finite human capacity
- A priority order is always clearly defined (no, not everything can be number 1 ;-))
- Individuals can effectively self organise (ie. you are not in the “micromanage” side of the self org scale)
Note: Ordering the priority list is hard (and a whole other topic), but while thinking about the above it’s good to remember that just because a bucket is full does not mean it will be solved/delivered before the ones below it. To effectively order the list you might want to take into account each items’ value, effort and cost of delay.
The overflowing bucket method is a great contributor to enabling a self organising culture. Check out more about self organising at How to Lead Self Organising Teams.