Agile and predictability
Simon Noone
I Help Enable Better Outcomes Through Business Agility, Agile Transformation, and High-Performance Coaching
If you have ever bought a lottery ticket, you've probably spent some time daydreaming about what you would do with those millions you might win. You plan out your future and get really excited, only to have those dreams dashed when your numbers aren't announced. You're left feeling a little disappointed, but you always knew there was a high chance that this would happen.
What about when we plan around our work?
Using the lottery analogy; our stakeholders, including customers, buy a ticket to the lottery every time we plan. However they believe they are working with better odds and expect to win, so when our plans fall apart they are left very disappointed. So disappointed in fact, that they might go somewhere else to buy their ticket next time.
This is why predictability is important.
What is predictability?
Predictability is delivering something when you say you are going to
I have been asked to try and define what I think predictability is, here is what I believe; predictability is delivering something when you say you are going to. This could be to a user, a product owner and/or another delivery team. Predictability allows higher quality planning to take place, which is important for all kinds of reasons. For organisations that work at scale, then high quality planning will enable multiple teams to collaborate and deliver against strategy. If we plan well, we make better decisions about how to use our people and resources to deliver value to our customers which translates into income for the business. Predictability is equally important for small companies, even startups, as they cannot afford to disappoint customers as they'll just go elsewhere.
Agile and predictability, is this an oxymoron?
Just enough planning enables us to deliver value early and learn from it so we can improve people, products and processes
I was recently talking with somebody about helping a team to become more predictable in their work, and they felt this was a contradiction to what they understood agile to be. One of the values from the agile manifesto is; "we value responding to change over following a plan", but there needs to be some form of plan to start with. This plan shouldn't be hugely detailed, based on a lengthy planning phase which results in detailed estimates and Gantt charts. That is an approach that doesn't lend itself to the types of problems we are trying solve in the current world, and is what you might call a Waterfall approach which often only leads to a false sense of security. What I am talking about is just enough planning. Just enough planning enables us to deliver value early and learn from it so we can improve people, products and processes.
Do just enough planning to be predictable
A key contributing factor to predictability is well refined work
I believe effective delivery teams are able to balance just enough planning with predictability, so that they are able to deliver value early and keep stakeholders happy. A key contributing factor to predictability is well refined work. To be predictable we need to have gone through just enough planning. There are different techniques to help with this such as a definition of ready. This definition of ready guides the team to ensure we have gone through just enough planning to deliver effectively, an example of this could be:
- Value case is visible and concise
- Customer is known and made visible
- Acceptance criteria is articulated and visible
- Dependencies are visible and owned
- Estimation made visible
- Prioritised on product backlog
Without this level of planning the forecast plan is likely to be low quality, and difficult to deliver against.
The impact of predictability on trust, autonomy and engagement
Teams are only really granted autonomy when there is trust. Predictability can have a significant impact on trust, both positively and negatively
Creating an environment where the people who contribute to delivering on business strategy are engaged is critically important to business success. Many factors support high levels of engagement, but one that is often referenced with agile ways of working is autonomy. Autonomy is associated with building happier teams who are empowered to deliver great products, thus creating happier customers. In my experience teams are only really granted autonomy when there is trust. Predictability can have a significant impact on trust, both positively and negatively. To illustrate this, imagine two teams;
- Team A: deliver on forecast most of the time, enabling PO to manage customer expectations and foster high level of advocacy to support future product roadmap
- Team B: inconsistency of delivery against forecast, which prevents PO from being able to manage customer expectations. This results in a lack of customer support for future roadmap
Team A are much more likely than Team B to have a high level of trust built with their stakeholders. Team A are likely to be left alone to carry on doing what they are doing, as the PO and the customers are getting what they want most of the time. In this scenario Team A would be more likely to have autonomy. However, imagine what it would be like for Team B. Obviously there would be a different environment, likely to see more pressure from leadership. The customer is not getting what they want. If the customer is not getting what they want there is a risk they will go elsewhere, and that means funding risks so naturally there will be increased leadership interest. In this scenario Team B are unlikely to have autonomy.
Trust is usually built over time. It can be hard to earn, and easy to lose.
Take aways...
- Predictable delivery helps to build trust and is likely to result in better outcomes for customers and more autonomy for teams. Invest in enough refinement to support predictable delivery
- You can be predictable without delivering any value, so always ensure that the work has real customer value. If things change then respond to the change and re-plan
Thanks for reading, if you have any thoughts please do share as a comment.
Principal Solutions Architect - Global Financial Services at Amazon Web Services (AWS)
6 年Agile does not mean “no plan.†It means is that you should have a general idea of where you’re trying to get, and only do detailed planning as far downside the road as you can see (the next sprint). So I wonder what “inconsistency†really means. Is team B just worse at estimating? (Need coaching) Or are they discovering a lot of unexpected work? (Need more story refinement) Or are they failing to deliver working code? (Need to adjust Definition of Done)
Business Growth Specialist | Business Community Leader| Business Connector
6 年Agile and predictability can be applied in so many areas…
Program Manager | Delivery Lead | Agile Practitioner | I specialise in driving digital transformation programs and help project teams to deliver their best work
6 å¹´Great article, great take aways!
Senior Engineering Manager at Experian Consumer Services
6 å¹´Great article Simon and completely agree with the points you raise.? A wise man once told me teams need to be 'reliable' before they can be 'predictable'.? Isn't the English language great... Predictable: "Something that is predictable happens in a way or at a time that you know about before it happens" Reliable: "Consistently good in quality or performance; able to be trusted" You first need to be able to trust a team to be able to do what they say they will.? They could have a varying velocity but if they hit their goals, then great.? The next step is moving towards that consistent velocity and hitting those goals.
Freelance Agile Coach, Postgraduate student in Creative Writing at Nottingham Trent University, NTU WRAP Lead Writer, previously maintained a programme of workshops and events at Nottingham Writers' Studio..
6 å¹´Really good read, Simon. Most people should understand any plan is at high-risk of change so it's about managing the risk and the communications. I doubt many people ever create a plan, waterfall or Agile, that goes exactly to.. erm... plan :-) And if they did I'd say they were very lucky rather than being an amazing planner! I read somewhere else that a good output from a PI planning session is an agreement between the Dev team and the Customers. Everyone sets off on this journey in good faith but through regular check-ins everyone is aware of bumps and changes in direction as early as possible. We?need to understand?a team's velocity and measure whether they can deliver against it. If a team is working at full capacity but that is eaten up by fixing unknowns then the plan is already impacted and should be reported on via the correct governance. And I like what you say about you must have some idea of where you are going BEFORE you start. There's a good quote from Alfred Wainwright, the hill walker, he said, 'An objective is an ambition, and life without ambition is ... well, aimless wandering.'