| | Copyright |
| | Preface to the Second Edition |
| | Foreword to the First Edition |
| | | Acknowledgments |
| | Chapter 1. What Are Requirements? |
| | | Requirements Gathering and Systems Modeling |
| | | Agile Software Development |
| | | Why Do I Need Requirements? |
| | | What Is a Requirement? |
| | | Evolution of Requirements |
| | | The Template |
| | | The Shell |
| | | The Volere Requirements Process |
| | Chapter 2. The Requirements Process |
| | | Agility Guide |
| | | Requirements Process in Context |
| | | The Process |
| | | A Case Study |
| | | Trawling for Requirements |
| | | Prototyping the Requirements |
| | | Scenarios |
| | | Writing the Requirements |
| | | The Quality Gateway |
| | | Reusing Requirements |
| | | Reviewing the Specification |
| | | Iterative and Incremental Processes |
| | | Requirements Retrospective |
| | | Your Own Requirements Process |
| | | In Conclusion |
| | Chapter 3. Project Blastoff |
| | | Agility Guide |
| | | IceBreaker |
| | | Scope, Stakeholders, Goals |
| | | Setting the Scope |
| | | Stakeholders |
| | | The Client |
| | | The Customer |
| | | The Users: Get to Know Them |
| | | Other Stakeholders |
| | | Consultants |
| | | Management |
| | | Subject Matter Experts |
| | | Core Team |
| | | Inspectors |
| | | Market Forces |
| | | Legal |
| | | Negative Stakeholders |
| | | Industry Standard Setters |
| | | Public Opinion |
| | | Government |
| | | Special-Interest Groups |
| | | Technical Experts |
| | | Cultural Interests |
| | | Adjacent Systems |
| | | Finding the Stakeholders |
| | | Goals: What Do You Want to Achieve? |
| | | Keeping Track of the Purpose |
| | | Requirements Constraints |
| | | Solution Constraints |
| | | Project Constraints |
| | | Naming Conventions and Definitions |
| | | How Much Is This Going to Cost? |
| | | Risks |
| | | To Go or Not to Go |
| | | Blastoff Alternatives |
| | | Summary |
| | Chapter 4. Event-Driven Use Cases |
| | | Agility Guide |
| | | Understanding the Work |
| | | Use Cases and Their Scope |
| | | The Work |
| | | The Context of the Work |
| | | The Outside World |
| | | Business Events |
| | | Time-Triggered Business Events |
| | | Why Business Events and Business Use Cases Are a Good Idea |
| | | Finding the Business Events |
| | | Business Use Cases |
| | | The Role of Adjacent Systems |
| | | Summary |
| | Chapter 5. Trawling for Requirements |
| | | Agility Guide |
| | | Responsibility |
| | | Trawling and Business Use Cases |
| | | The Role of the Current Situation |
| | | Apprenticing |
| | | Observing Structures and Patterns |
| | | Interviewing the Stakeholders |
| | | Getting to the Essence of the Work |
| | | Solving the Right Problem |
| | | Innovative Products |
| | | Business Use Case Workshops |
| | | Creativity Workshops |
| | | Brainstorming |
| | | Personas |
| | | Mind Maps |
| | | Wallpaper |
| | | Video and Photographs |
| | | Wikis, Blogs, and Discussion Forums |
| | | Document Archeology |
| | | Some Other Requirements-Gathering Techniques |
| | | Determining What the Product Should Be |
| | | Does Technology Matter? |
| | | Choosing the Best Trawling Technique |
| | | Summary |
| | Chapter 6. Scenarios and Requirements |
| | | Agility Guide |
| | | Scenarios |
| | | Normal Case Scenarios |
| | | Diagramming the Scenario |
| | | Alternative Cases |
| | | Exception Cases |
| | | What If? Scenarios |
| | | Misuse Cases and Negative Scenarios |
| | | Scenario Template |
| | | Product Use Case Scenarios |
| | | Summary |
| | Chapter 7. Functional Requirements |
| | | Agility Guide |
| | | Functional Requirements |
| | | Finding the Functional Requirements |
| | | Level of Detail or Granularity |
| | | Exceptions and Alternatives |
| | | Avoiding Ambiguity |
| | | Technological Requirements |
| | | Requirements, Not Solutions |
| | | Grouping Requirements |
| | | Alternatives to Functional Requirements |
| | | Summary |
| | Chapter 8. Nonfunctional Requirements |
| | | Agility Guide |
| | | Nonfunctional Requirements |
| | | Use Cases and Nonfunctional Requirements |
| | | The Nonfunctional Requirements |
| | | Look and Feel Requirements: Type 10 |
| | | Usability and Humanity Requirements: Type 11 |
| | | Performance Requirements: Type 12 |
| | | Operational and Environmental Requirements: Type 13 |
| | | Maintainability and Support Requirements: Type 14 |
| | | Security Requirements: Type 15 |
| | | Cultural and Political Requirements: Type 16 |
| | | Legal Requirements: Type 17 |
| | | Finding the Nonfunctional Requirements |
| | | Don't Write a Solution |
| | | Summary |
| | Chapter 9. Fit Criteria |
| | | Agility Guide |
| | | Why Does Fit Need a Criterion? |
| | | Scale of Measurement |
| | | Rationale |
| | | Fit Criteria for Nonfunctional Requirements |
| | | Fit Criteria for Functional Requirements |
| | | Use Cases and Fit Criteria |
| | | Fit Criterion for Project Purpose |
| | | Fit Criteria for Solution Constraints |
| | | Summary |
| | Chapter 10. Writing the Requirements |
| | | Agility Guide |
| | | Turning Potential Requirements into Written Requirements |
| | | Knowledge Versus Specification |
| | | The Volere Requirements Specification Template |
| | | Section 1. The Purpose of the Project |
| | | Section 2. The Client, the Customer, and Other Stakeholders |
| | | Section 3. Users of the Product |
| | | Section 4. Mandated Constraints |
| | | Section 5. Naming Conventions and Definitions |
| | | Section 6. Relevant Facts and Assumptions |
| | | Section 7. The Scope of the Work |
| | | Section 8. The Scope of the Product |
| | | The Shell |
| | | The Atomic Requirement |
| | | Writing the Specification |
| | | Section 9. Functional Requirements |
| | | Nonfunctional Requirements |
| | | Project Issues |
| | | Section 18. Open Issues |
| | | Section 19. Off-the-Shelf Solutions |
| | | Section 20. New Problems |
| | | Section 21. Tasks |
| | | Section 22. Migration to the New Product |
| | | Section 23. Risks |
| | | Section 24. Costs |
| | | Section 25. User Documentation and Training |
| | | Section 26. Waiting Room |
| | | Section 27. Ideas for Solutions |
| | | Summary |
| | Chapter 11. The Quality Gateway |
| | | Agility Guide |
| | | Requirements Quality |
| | | Using the Quality Gateway |
| | | Testing Completeness |
| | | Testing Traceability |
| | | Consistent Terminology |
| | | Relevant to Purpose? |
| | | Testing the Fit Criterion |
| | | Viable within Constraints? |
| | | Requirement or Solution? |
| | | Customer Value |
| | | Gold Plating |
| | | Requirements Creep |
| | | Implementing the Quality Gateway |
| | | Summary |
| | Chapter 12. Prototyping the Requirements |
| | | Agility Guide |
| | | Prototypes and Reality |
| | | Low-Fidelity Prototypes |
| | | high-fidelity Prototypes |
| | | Storyboards |
| | | Object Life History |
| | | The Prototyping Loop |
| | | Summary |
| | Chapter 13. Reusing Requirements |
| | | What Is Reusing Requirements? |
| | | Sources of Reusable Requirements |
| | | Requirements Patterns |
| | | A Business Event Pattern |
| | | Forming Patterns by Abstracting |
| | | Domain Analysis |
| | | Trends in Reuse |
| | | Summary |
| | Chapter 14. Reviewing the Specification |
| | | Agility Guide |
| | | Reviewing the Specification |
| | | Inspections |
| | | Find Missing Requirements |
| | | Have All Business Use Cases Been Discovered? |
| | | Customer Value |
| | | Prioritizing the Requirements |
| | | Conflicting Requirements |
| | | Ambiguous Specifications |
| | | Risk Analysis |
| | | Measure the Required Effort |
| | | Summary |
| | Chapter 15. Whither Requirements? |
| | | Adapting the Process |
| | | What About Requirements Tools? |
| | | Mapping Tools to Purpose |
| | | Publishing the Requirements |
| | | Requirements Traceability |
| | | Dealing with Change |
| | | Requirements Retrospective |
| | | Your Notebook |
| | | The End |
| | Appendix A. Volere Requirements Process Model |
| | | The Volere Requirements Process Model |
| | | Define Blastoff Objectives (Process Notes 1.1.1) |
| | | Plan Physical Arrangements (Process Notes 1.1.2) |
| | | Communicate with Participants (Process Notes 1.1.3) |
| | | Determine Project Purpose (Process Notes 1.2.1) |
| | | Determine the Work Context (Process Notes 1.2.2) |
| | | Do First-Cut Risk Analysis (Process Notes 1.2.3) |
| | | Identify the Stakeholders (Process Notes 1.2.4) |
| | | Partition the Context (Process Notes 1.2.5) |
| | | Consider Non-Events (Process Notes 1.2.6) |
| | | Determine Business Terminology (Process Notes 1.2.7) |
| | | Define Project Constraints (Process Notes 1.2.8) |
| | | Identify Domains of Interest (Process Notes 1.2.9) |
| | | Write Blastoff Report (Process Notes 1.3.1) |
| | | Review Blastoff Results (Process Notes 1.3.2) |
| | | Hold Follow-Up Blastoff (Process Notes 1.3.3) |
| | | Make Initial Estimate (Process Notes 1.3.4) |
| | | Review Current Situation (Process Notes 2.1.1) |
| | | Apprentice with the User (Process Notes 2.1.2) |
| | | Determine Essential Requirements (Process Notes 2.1.3) |
| | | Brainstorm the Requirements (Process Notes 2.1.4) |
| | | Interview the Users (Process Notes 2.1.5) |
| | | Do Document Archaeology (Process Notes 2.1.6) |
| | | Make Requirements Video (Process Notes 2.1.7) |
| | | Run Use Case Workshop (Process Notes 2.1.8) |
| | | Build Event Models (Process Notes 2.1.9) |
| | | Build Scenario Models (Process Notes 2.1.10) |
| | | Run Creativity Workshop (Process Notes 2.1.11) |
| | | Study the Adjacent Systems (Process Notes 2.2.1) |
| | | Define Use Case Boundary (Process Notes 2.2.2) |
| | | Gather Business Event Knowledge (Process Notes 2.3.1) |
| | | Choose Appropriate Trawling Techniques (Process Notes 2.3.2) |
| | | Ask Clarification Questions (Process Notes 2.4) |
| | | Identify Potential Requirements (Process Notes 3.1) |
| | | Identify Functional Requirements (Process Notes 3.2) |
| | | Identify Composite Requirements (Process Notes 3.3) |
| | | Formalize Requirement (Process Notes 3.4) |
| | | Formalize System Constraints (Process Notes 3.5) |
| | | Identify Nonfunctional Requirements (Process Notes 3.6) |
| | | Write Functional Fit Criteria (Process Notes 3.7) |
| | | Write Nonfunctional Fit Criteria (Process Notes 3.8) |
| | | Define Customer Value (Process Notes 3.9) |
| | | Identify Dependencies and Conflicts (Process Notes 3.10) |
| | | Review Requirement Fit Criteria (Process Notes 4.1) |
| | | Review Requirement Relevance (Process Notes 4.2) |
| | | Review Requirement Viability (Process Notes 4.3) |
| | | Identify Gold-Plated Requirements (Process Notes 4.4) |
| | | Review Requirement Completeness (Process Notes 4.5) |
| | | Plan the Prototype (Process Notes 5.1) |
| | | Build Low-Fidelity Prototype (Process Notes 5.2.1) |
| | | Build high-fidelity Prototype (Process Notes 5.2.2) |
| | | Test high-fidelity Prototype with Users (Process Notes 5.3.1) |
| | | Test Low-Fidelity Prototype with Users (Process Notes 5.3.2) |
| | | Identify New and Changed Requirements (Process Notes 5.3.3) |
| | | Evaluate Prototyping Effort (Process Notes 5.3.4) |
| | | Conduct Private Individual Reviews (Process Notes 6.1.1) |
| | | Conduct Separate Meetings with Groups (Process Notes 6.1.2) |
| | | Facilitator Reviews Facts (Process Notes 6.1.3) |
| | | Hold Retrospective Review Meeting (Process Notes 6.2.1) |
| | | Produce Retrospective Report (Process Notes 6.2.2) |
| | | Identify Filtration Criteria (Process Notes 6.3.1) |
| | | Select Relevant Requirement Types (Process Notes 6.3.2) |
| | | Add New Filtration Criteria (Process Notes 6.3.3) |
| | | Identify Missing Requirements (Process Notes 7.1.1) |
| | | Identify Customer Value Ratings (Process Notes 7.1.2) |
| | | Identify Requirement Interaction (Process Notes 7.1.3) |
| | | Identify Prototyping Opportunity (Process Notes 7.1.4) |
| | | Find Missing Custodial Requirements (Process Notes 7.1.5) |
| | | Look for Likely Risks (Process Notes 7.2.1) |
| | | Quantify Each Risk (Process Notes 7.2.2) |
| | | Identify Estimation Input (Process Notes 7.3.1) |
| | | Estimate Effort for Events (Process Notes 7.3.2) |
| | | Estimate Requirements Effort (Process Notes 7.3.3) |
| | | Design Form of Specification (Process Notes 7.4.1) |
| | | Assemble the Specification (Process Notes 7.4.2) |
| | | Dictionary of Terms Used in the Requirements Process Model |
| | Appendix B. Volere Requirements Specification Template |
| | | Contents |
| | | Preamble |
| | | Volere |
| | | Requirements Types |
| | | Testing Requirements |
| | | Requirements Shell |
| | | Section 9. Functional and Data Requirements |
| | | Section 10. Look and Feel Requirements |
| | | Section 11. Usability and Humanity Requirements |
| | Appendix C. Function Point Counting: A Simplified Introduction |
| | | Measuring the Work |
| | | A Quick Primer on Counting Function Points |
| | | Counting Function Points for Business Use Cases |
| | | Adjust for What You Don't Know |
| | | What's Next After Counting Function Points? |
| | Appendix D. Project Sociology Analysis Templates |
| | | Stakeholder Map Template |
| | | Stakeholder Analysis Template |
| | Glossary |
| | Bibliography |
| | Inside Front Cover |
| | Index |