All developers these days are familiar with the second statement in the Agile Manifesto: customer collaboration over contract negotiation. You?re on the same team as your customer or stakeholder, the reasoning goes, so you don?t want an adversarial relationship with them. Instead, you should work together to achieve the common goal of working software that meets customer needs.
If you?re not heavily involved with Agile, or even if you are and you step back a moment and look at this principle in a new light, you?ll see that it comes across as calling for some kind of unrealistic Kumbaya moment. Throw away decades of friction and misunderstanding between stakeholders and developers, and miraculously work together in the spirit of love and cooperation! Gag me now, seriously.
In reality, there?s nothing particularly Kumbaya about your run-of-the-mill stakeholder. They?re too busy with, you know, their jobs to spend time holding hands with developers ? people who make them feel uncomfortable on the best days. From their perspective, the coders are there to build what they ask, so go away and don?t bother them until you?re done already!
What?s an Agile developer or Scrum master to do when your stakeholders are correspondingly intractable? No amount of touchy-feeliness is going to bring them around. But you can?t really be Agile without their participation, either.
Time for in-your-face Agile.
The bottom line is that the ?customer collaboration? from the manifesto isn?t meant to indicate that the parties will be friends or even willing participants. Draw a line in the sand. Make it clear to your stakeholders that the project simply won?t get done unless they cooperate.
You?ll need to use your best judgment, of course ? I?m not recommending threats of violence here. But sometimes you have to get tough. If you?re a development firm serving a paying customer, threaten to give their money back. You don?t want business from customers who want the benefits of Agile but aren?t willing to do their part.
For an internal stakeholder, it?s your call whether you want to put your job on the line ? but sometimes that might be your best option, if the alternative is to spend months of your time working on a project that you know is doomed to failure due to stakeholder intransigence. However, if you join with the rest of your team and simply refuse to work on a project that lacks proper stakeholder participation, you?re spreading the risk. Remember, if your team is any good, better jobs with more cooperative stakeholders are always plentiful anyway.
In-your-face Agile is unlikely to make you any friends. Don?t expect warm fuzzies around the holidays. But if your efforts lead to successful projects, everyone wins in the end ? including even the most obstinate of customers.