Introduction


When my husband and I decided to put an addition on our house, we chose to include a basement. We signed a detailed contract with our contractor that specified many little details. We thought that we read this carefully. When the basement was built and a hole cut for the door, the contractor pointed out that he had neglected to include the door itself in the contract. We had access to the new basement it was functional just no way to close it off if we wanted. Because the door was not included, we would either have to do without it or pay extra.

Naturally, we had assumed there would be a door to the basement room that we could open and shut. But because we had not specified this, the contractor hadn't included the price of the door or the labor to install it in his price. We couldn't expect the contractor to just give us a free door. How nice it would have been if someone else had looked at the contract with me and asked, "There isn't a door specified here; don't you want one?" Then I could have decided whether or not to spend the money it wouldn't have been a surprise later.

I've participated in XP projects where I've seen this type of thing happen. (OK, it happens in all software projects, no matter what practices are used.) For example, the customer has a story for an add screen and just assumes that the developers know he also wants the ability to update, read, and delete. Or maybe there's a story for a login screen with authentication, but nothing about what should happen if the same user logs in twice. At the end of the iteration, an exception thrown by having the same user log in twice looks like a defect.

As a tester and quality assurance engineer of long experience, I'm something of a tyrant about quality. I have my own standards that, naturally, I think everyone should follow. When I started working on XP projects, I realized it wasn't about my quality standards it was the customers'.

Here's an example. Say we have a start-up company as our customer. For now, they just need their system up and running to show to potential investors. They just need a system that's available one or two hours a day for demos. They aren't looking for a bulletproof 24/7 production server. In fact, they can't afford to pay for a bulletproof system right now. They'd rather have more features to show off, even if they might not handle a high level of throughput. It would probably take significantly more time and resources to produce a system with guaranteed stability. If the customer isn't willing to pay the price, they can't expect to get it for free.

In XP, the customer's role is to make business decisions, not to be a quality expert. Face it: Some people are always on the "happy path" just as my husband and I were when we signed a contract with our builder for our home addition.

As the tester, I feel it's my responsibility to help the customer make conscious decisions about quality during the planning process. If the customer is clear about their acceptance criteria, and these are reflected accurately in the acceptance tests, we're much more likely to achieve the level of quality the customer wants, without giving our time away for free.



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net