Will Extreme Programming kill your customer?
The customer is expected to control almost every aspect of Extreme Programming. She has to decide what the software should do, she controls the schedule, she must specify the tests that close the loop on the process, and she has to understand the problem domain and the software designed to address it. She must keep up with a team of XP developers working flat out, quite often while she is doing her regular job, and she has to remain healthy, both mentally and physically.
Is this job doable?
This is the least understood aspect of XP and is the greatest human issue confronting the penetration of Extreme Programming.
The C3 Project began with someone who, seemingly, could do all these things. Marie Dearment was the supervisor of monthly and biweekly payroll for Chryslerís Corporate Disbursements Department. When C3 was restarted under Kent Beckís coaching, Marie sat down and wrote the user stories we needed for the first release plan. She was able to explain how the stories fit together. She assigned their priority. She questioned our estimates. She would have made the estimates, if we had let her, and she would have down about as well as we did. She approved every acceptance test. She did a hundred other things that we eventually took for granted.
We donít know how Marie learned to do all of this. Marie didnít know how she knew it. She must have known before we started the project, because we donít know how Marie knew these things, we were not able to help her do them. And, because Marie didnít know, she wasnít able to teach others how to help her.
Eventually, it became too much.
A few months after the launch of C3ís first phase Marie developed a facial tick, it was the most visible symptom of too many hours at the office, too much stress and too much time away from her family. Marie was able to transfer to a less stressful job and her place was taken by a very bright and dedicated man named Paul Kowalski.
At the beginning, we thought Paul was an improvement. He was less stressed out and since he didnít have Marieís vision of the final system, he was amenable to our suggestions for making our lives easier.
In due course, we realized that Paul didnít know how to be an XP customer. It should not have been a surprise; we had done nothing to teach him. We didnít know how to teach him, since we didnít know how Marie had done it.
All we did know was that the job had been too much for the only person we had ever seen actually do it.
This leaves us with two questions. The first, ĎHow do you do train an XP customer?í is beyond the scope of this discussion. The second, ĎCan you do everything that is required to be an XP customer and remain healthy?í is the largest human issue surrounding Extreme Programming.
I donít know the answers to either of these questions. I have walked a very fine line when mentoring a projectís customer. I have tried to make them understand that they can and should control the project, while making them aware that they must delegate and most importantly, not neglect their life.