The Agile MegaCustomer
2005-02-25
The agile software development proceeds at my place of work with little baby steps.
One thing I've heard and read about eXtreme Programming is that you want to have one and only one customer to deal with, not a committee, and particularly not the kind of committee you get in a place like a university.
So this week we're building us a great big aggregated mega customer. Everybody sing:
So come up to the lab. And see what's on the slab.
I see you shiver with antici... pation!
I've been making a man with blond hair and a tan
And he's good for relieving my tension
(Remixed by me)
The customer needs to be able to make responsible decisions about which features get built in what order, which means they need to be closely aligned with the project and understand the software as it is developing. This immediately rules out executive types who drop in to the meeting and choose features that sound cool or cheap or whatever.
Problem is that we are working in a university environment. Without going into specifics I believe I could say that we have competing requirements from the production-focused team who get books and web sites out the door, and the authors who all want a different blend of flexibility and corporate standardization, and the Instructional Design team.
We can't pick just one customer from all these stakeholders. So we have decided to try to make do with two. One is from the production side, where deadlines mean something. As for the rest, the plan is each engineering cycle to lock a bunch of people in a room with a copy of the software we're building. The one left alive can come to our project meeting and choose features for the next release.
Put less flippantly, we are going to start a group consisting of our pilot authors together with other stakeholders with an interest in pedagogy and course construction, with a facilitator from the team to train them in the software and processes we are developing, and let them work out how to send us one person to the project meetings. This is an experiment.
The idea is that the group will start with raw prototype software, move rapidly into piloting and end up as an ongoing user group.
I'll let youse know how we go.
$LastChangedDate: 2005-03-02 01:28:44 -0600 (Wed, 02 Mar 2005) $