Requirements Engineering, Second Edition

In theory there is no difference between theory and practice. In practice there is.
Yogi Berra, baseball player, b. 1925
The management of the requirements engineering process is similar to the management of any other endeavour. Before starting out, it is necessary to understand what needs to be done. We need to know the sorts of activities that must be undertaken. We need to know whether there are any dependencies between the activities, e.g. whether one activity can commence only when another one has been completed. We need to know what kinds of skills are required to perform the activities.
It is good practice when preparing a plan to concentrate on the outputs that will be generated by each activity. Outputs can be seen and provide tangible evidence that work has been or is being done.
From all of this information, we can generate a plan in which we have identified the activities to be undertaken, the people who will perform the activities and the time it will take them to complete the activities. We can then start work following the plan and the manager can monitor work against the plan. In an ideal world, the plan will be followed to the letter. Nothing will go wrong and we shall arrive at the completion date of the plan with all the work done.
Reality can be very different. First, estimating the time and effort required to complete a task is very difficult unless the manager...