In this edition of our Getting Started With Agile series, we’ll continue our deep dive into the values that underlie today’s most popular agile methodologies. Having a deep understanding of these underlying values and principles will help you get the most out of your agile approach, regardless of which methodology your team chooses.
In the last installment of this series, we discussed the importance of delivering actual working software to your users instead of simply delivering reams of detailed documentation. In this installment, we’ll discuss what benefits can be achieved from working to build relationships with your customers and aligning those customers with your team, rather than pitting those groups against one another.
Often times, we view product development as a two-sided game. In this game, your customers are pitted against your development team in a battle for supremacy where there can be only one winner.
For example, imagine that your team is developing a product for a new customer. At the outset of product development, everyone signs a detailed contract specifying exactly what features will be delivered as well as how long and how much it will cost to do so. The contract is clear, specific, and everyone leaves the table happy.
But halfway through development, the customer learns that some of the features that they originally thought were important actually aren’t important—at all. What’s more, they’ve also discovered several new features that now seem critical to their product’s success that they hadn’t even conceived of previously. From the customer’s perspective, this should be simple to correct. Specifically, the features that are no longer needed can simply be swapped for the newly identified features.
However, as is often the case, the reality of the situation is rarely that simple. Your team has provided rough estimates of the complexity of the new features and those features seem significantly larger than the features that the customer is proposing to drop. Furthermore, your team has already begun development on several of these features and has invested significant time towards them.
While you want to please your customer, you can’t agree to deliver new features that are expected to cost significantly more than your customer had originally agreed to pay. Plus, there’s still the matter of recouping the investment that’s already been made towards the features that will now be dropped.
But from your customer’s perspective, they’ve already signed a contract that states a specific schedule and cost for delivering the product and don’t understand why that contract should not be upheld as long as they remove features that are no longer needed. And speaking of the features that are no longer needed: your customer has also made it very clear that they have no intention of compensating you for your efforts towards those features since not only are they no longer of value to them, their development was not actually completed.
And so begins the two-sided game of product development.
But it doesn’t have to be this way. The third value of the agile manifesto is Customer collaboration over contract negotiation. This value stresses the importance of encouraging your customers and development team to collaborate to chart the best way forward together, rather than to view each other as adversaries.
This value is unique among all other values in the sense that it lends itself best towards service organizations. While each of the other agile values can be applied equally well to service organizations or product organizations, the inclusion of terms such as contract make this value most appropriate for those organizations that engage in developing custom software for third-party clients to distribute to their own users.
However, one of the most prominent themes throughout the entire agile manifesto is the pursuit of user and customer satisfaction. Bearing this in mind, even product organizations can apply the lessons of this value in their interactions with their own end users and reap the benefits of fostering a more collaborative approach between those who build the software and those who use the software.
Investing time to forge a strong relationship between your customers and your team can yield significant benefits, such as an increase in the frequency of customer feedback on your team’s progress or an improved ability to adapt to unexpected developments, such as the event described above.
As the interactions between your customers and your team become more frequent, you’ll find that more opportunities arise for your customers to share feedback with your team on the direction of the product, even beyond the standard feedback events built into most agile methodologies. This increase in feedback frequency not only helps to validate your team’s direction on a more regular basis, but it also gives your team ample opportunity to correct course when they discover that they’re not heading in the direction that your customers want.
But there’s also another important benefit to growing this relationship between your customers and your team. In addition to an increase in the frequency of when this feedback arrives, you’ll also find that the quality of the feedback tends to be much higher, which makes the feedback itself much more productive. This is because the more collaboration that occurs between your customers and your development team, the higher the level of trust between the two that grows. This increased level of trust improves the rapport between these groups, which leads to more— and therefore much more productive—feedback from your customers.
As your customers become more regularly involved in the development of your products, you’ll likely notice an interesting change.
Customers who deepen their involvement in their own products tend to become much more vested in those products’ outcomes. This increased level of vesting helps to dissuade your customers from viewing your product’s success as the sole responsibility of your development team, and discourages them from simply assigning blame when things don’t turn out as expected.
As customers gradually become more vested in not only the end product, but also the product development process as a whole, they’ll start to realize the importance of their involvement throughout the entire product development process and start to recognize their own responsibilities on the path to delivering a successful product.
Regardless of the level of skill that may exist on your team, your team will struggle to deliver great products if its forced to work in isolation from your customers. Instead, in order to deliver products that your customers truly love, you must ensure that your customers are involved in every step along the way.
This involvement not only improves the likelihood of delivering a product that your customers truly love, but it will also ensure that both your customers and your development team are equipped to face any challenges that they encounter along the way, together.
Jeremy Jarrell is an agile coach who helps teams get better at doing what they love. When he’s not mentoring Scrum Masters or Product Owners, Jeremy loves to write on all things agile. You can read more of his thoughts at www.jeremyjarrell.com, see his videos at Pluralsight, or follow him on Twitter @jeremyjarrell.