Introduction

Not all requirements are created equal. This chapter introduces the FURPS+ requirements categories.

Requirements are capabilities and conditions to which the system—and more broadly, the project—must conform [JBR99]. A prime challenge of requirements work is to find, communicate, and remember (that usually means record) what is really needed, in a form that clearly speaks to the client and development team members.

The UP promotes a set of best practices, one of which is manage requirements. This does not refer to the waterfall attitude of attempting to fully define and stabilize the requirements in the first phase of a project, but rather—in the context of inevitably changing and unclear stakeholder's wishes—“a systematic approach to finding, documenting, organizing, and tracking the changing requirements of a system” [RUP]; in short, doing it skillfully and not being sloppy. Note the word changing; the UP embraces change in requirements as a fundamental driver on projects. Finding is another important term; that is, skillful elicitation via techniques such as use case writing and requirements workshops.

As indicated in Figure 5.1, one study of factors on challenged projects revealed that 37% of factors related to problems with requirements, making requirements issues the largest single contributor to problems [Standish94]. Consequently, masterful requirements management is important. The waterfall response to this data would be to try harder to polish, stabilize, and freeze the requirements before any design or implementation, but history shows this to be a losing battle. The iterative response is to use a process that embraces change and feedback as core drivers in discovering requirements.

Figure 5.1. Factors on challenged software projects.


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.240.252