Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 1.182 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
1.182
Dung lượng
9,49 MB
Nội dung
Mastering the Requirements Process Second Edition By Suzanne Robertson, James Robertson Publisher: Addison Wesley Professional Pub Date: March 17, 2006 Print ISBN-10: 0-321-41949-9 Print ISBN-13: 978-0-321-41949-1 Pages: 592 Table of Contents | Index "If the purpose is to create one of the best books on requirements yet written, the authors have succeeded." Capers Jones It is widely recognized that incorrect requirements account for up to 60 percent of errors in software products, and yet the majority of software development organizations do not have a formal requirements process Many organizations appear willing to spend huge amounts on fixing and altering poorly specified software, but seem unwilling to invest a much smaller amount to get the requirements right in the first place Mastering the Requirements Process, Second Edition, sets out an industry-proven process for gathering and verifying requirements with an eye toward today's agile development environments In this total update of the bestselling guide, the authors show how to discover precisely what the customer wants and needs while doing the minimum requirements work according to the project's level of agility Features include The Volere requirements processcompletely specified, and revised for compatibility with agile environments A specification template that can be used as the basis for your own requirements specifications New agility ratings that help you funnel your efforts into only the requirements work needed for your particular development environment and project How to make requirements testable using fit criteria Iterative requirements gathering leading to faster delivery to the client Checklists to help identify stakeholders, users, nonfunctional requirements, and more Details on gathering and implementing requirements for iterative releases An expanded project sociology section for help with identifying and communicating with stakeholders Strategies for exploiting use cases to determine the best product to build Methods for reusing requirements and requirements patterns Examples showing how the techniques and templates are applied in real-world situations Mastering the Requirements Process Second Edition By Suzanne Robertson, James Robertson Publisher: Addison Wesley Professional Pub Date: March 17, 2006 Print ISBN-10: 0-321-41949-9 Print ISBN-13: 978-0-321-41949-1 Pages: 592 Table of Contents | Index 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) adjacent systems in agility guide for apprenticeships in 2nd brainstorming in 2nd business event knowledge in business use case workshops in clarification questions in creativity workshops in 2nd current situation in 2nd 3rd diagrams 2nd document archeology in 2nd essence of work in 2nd event models in family therapy in for innovation in business use cases interviews in 2nd mind maps in observations in 2nd personas in photographs in problem identification in product determination in responsibility for scenario models in soft systems and viewpoints in techniques for 2nd 3rd technology in use case boundaries in use case workshops in video in 2nd wallpaper in wikis, blogs, and discussion forums for Triage in prioritizing requirements Triggers for business use cases in scenario templates Truck depots as domains of interest Trucking as domain of interest Turner, Richard Typefaces, measuring Types, requirement 2nd 3rd 4th 5th Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [Y] Uncertainty range in function point counting Understandability requirements Understanding requirements, importance of Unduplicated attributes Unified Modeling Language (UML) activity diagrams for functional requirements for scenarios objects in use case diagrams Universal cures Universal quantifiers Unmanaged risk Unnecessary features and requirements 2nd Unqualified adjectives and adverbs Unspecified patterns Update step in CRUD checks Upper Class service Usability requirements 2nd accessibility ease of use fit criteria for for telephones in prototyping learning personalization and internationalization understandability and politeness Usage feedback Use cases business [See Business use cases ] defined event-driven [See Event-driven use cases ] fit criteria in in nonfunctional requirements 2nd in scope 2nd in trawling 2nd in writing requirements product [See Product use cases ] UML use case diagrams User business in specification template 2nd User documentation in specification template 2nd User environment, testing in User groups User management as stakeholder User problems for new products User reviews, publishing User-friendliness as requirement Users as stakeholders in reusing requirements in risk analysis in specification template 2nd interviewing personas for priorities of relevancy of Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [Y] Value as goal Verbs Version numbers in prioritizing requirements Viability reviewing within constraints Video in trawling 2nd Viewpoints in trawling Virgin Atlantic Viruses Visual Basic for prototypes Volere Requirements Process Model 2nd 3rd blastoff business terminology in communication in constraints in context partitioning in diagrams for 2nd 3rd domains of interest in first-cut risk analysis in initial estimates in non-events in objectives physical arrangements in purpose determination in reports for results review stakeholders in work context in prototyping diagrams evaluating follow-up for new and changed requirements high-fidelity low-fidelity planning testing Quality Gateway retrospectives diagrams facilitators for filtration criteria for group meetings for private individual reviews reports for review meetings for reviewing requirements assembling specifications design form diagrams effort estimation input for customer value for risks interaction missing missing custodial prototyping opportunity summary terms used in trawling for requirements adjacent systems in apprenticeships in brainstorming in business event knowledge in clarification questions in creativity workshops in current situation in diagrams document archeology in essence of work in event models in interviews in scenario models in techniques for use case boundaries in use case workshops in video in working with writing requirements composite requirements identification customer value dependencies and conflicts identification diagrams fit criteria formalizing requirements functional requirements identification nonfunctional requirements identification potential requirements identification system constraint formalization Volere requirements specification template constraints in assumptions in 2nd facts in 2nd from environment 2nd mandated 2nd naming conventions and definitions 2nd off-the-shelf products 2nd data requirements in for specification reviews functional requirements in 2nd 3rd nonfunctional requirements in cultural and political legal look and feel maintainability operational and environment performance security support usability and humanity preamble project drivers in clients, customers, and stakeholders in 2nd purpose 2nd users 2nd project issues costs new problems 2nd off-the-shelf solutions 2nd open 2nd risks 2nd solution ideas tasks 2nd user documentation and training 2nd requirements types shell in tables of contents for 2nd testing requirements Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [Y] Waist-High Shelf pattern Waiting room 2nd Wallpaper in trawling Warning messages Weather as domain of interest Weather forecasting service as autonomous adjacent systems in domains of interest Weather stations in domains of interest Web-based products for prototypes look and feel of Weights for prioritizing requirements Weinberg, Jerry What if? scenarios Whiteboards Wider environment in stakeholder maps Wikis for nonfunctional requirements for trawling Wild ideas in brainstorming Wittenberg, Ethel Words [See Terms and terminology ] Work context defined in blastoff in scope in trawling in event-driven use cases in scope partitioning [See Partitions ] reengineering Work areas, measuring Work description and demonstration Work knowledge Working models in trawling Workplace environment, constraints from 2nd Workshops, use case 2nd business rules in outcomes from scenarios in videos for World changes Writely tool Writing requirements 2nd agility guide for atomic requirements in composite requirements in customer value in 2nd dependencies and conflict identification in diagrams fit criteria 2nd formalizing requirements functional requirements knowledge vs specification in nonfunctional requirements potential requirements in 2nd shells in system constraint formalization templates for [See Volere Requirements Process Model ] Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [Y] Yourdon, Ed ... 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. .. depicts the requirements process as part of the ongoing development life cycle Figure 1.1 The diagram illustrates the role of requirements in the development life cycle The Requirements Gathering process studies the work and then specifies the product that most helps... 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