Home > Articles > Software Development & Management

  • Print
  • + Share This
From the author of

Making Your Practices More Effective

A recommended next step is to invest 8-14% of total project costs in the requirements process, defined as a system lifecycle effort involving a set of activities from understanding customer needs to prioritizing requirements to validating that the customer needs are met in the defined system.

Figure 1 shows some compelling data that demonstrate the effect of requirements process investment on program costs:

Figure 1

Investment in the requirements process helps to control project costs.

These data characterize a large set of NASA projects. Note that when less than 5% of total project costs were invested in the requirements process, an 80-200% overrun was experienced. In sharp contrast, when 8-14% of total project costs were invested in the requirements process, less than a 60% overrun was experienced. There is a powerful message here for all project managers: Investing 8-14% of total projected project costs in the requirements process facilitates implementation of practices that vastly enhance the probability of having a successful project.

Some of the concepts that contribute to effective requirements practices include the following:

  • Experience has shown that having a requirements process (whatever its form) provides better results than not having a process. Organizations should work to inculcate a value of "continuous improvement"—that all of the work processes and methods used should be continuously improved.

  • Achieving effective communication through means such as having a set of "rules of conduct," providing a mechanism for close coordination of all project groups, using a set of guidelines for effective meetings, adhering to provisions for effective emailing, and providing a common vocabulary.

  • Selecting, training, and using a set of familiar requirements methods—only a few of the many available methods have been proven to be most useful. Methods are the techniques and procedures we use on projects to perform the technical work. Examples of better requirements methods include formal inspections of requirements-related artifacts, Joint Application Design (JAD), defect removal, active quality assurance, formal configuration control, and root-cause analysis.

  • Prioritizing requirements. All requirements are not top priority. Include only high-priority requirements in the initial release of the products. Discussion of requirements priorities improves communication between the customer and the developer and helps to resolve conflicts.

  • Controlling changes to requirements. An effective requirements process must include a mechanism to control requirements changes. Next to failure to define the real requirements, failure to control changes is perhaps most crucial. The lack of an effective mechanism to deal with changes is a critical weakness in most system-development and software-development efforts today. Without it, it's not possible to maintain control of the project.

  • Training requirements engineers. Requirements specialists and developers must be trained not to make assumptions, not to make requirements decisions, and not to goldplate. (Goldplating is adding features and capabilities to systems when they are not part of the real requirements.)

  • Utilizing an effective requirements tool. A reasonably priced industry-strength requirements tool does much more than "requirements management." It can facilitate eliciting requirements, help prioritize requirements, provide traceability of requirements throughout the development effort, provide requirements management, and facilitate requirements verification. (Requirements traceability is the ability to map a customer need to the requirement, indicating where a particular requirement is addressed in the design and the code, where the requirement is validated, and where it's addressed in the system documentation.)

  • Although much has been written concerning project management, using known, familiar, proven industry, organizational, and project best practices makes a huge difference. A practical, effective project-management approach should be used. This means paying attention to project planning, project tracking, risk management, and people dimensions such as aligning developers' interests with work assignments. The requirements practices discussed here contribute to effective project management. Wise project managers are well advised to invest in reading several references. (See the References section at the end of this article for details.)

  • + Share This
  • 🔖 Save To Your Account