Trawling is instigated by the requirements analyst. But the analyst does not work alone: Users and other stakeholders collaborate to gather the requirements, as shown in Figure 5.1. Figure 5.1.The trawling activity is central to the requirements process. It uses the outputs of the project blastoff activity as its starting point for collecting the requirements from the stakeholders. Prototyping runs as a parallel activity. Note that the requirements gathered at this stage are potential requirements; they still have to be tested by the Quality Gateway.
The requirements analyst and the users collaborate to gather the requirements. We build products to help us do work. For our purposes, it doesn't matter whether the work is processing insurance claims, analyzing blood samples, designing automotive parts, predicting when ice will form on roads, keeping track of a "things to do" list, controlling a telephone network, downloading music or podcasts, monitoring a household, or one of many other human activities. There are things to do and data to store, and, for one reason or another, you have been asked to build a product that helps with this work. So let's look at how we go about gathering requirements. The Requirements AnalystThe analyst is a translator: He has to understand what both the users and the other stakeholders are saying about the work, and then translate that knowledge into requirements for a product. But there is more to it. The requirements analyst acts as a catalyst, injecting something new into the work. In other words, the requirements are not simply the passive interpretation of an existing piece of work, but rather contain inventions that will make the work easier, better, more interesting and more pleasant. Along the way, the requirements analyst must fill several roles:
Not so easy as it first appears.
Several techniques are available to help with the task of trawling for requirements. As is the case with any technique, no single one works all the time, so your task is to select the technique that best fits the situation. In our discussions of the techniques, we indicate when and why one would be useful. But don't just take our word for ittry to connect each technique to your own situation, and consider where and when each would be most advantageous.
Conscious requirements are those requirements that are uppermost in the stakeholders' minds; they are often symptomatic of something that the stakeholders want to improve. Unconscious requirements are those that the stakeholders often fail to mention because they know so much about them, and assume everyone else has the same knowledge. Undreamed-of requirements are things that are useful, but the stakeholders don't realize are possible. Consider your stakeholders. They are very conscious of some requirements and bring them up early. Other requirements are "unconscious" requirementsthings that are so ingrained into the stakeholders' work that they have forgotten they exist. The techniques that capture the conscious requirements may not necessarily work for the unconscious ones. Then there are the "undreamed-of" requirementsthose functions and features the stakeholders are unaware they could have. Undreamed-of requirements exist because the stakeholders do not realize they are possible, perhaps because of a lack of technological sophistication, or perhaps because they have never seen their work in the way that you will show it to them. Whatever the reason, part of your responsibility is to bring these requirements to the surface. It is cheaper and more effective to uncover and capture all of the requirements during the trawling activity. Those that are not discovered during trawling will eventually be unearthed, probably when the users start operating the product. At the latter stage, it is much more expensive to make the changes necessary to accommodate the newfound requirements. |