The Tester's Role in Up-Front ActivitiesThe tester's contribution in planning for an XP project (or any software development project) is often overlooked. Consider the following experience of Lisa's:
This project team learned that leaving the tester out until later in the project was a painful experience. The programmers were motivated to learn more about testing, so they could do a better job of delivering value to the customer. Lisa learned that as a tester, one of her most important functions is to transfer her testing skills and experience to the rest of the team. It's true that even if they never put a tester on the project, a team would probably learn how to do a better job with the acceptance tests after a few painful iterations. Whether they learn to do it well enough to satisfy the customer depends on the team. In the case of Lisa's team, the customer was unhappy enough after that first iteration to consider canceling the project. Why risk that if you don't have to? What kind of thinking could lead to leaving the tester out at the start of a project in the first place? We think it would go something like this:
Several assumptions here are questionable, and in Exercise 1 we'll ask you to identify them, but they start with the assumption that the tester's main contribution is running tests. We're not denying that running tests and reporting the results are an important part of the tester role. As Kent Beck writes in Extreme Programming Explained, "An XP tester is not a separate person, dedicated to breaking the system and humiliating the programmers. However, someone has to run all the tests regularly, … broadcast test results, and to make sure that the testing tools run well." As a tester, you may spend more time running tests and reporting results than performing any other single activity. But just because it absorbs such a chunk of your time and effort doesn't make it the most important thing you do. For instance, driving across the country takes a lot more time and effort than filling up the gas tank beforehand, but try leaving that step out and see how far you get! Okay, we have half the answer to question 1: Does a tester have a role in release planning? We say, "Yes, and it isn't running tests." So what is it? |