Problem: No onsite customer
Solution: Select and train a true customer advocate
My first experience with XP was at a very small company developing accounting/enterprise information software for small businesses. I arrived there with more enthusiasm than knowledge, but quickly teamed up with a developer who knew everything about the company's software product and the code base. We swapped stories, commiserated and learned from each other's previous project experiences.
We vowed that this project would be different somehow. We wanted to succeed. We felt that XP offered real hope of managing a software project in a sane fashion. But even with our limited knowledge of XP, we could see that success in implementing XP would hinge on the personality and ability of the XP Customer. As we took stock of our situation we quickly discovered our Problem Number One: We didn't have a Customer at all.
At the same moment, Management came to the independent conclusion that we needed a product manager. This sounded promising. The concept of XP for shrink wrap development was just beginning to be bantered about the Wiki, and the words "product manager" seemed to be showing up with more than statistical regularity in the discussion.
We easily identified the person in the company most in touch with our customer base, contrived to sell him on the glamor and splendor of product management, then submitted his name as our candidate for product manager. He was surely the right XP customer for us, having been hired from one of our primary customers--where he implemented and was the chief user of our system--and subsequently spending much of his time in the field training new customers how to use our product. He was perceptive and open minded, and possessed great facilitation skills.
Alas, one minor detail: He had no product management experience! Management balked and insisted that a hiring search begin immediately to find a product manager. We suggested that the right candidate would at least have significant experience in our domain, and watched anxiously as the search began.
I managed to position myself in all the interviews, to ask subtle probing questions such as "How much experience do you have using products such as ours" and "Do you know the first thing about accounting?" Candidate by candidate fell by the wayside. In desperation, Management finally scheduled a secret interview and raced through their own questions to blurt out the job offer before I could appear on the scene. Stunned, the candidate accepted. Our XP outlook was grim... until suddenly, a few days later, the candidate abruptly reversed herself and rejected the offer! Management came to the realization they could not escape Fate, and offered the position to our original choice for product manager.
With Problem Number One neatly taken care of, we were able to ascertain Problem Number Two: None of us knew what we were doing. Between us, however, we believed we had the skills to run this project successfully. Our new product manager had never steered a product... but he knew our customers. My developer friend knew very little about XP... but he knew the code and the technical details of the domain. I'd never led a software team... but I'd been to XP Immersion and watched carefully Ron Jeffries explaining the Planning Game.
Knowing how the Planning Game worked really set us up for success. The rules were easy enough to teach to our new Customer and our team (which soon grew to six developers). The Customer had no preconceived ideas to unlearn, and took naturally to working with cards and stories. In fact, he commented that the use of cards as tokens made the planning process more "real." The need for prioritization decisions became obvious as pressure to meet our date conflicted with desired features. He could make those decisions based on his broad knowledge of our customers, what tasks they needed to do most often, what areas of our product they found more difficult, and what promises we had perhaps already made to them.
Hiring the right XP Customer is a significant challenge for many XP projects. This paper suggests that the best Customers are made, not bought. How did we hire the right XP Customer? We didn't; we built one. My experience leads me to believe that the best customer advocates are found within your own organization, somewhere where there's a lot of contact with your actual customer base.