When is it finished? When will it be in production? How frustrated it is to constantly be in meetings about roadmaps and planning not being able to predict? Most of the time this situation occurs when deadlines are constantly postponed, and people get impatient. This results in constantly explain what is going on preventing you from doing your job.
There are multiple reasons why we are struggling with predictability. These are the most common reasons:
- Changing team;
- Constantly changing focus;
- Dependencies outside the team e.g. developers;
- Technical debt;
Let’s just be very clear about this one. Without a stable team it’s almost impossible to predict. One of the drivers of agile implementations and partners of Jeff Sutherland, the inventor / co-creator of scrum, told us that it takes about 4-5 sprints to become ‘more’ predictable. Members need to understand the product, organization but also sync with each other. Take your time and be transparent about it.
2.Constantly changing focus
Multitasking can lower productivity by 40%. Multitaskers experience problems focusing on complicated tasks, next to this it also prevents people to learn can and creates stress. The simplest solution to solve this is to focus in your sprints and work on one sprint goal. It’s crucial that your able to apply focus and have mandate, no one can take the steering wheel. Other tips that worked for us are:
- Communicate that productivity comes from not bothering team members;
- Communication about the product goes through the PO;
- Say NO to work being pushed in;
- Ask team members where they spend time on, e.g. work for other teams;
- Create transparency to show the impact of changing focus;
- Identify bottlenecks and fix them.
3.Dependencies outside the team
We believe that it’s very important to be able to completely steer a product from design to delivery. In a lot of team’s expertise is shared. Developers, UX-ers, Testers. If you’re not able to control what happens outside your team, then you won’t be able to predict when parts of the product are finished. Members of other teams will probably follow a different priority. This also includes missing knowledge.
The biggest annoyance here that in most cases your still being seen as the person responsible if you miss deadlines. How to prevent this?
- Identify missing capacity, knowledge, expertise / roles;
- Be clear to key stakeholders about why this is crucial to the team;
- Communicate bottlenecks.
We have seen different examples. Waiting on UX-designs, back-end not finished or issues constantly postponing key developers to finish what we need.
A lot of PO’s have to deal with technical debt. One of the main reasons are old products turning into juggernauts that constantly creates issues. Key developers that left without proper documentation and/o or no one understands how the product works. Poor coding and deployments causing unexpected issues.
One of the biggest pitfalls for us PO’s is just communicating delays and which products we release, not showing the troubles with our technical debt. Some tips here are:
- Communicate how much time you spend on technical debt;
- Identify the biggest bottlenecks / pareto;
- Create a plan to solve these problems;
- Reserve a % of dev time on technical debt;
- Include the above in your sprint reviews.
Finally, the biggest tip is to reserve time to stand still and look around. See what is happening to structurally improve big bottlenecks and prevent getting stay in the day-to-day trap. These are probably things are being communicated in your retro, make sure your retro turns into actions that go into your sprint!