The 14 Characteristics of a Great Agile Customer
Barry Overeem
Co-founder The Liberators & Columinity: a product to help teams improve based on scientific insights. ??
Two weeks ago, I started writing a series about the characteristics of the different roles relevant in an agile environment. So far I've published articles about the Product Owner, Development Team, Scrum Master and the Agile Manager. This article will be about the 14 characteristics of a great agile customer. The focus is mainly the ‘external’ customer, but most given examples is also relevant for 'internal' customers.
A Great Agile Customer...
- Supports agile contracting. A great agile customer understands that for agile projects to succeed the contract itself should also be agile. Therefore the customer embraces some proven practices, like agreeing upon buying sprints with a focus on business value, keep the scope flexible, start small & fast, settles for a complete Scrum team, describe the problem instead of the solution etc. Both the supplier and the customer define their common assumptions about business value, implementation risks, effort and costs. Together they think of the best approach to build the product.
- Creates the product vision & backlog together. A great agile customer discusses the product vision together with the supplier, ensures shared understanding and support, and crafts a Product Vision Board[1] around it. Together with the entire Scrum Team they setup the first version of the product backlog. This is a great exercise, even when the customer and supplier haven't agreed upon the agile contract. Due this effort they learn what collaboration feels like and the first steps to building a trustworthy relationship are taken. Both parties can now decide if they really want to collaborate with each other.
- Joins the initial estimation of the Product Backlog. A great agile customer organises a workshop to estimate the first version of the Product Backlog together with the Scrum team. They have an attitude and mindset that focuses on shared understanding. They respect every estimate of the Development Team and only have discussions aimed to improve the Product Backlog. An advantage of this approach is that the customer learns about possible complexities or vagueness and can answer questions directly.
- Starts small. A great agile customer understands that although the product vision might encompass a huge product, you better start small. First agree upon doing only one sprint that delivers the first business value. See what the collaboration is like, do a Sprint Review together, and agree upon doing another sprint. Focus on building the Minimal Viable Product, an experiment that teaches everyone something that wasn't known.
- Attends the Sprint Review. A great agile customer supports the Scrum team by attending the Sprint Review. They understand the Sprint Review is the ideal moment to inspect the delivered increment, and release it to production if the Product Owner finds it useful enough. Nothing is more motivation for a Development Team than a customer that is truly engaged with the progress of the team and is eager to see and discuss the results.
- Respects team stability. A great agile customer understands the different stages of team development and hereby knows the importance of team stability. He understands that every change in team composition influences the velocity. If changes are necessary, the team itself will act on it, never the customer. This is one important way to respect the self-organizational power of the Development Team.
- Respects team composition. A great agile customer settles for the Scrum team as a whole (including a tester, analist, designer, Scrum master, developers etc.) He respects the current composition of the team and focuses on the outcome. He understands the Scrum team truly is a team, not a bunch of individuals that can be shuffled without causes problems. Fixed Scrum teams that have been working together for a longer period, have experienced ups & downs, they know their strengths and weaknesses. A common pitfall is to separate this 'golden team' when a new customer/project arrives. Don't do this. Keep the team together at all costs, it's for you own benefit.
- Describes the problem rather than the solution. A great agile customer trusts the Development Team to find a solution for his 'problem'. They are the experts with the used technology and have experience with building the product the customer has in mind. As a customer, you've chosen the supplier for a reason. Therefore, it's advised to jointly clarify the problem to be solved than describe the solution yourself.
- Is available. A great agile customer is available for the Development Team. Available to answer questions, provide necessary information and attend the Sprint Review. A great customer will also help refining the Product Backlog if the Scrum team invites him. He can clarify features and state the importance due which the Product Owner can order the backlog and the Development Team can discuss the technical solution and estimate the effort.
- Provides a Product Owner. A great agile customer has a Product Owner available that can be part of the suppliers Scrum team. This would be an ideal situation, because the Product Owner quite logically knows his organisation best and hopefully has enough mandates to make swift decisions.
- Throws away their business cards. A great agile customer throws away all the business cards at the start of the project. Even when working with different suppliers, throw them all away. A great customer understands the importance of collaboration and recognises the barriers business cards / hierarchy can create.
- Embraces change. A great agile customer understands the complexity and unpredictability of software development. He understands it's all about exploring and discovering the best solutions. The building of the product is a journey during which everyone will learn. The best products will be the ones that embed these lessons learned and insights. Therefore the customer supports experimentation and creates a fail-friendly environment. He doesn't panic when a mistake is made and trusts the team to solve complex problems.
- Doesn't ask for detailed reports of time spend. A great agile customer focuses on the business value a Development Team delivers. Not the specific hours that were necessary. Before the sprint starts the customer and the team can discuss the desired outcome. The customer should support the team in achieving this result; this might be by helping remove possible impediments or just being available. When the sprint results with the increment they aimed for, they celebrate the success together. When the results are a bit disappointing, they collaborate to discuss possible improvements. They understand checking the hours spend by the Development Team (in detail for every user story or even individually and not with the goal to learn), is a waste of time and will only result in distrust.
- Understands the structure and content of the Product Backlog. A great customer understands the Product Backlog doesn't only consist of 'new features'. The Development Team also needs to work on technical innovation/architecture, technical debt and have some time to give support. A great customer understand the Product Backlog is ordered taking into account priority, risk, learning, business value, effort etc. Therefore the Sprint Backlog will be a variety of new features, innovation, refactoring and support. In the end this will result in a stable, reliable product and therefore also a happy customer.
That's it, the 14 characteristics, skills, behaviours and conditions of a great agile customer. There are probably many more examples, if you know any, feel free to share them!
[1] https://www.romanpichler.com/tools/vision-board/
Projectmanager | Programmamanager | PO | Agilist | Facilitator | Scrum Master @ Het ConsultancyHuis
9 年Hi Barry. Thanks for your post. A Great Agile Customer contributes to a Great Agile Team. In the Product Owner section you pose she/he "hopefully has enough mandates". Sometimes lack of PO mandate and decision power is the weak spot of the game. In the ideal world our Great Agile Customer of course understands the importance of mandate, supports her/his PO's pro-actively and arranges and monitors that lack of PO mandate won't lead to impediments. CU.