Delivering Value with Agile Teams
Ralph Jocham explained in the InfoQ interview Scaled Scrum at the Swiss postal services how they managed to deliver three months earlier than planned using the Nexus framework. In this interview Jocham talks about how to deliver value with agile teams, the most important skills that Scrum masters and product owners need to have, how you can know that the quality of the software that you are delivering is right and what teams can do if they want to deliver more value.
InfoQ: Can you share your view on delivering value with agile teams? What is value?
Jocham: Value is a very important but also ambiguous term. At the end of the day value is about money, the profit that you make by selling a product or service. In Scrum it is the Product Owner’s role to maximise value. We consider the Product Owner as a product manager covering in an agile way all the product related work in tight collaboration with the Development Team, allowing synergies.
Apart from value as a profit, value can be found in:
- the vision: a clear goal communicated by the Product Owner enables self-organization at a very high level, enabling more value by leaving answers and decisions open for discovery
- the order of the Product Backlog: by showing dependencies, addressing feature or technical risks early on, and most importantly delivering high value items at an early stage
- the release: until you make a release you only have an inventory. Specification, partly implemented functionality (source code), documentation, essentially everything you do leading to a release is bound capital. A release is the only mechanism, your only chance, to create value. However not every release guarantees value as it is the market, by purchasing the product or service, that decides whether or not value is generated. The more often you have a release the more often you can learn from the market, the more often you can inspect and adapt in order to optimize the value in subsequent releases.
- negative value: we shouldn’t forget about this one. Everything you do that results in unhappy customers is negative value, such as bugs, unstable product, bad UI changes to name a few. Make sure that your product or service always is of the highest quality possible.
InfoQ: Which are the things that in your opinion play a role for teams to deliver value?
Jocham: Most importantly of all being "Done" at the end of the Sprint, Done in the meaning of being potentially releasable. If you are not "Done" you only created inventory. Not every Sprint mandates a release, but being "Done" enables the business to move as fast as needed. In order to be "Done" you need a cross-functional Development Team, you need all the required skills to do all the work. I like to use the equation TEAM=PRODUCT; what is in the Team might be in the product, what is not in team can never be in the product.
State of the art engineering practices also play an important role. Relying on the empiricism of Scrum allows to discover the right product. Scrum doesn’t tell you how to do it, it is technology agnostic. In order to sustain value in the long run you need a very sound technical foundation. Otherwise support and maintenance will eat value for breakfast.
InfoQ: What in your opinion are the most important skills that Scrum Masters need to have? And which ones do Product Owners need to have? Why?
Jocham: In the Scrum.org trainings I teach we have an exercise about this question. Below are the top answers from hundreds of my PSM and PSPO trainings:
- EQ / Empathy
- Moderator / Facilitator
- Domain / Business Knowledge
- Technical Adept
As a Scrum Master you need to know Scrum in and out. This skill is only acquired through years of practice and hard work. In my experience too many so called "Agile Coaches" lack this essential skill because, to be effective, they all should perform at the "ri"-level (based on Shuhari, which describes the levels of learning and mastery). Communication is the second most important skill. As a Scrum Master you need to solve all kinds of impediments within the enterprise, and work closely with your Development Team. The same applies to EQ and Empathy. You need good communication skills and even better listening skills -- which I personally consider as a form of communication -- to understand and empower each member of the team. As a Scrum Master you need to run all the Scrum Events from Sprint Planning to Retrospective, as well as all other important workshops. For that you will need to be a skilled moderator and able to apply the right facilitation skills in the given context. Remember to do the right thing regardless of the consequences, stand up for your team, and never take "No" for an answer.
As a Product Owner you should see yourself as an entrepreneur, pursuing a grand vision through many small goals. For that you need to know the business and its domain in and out. Without that knowledge you won’t be able to make these tough decisions along the road and even less to be able to prioritise competing ideas. Also you should be technically adept and work closely with the Development Team to minimize technical debt and to maximise value through the smart use of available and upcoming technologies. All this requires strong communication skills.
InfoQ: How do you know that the quality of the delivered software is right?
Jocham:How do you know that you are healthy? You don’t. You do your very best within a healthy lifestyle and watch out for concerning signs. It was the same for this product.
Before we continue let’s make a step back and answer the following question. What kind of qualities do exist? For me they are two: First, quality is the right product: in a regulated environment we call it validation. Second, quality is about how well is it technically done: in a regulated environment we call it verification.
In the Swiss Postal project the technical quality was addressed through the Definition of "Done", as well as through state-of-the-art engineering practices. The product quality was ensured by the continuous connection with the end-users and stakeholders from the postmen to the branch managers. In the end it is all about happy clients.
InfoQ: Do you have suggestions what teams can do if they want to deliver more value?
Jocham: This is a very good question, with no straight-forward answer. Value is about being successful - how can you make sure to be successful? This the ultimate goal! Value is a lagging indicator depending on decisions made upfront. This means that you need to find a way to quantify the outcome and correlate them to the leading decisions. If you succeed in setting this up, your empirical process control, you have all the tooling you need to optimize value.