As a reviewer for the Agile2011 Customer Stage I should recuse myself from this thread. However, I guess it is because I am a reviewer that I'd like to see this become a great session. To that end, I'd like to offer my view.
As an owner of a software company, I am both a deliverer and recipient of Agile services. I guess that makes me schizophrenic :-)
My personal confession is that I've enjoyed delivering the Agile message as a service provider a lot more than I've enjoyed receiving it as a customer.
As a provider, it suits me well to convince you that we need to "explore together". That we should use iterations, collaborations and demo reviews as tools to keep us on track. That I'll use continuous integration to make sure we always have a running code base. We'll both focus on delivering the maximum value with the smallest amount of effort (aka cost and time). You'll only pay me for the time I spend "exploring" with you.
Nice. Little risk on my part. Guaranteed revenue stream. You own the results.
As a customer, I want your skin in the game. I hate hearing the word "exploration" and the open-endedness of the exercise doesn't do me any good when I have to minimize my costs on one end and satisfy my customers on the other. I need reliable projections, dedicated resources and commitment of heart and soul to go beyond just "what I tell you to do". Besides, deep down inside I'm not really sure of what I want...I need your subject matter expertise and experience...not just your code slinging abilities, or Agile process mastery.
My solution is that every project I do with my clients is now fixed price and fixed time. I guess that only leaves scope as the manageable variable, which is really a much more comfortable topic to negotiate than money and deadlines. I'm trying to get all of my vendors and subcontractors to do the same with the projects that I solicit.
Fixed price fixed time (FPFT) projects create the perfect dynamic for me. Both of us need to really get started with the end in mind and keep projects as short as possible. How will we declare victory and what do we need to do to get it done within 90 days? Not a lot of front loaded training required for that one.
I then introduce my methodology which is basically "we're going to threaten to put your system into production" every X weeks (where X usually equals 2) and you need to assemble a customer team that tells us "why they can't use it". We'll take those "cant's", review and prioritize them, and include as many of them as we can, as long as we don't slip our date. It's fixed price so you don't have to worry about scope creep. We'll tell you what the tradeoffs need to be.
That's it. No other discussions about "real Agile", "cowboy Agile", blah blah blah.
How do we fare? With respect to profitability, sometimes we win and sometimes we lose. With respect to client satisfaction, we never lose. What that means is that in the long term (we've been doing this for three years now) we always win because our client's always get what they want and are very conscious of the role they've played in making that happen...or not.
Bottom line. I don't think we need to train customers how to participate in an Agile project. For them, it's natural. Who wouldn't want to evaluate a production ready system every two weeks? We need to train ourselves to spend less energy teaching our customers all of the things we've learned about the Agile process and just "do it"!
Sam
Hi,
I will be hosting a session at Agile2011, a panel session: "Customers and Agile". (The session has not yet been approved.)
My immediate goal is to find people representing several different kinds of customers of agile teams.
* internal end users
* external end users
* business buyers (internal or external)
* senior business managers (or a firm CEO)
* senior IT managers
My view is that the dialogue between "the customer" and "the agile team" is not as robust as it should be, in particular about "what is agile and how do we do it better together?" Some head bobbing and some motherhood and apple pie, but not as concrete a fighting and wrestling (with good respect) as I would like to see. As I think would be useful.
Another key topic is for those around the team to appreciate in a richer, more personal way, which of the benefits of agile are most important to the customer. And for the customer, for example, to appreciate more, why the team 'having fun' actually should help the customer. (So much so, that the customer should inquire about that, and maybe foster that.)
Finally, we think the customers should be asking more: "I know you say you are doing agile (lean, scrum, xp, whatever), but how do I know it is professional agile? How do I know it is not 'cowboy agile'? How do I know you are continuously improving? Because I don't just care about the product today; I care about the relationship and how the suite of products will evolve long term."
So, first I want to identify people on the panel.
Then I would like to work with them a bit to identify questions or issues that they would like to address (the ones above and/or others). And lastly, how we make this conversation entertaining and educational for the session attendees (a wider group, with wider interests, I assume).
Any thoughts? Any people to suggest?
Thanks,
Joe
