The Requirements Engineering Handbook

In earlier chapters I have suggested that you do certain things and not do other things. In this chapter, I share a set of best practices for requirements development and management. The phrase " Best practices" is used frequently in systems and software engineering (among many other professions). We hear and read a lot about best practices. Yet, we don't actually spend the time and effort to evaluate, analyze, pilot, deploy, implement, and institutionalize them. The reason for this is quite simple: it's a lot of work. It requires the following:
Developing a thorough understanding of the practice;
Communicating its value to coworkers and managers;
Gaining commitment to trying the practice (piloting it);
Providing some training about the practice so that others understand it and what we are attempting to achieve through its use;
Deploying the new practice, changing from what we are doing now to doing something different;
Implementing the new practice, ensuring that the new way is used;
Sustaining the new practice, including gaining support for its use;
Evaluating its impact, perhaps even designing a way to measure the results of using it;
Declaring victory, acknowledging that the new way is better than the old way, perhaps even celebrating success;
Institutionalizing use of the new practice throughout the project or organization.
Looked at from this perspective, it's easier to understand why best practices aren't implemented and institutionalized.
Table 6.1 provides a list of best practices for requirements development and management.