Friday, November 07, 2008

Why customers do not want Agile

In one of my recent article s I wrote about misunderstanding of Agile development term in the community of IT specialists. Now, I want to share my notes about interaction between customers and software development teams who pretend to follow agile. In other words, I want to continue the topic why customers do not like Agile even with developers who think they do know what Agile is.

One of Agile development principles is close interaction between developers and a customer. Extreme Programming, for example, insists that the customer has to be on site. Scrum says that the customer (product owner) is completely responsible for maintaining the Product Backlog.

Well, it would be ideal situation, and developers believe it has to be such, and otherwise Agile does not work!

Really? If you believe in this conclusion, then forget about Agile... forever :) or, at least, postpone until you learn this methodology better.

If you believe that Agile can also work in real world, which is far away from being ideal, then let's continue.

Let's think about the reasons why customers do order software development service instead of hiring personal programmers The reasons are simple:

  1. They do already have their own IT team (by the way, it can be a one-person team - the customer himself/herself), need to extend it, but can't do it by hiring new employees.
  2. They do not have IT department, so they want to find some professionals outside who will solve their IT problem.

In the case of staff augmentation, the customer usually already has their own development process. It might or might not be Agile. But it's already established, and to change it we have to show that our approach is better than their existing. So to start following Agile we have to follow Agile showing its benefits. Hm... to start follow Agile we have to follow Agile. Seems like a dead end.
Actually not, if we say it in a different way: to involve the customer with his local IT team in Agile, we need to follow Agile ourselves demonstrating value of this methodology.

In the second case, the customer expects that a software development company will solve her/his IT problem completely, not just code some his ideas. The customer expects that professionals will say how to implement his idea and even to recommend some extends. Of course, she/he doesn't want to create hundreds of papers that we call story cards and toss them to some Product Backlog. All they want is to receive what they need :-)

So, the customer do not want Agile, until it's explained as a set of extra bureaucratic steps required from her/his side.

The solution is really very easy: do not expect the customer to do the work they wanted to avoid when ordering your service, and you will see they do not mind Agile :-)

No comments: