Book description
"Many projects fail because developers fail to build the right thing. Developers of any kind of application should read this book."—Grady Booch
"A comprehensive solution to the requirements challenges faced by every development team. Full of insight and ideas all developers can learn from."—Ivar Jacobson
Despite the wealth of development knowledge, experience, and tools available today, a substantial percentage of software projects fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. This second edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget.
Using an accessible style, their own war stories, and a comprehensive case study, the authors show how analysts and developers can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements, Second Edition, specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders.
Topics covered include:
The five steps in problem analysis
Business modeling and system engineering
Techniques for eliciting requirements from customers and stakeholders
Establishing and managing project scope
Applying and refining use cases
Product management
Transitioning from requirements to design and implementation
Transitioning from use cases to test cases
Agile requirements methods
032112247XB05082003
Table of contents
- Copyright
- The Addison-Wesley Object Technology Series
- The Component Software Series
- Foreword
- Preface to the Second Edition
- Preface to the First Edition
- Introduction
-
1. Analyzing the Problem
- 5. The Five Steps in Problem Analysis
- 6. Business Modeling
- 7. Systems Engineering of Software-Intensive Systems
- Team Skill 1 Summary
-
2. Understanding User and Stakeholder Needs
- 8. The Challenge of Requirements Elicitation
- 9. The Features of a Product or System
- 10. Interviewing
- 11. Requirements Workshops
- 12. Brainstorming and Idea Reduction
- 13. Storyboarding
- Team Skill 2 Summary
-
3. Defining the System
- 14. A Use Case Primer
- 15. Organizing Requirements Information
- 16. The Vision Document
- 17. Product Management
- Team Skill 3 Summary
- 4. Managing Scope
-
5. Refining the System Definition
- 20. Software Requirements—A More Rigorous Look
- 21. Refining the Use Cases
-
22. Developing the Supplementary Specification
- The Role of the Supplementary Specification
- Expressing Functional Requirements in the Supplementary Specification
- Exploring Nonfunctional Requirements
- Understanding Design Constraints
- Identifying Other Requirements
- Linking the Supplementary Specification to the Use Cases
- Template for the Supplementary Specification
- Summary
- Looking Ahead
- 23. On Ambiguity and Specificity
- 24. Technical Methods for Specifying Requirements
- Team Skill 5 Summary
-
6. Building the Right System
- 25. From Use Cases to Implementation
-
26. From Use Cases to Test Cases
- A Tester's Perspective: Musings on the Big Black Box
- Is a Use Case a Test Case?
- Common Testing Terms
- Relationships of Test Artifacts
- The Role of the Test Cases
- Use-Case Scenarios
- Deriving Test Cases from Use Cases: A Four-Step Process
- Managing Test Coverage
- Black-Box versus White-Box Testing with Use Cases
- Summary
-
27. Tracing Requirements
- The Role of Traceability in Systems Development
- The Traceability Relationship
- A Generalized Traceability Model
- Using Traceability Tools
- Proceeding without Traceability Tools
- Summary
- 28. Managing Change
- 29. Assessing Requirements Quality in Iterative Development
- Team Skill 6 Summary
- Getting Started
-
30. Agile Requirements Methods
- Mitigating Requirements Risk with Effective Requirements Practices
-
Methodology Design Goals
- Principle 1: Interactive, Face-to-Face Communication Is the Cheapest and Fastest Channel for Exchanging Information
- Principle 2: Excess Methodology Weight Is Costly
- Principle 3: Larger Teams Need Heavier Methodologies
- Principle 4: Greater Ceremony Is Appropriate for Projects with Greater Criticality
- Documentation Is a Means to an End
- An Extreme Requirements Method
- An Agile Requirements Method
- A Robust Requirements Method
- Summary
-
31. Your Prescription for Requirements Management
-
Selecting Your Requirements Approach
- The Simplifying Assumptions
-
The Prescription
- Step 1: Get Organized
- Step 2: Understand the Problem Being Solved
- Step 3: Understand User and Stakeholder Needs
- Step 4: Define the System
- Step 5: Continuously Manage Scope and Manage Change
- Step 6: Refine the System Definition
- Step 7: Build the Right System
- Step 8: Manage the Requirements Process
- Step 9: Congratulations! You've Shipped a Product!
- On to the Next Release!
-
Selecting Your Requirements Approach
-
Appendixes
- A. HOLIS Artifacts
- B. Vision Document Template
- C. Use-Case Specification Template
- D. Supplementary Specification Template
- E. Requirements Management in the Rational Unified Process
- F. Requirements Management in the SEI-CMM and within ISO 9000:2000
- Bibliography
Product information
- Title: Managing Software Requirements: A Use Case Approach, Second Edition
- Author(s):
- Release date: May 2003
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780321122476
You might also like
book
Managing Software Requirements the Agile Way
Learn how to deliver software that meets your clients' needs with the help of a structured, …
book
Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise
This is the Safari online edition of the printed book. “We need better approaches to understanding …
book
Software Requirements Essentials: Core Practices for Successful Business Analysis
20 Best Practices for Developing and Managing Requirements on Any Project Software Requirements Essentials presents 20 …
book
User Stories Applied: For Agile Software Development
Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process …