The software industry today is plagued by long release cycles for important products. That is one of the many reasons why companies are going to agile methodologies. In doing so companies hope to deliver software on a more regular basis. They feel this will make for happier customers. Of course I’m not going to say they are wrong, but it goes far beyond the fact that they get more frequent deliveries of software.
I believe one of the biggest differences comes from how the “feature bus” is different in an agile environment. When using non-agile methods we still try to ask the customer a question like “What would you like to see in our product?” Our problem is that our customers recognize how software development occurs and what they hear is something like “The feature bus is here, so I better pile in as many things as I can think of because this is the only stop it makes this year!” The worst part about this is the recognition that what they hear is probably true. It leads to conversations like this:
Us: What would you like to see in our product?
Customer: (lists 100 items including things they only peripherally think they may need some day)
Us: Wow, that’s a big list! Let’s be real here. What do you really need?
Customer: OK, you’re right, those last 3 items out of the 100 I don’t need.
Us: I don’t think you understood. What do you REALLY need?
Customer: Ok, throw out #96 as well.
Us: Let’s try a different approach. Which items are most important to you?
Customer: Oh, in that case, only the first 90 are really priority 1, the others are priority 2.
As you can see, the conversation is rather fruitless. With good reason. After all, we don’t usually deliver products frequently enough for our customers so we have trained them to behave this way.
Agile changes the model dramatically. With frequent software deliveries and potentially even more frequent iteration demos (you do invite customers to iteration demos don’t you???) the customer gets used to seeing things in a much shorter timeframe. They understand that they don’t have to pile on the useless items where they don’t have much clarity yet. If they concentrate on important things they will get those quickly. The world changes when we can ask the initial question as “What do you want next?” Instead of an open-ended question asking the customer to dump everything on us, we are asking a slightly closed question where the answer may be only a few items. Plus we get a bonus out of this – how hard is it to prioritize a few items vs. prioritizing 100 items?
When we change the frequency of the feature bus we will change the behavior of our customers. Most surveys say the #1 or #2 most critical project success factor is having early and frequent interaction with the customer. This is a great agile practice that often isn’t used to full effectiveness. Start inviting customers to demos and asking them what they would like to see next. You will be astounded at how quickly their trust builds and how quickly you start making better products because of it!
So, what would you like to see next in this blog? 🙂