Agile undoubtedly changes how we engage with our customer. The customer is centre stage to all our efforts.
For any organisation that has kept their customers at arms length, this is a scary prospect. It is highly likely that customers are more hostile than helpful in this scenario.
Involving customers in the development process is not an easy thing to achieve. I have even heard it said that it cannot be done for various reasons. This typically reduces customer involvement to demands made during sale or contract renewal - which are both driven by sales people.
At this point, we are clearly in panic mode as our number one concern is to protect revenue. This is typically where good product design is the last consideration and the product is polluted with some pretty badly designed features.
This is not the customer engagement we need. If it were left to the customer they would have the 'Do It' button that basically performs their specific function. The customer does not know best when it comes to product design - you do. That is what you bring to the party.
Just because your existing customers will put up with a naff experience don't forget that new customers might not be so forgiving. A poor user experience will ultimately affect your ability to attract new customers - they have zero investment in you and will simply move on.
Getting involvement with your customer as a standard part of your development process will radically shake up how you work as a business. Listening to your customer is where the agility that you are looking for will come from.
Our engagement with the customer should focus on one thing - what is the problem we are trying to solve for them. By concentrating on the high level behaviours they are looking for, we get to solve that problem for them. That uses our formidable skills as software developers to their full extent.
The customer does not know what they want. They know what problem they need solving. Once we know that, we can create software that is truly useful.
Just like you would not trust anyone to pass on a really important message, getting the customer to explain the problem to the people who will do the work is the holy grail. The more people you have in the way, the less likely we will solve the customers problem. Diluting their message through a chain of dialogues that are each biased is a waste of everyone's time.
If you can do all this, then you only need a team who can guide conversations with your customer to fully appreciate what problem the customer wants to solve.... and we all have one of those, right?