The 14 Characteristics of a Great Agile Customer
This article will be about 14 characteristics of a great agile customer. The focus is mainly on the ‘external’ customer, but most given…
This article will be about 14 characteristics of a great agile customer. The focus is mainly on the ‘external’ customer, but most given examples are also relevant to ‘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, keeping the scope flexible, starting small & fast, settling for a complete Scrum team, describing 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 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 set up 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 to 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 organizes 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 motivating 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, analyst, 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 causing 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 your 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 the necessary information, and attend the Sprint Review. A great customer will also help to refine the Product Backlog if the Scrum team invites him. He can clarify features and state the importance due to 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 supplier's Scrum team. This would be an ideal situation because the Product Owner quite logically knows his organization 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 recognizes 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 in 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 spent 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, and technical debt, and have some time to give support. A great customer understands 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, behaviors, and conditions of a great agile customer. There are probably many more examples, if you know any, feel free to share them!
[1] http://www.romanpichler.com/tools/vision-board/

Originally published at www.barryovereem.com on June 29, 2015.