Mastering Software. Project Requirements. A Framework for Successful Planning, Development & Alignment. Barbara Davis J.ROSS?

Size: px
Start display at page:

Download "Mastering Software. Project Requirements. A Framework for Successful Planning, Development & Alignment. Barbara Davis J.ROSS?"

Transcription

1 Mastering Software Project Requirements A Framework for Successful Planning, Development & Alignment Barbara Davis J.ROSS? / PUBLISHING

2 Table of Contents Dedication Preface About the Author iii xiii xix SECTION I: IDENTIFYING AND UNDERSTANDING THE BUSINESS SOLUTION 1 CHAPTER 1 Identifying the Solution 3 Defined Versus Undefined Solution Starting Points 3 Defining the Business Need, Vision, and Mission 5 Managing to the Exception 15 Understanding Business Architecture 16 Benefits Realization Planning 19 References 22 CHAPTER 2 Stakeholder Involvement and Management 23 The Seinfeld Approach to Requirements 23 Setting and Managing Expectations 24 Beyond RACI: Getting Sponsors, Business Owners, and User Groups Involved 31 RACI Matrix 32 Why Some People Contribute and Others Don't 32 Why Opportunity Alone Does Not Equal Contribution and Increased Participation 33 Types of Participation 34 v

3 vi Contents Creating the Right Conditions and Environment Increases Participation 36 Informational Activities 36 Input Funnels 37 Facilitators Role 38 References 42 SECTION II: REQUIREMENTS PLANNING AND MANAGEMENT 43 CHAPTER 3 The Evolution ofrequirements on a Project 45 Inherent Project Risks to Requirements 45 Risks from Project Inception 48 Strategic Planning of Business Architecture 48 Managing Expectations 49 Communication Architecture 50 Risks from Project Resources 50 5 Critical Requirements Steps that Get Missed: What Business Analysts Are Not Doing (Consistently) 51 Research 52 Gap Assessment (Versus Gap Analysis) 52 Ambiguity Management 52 Requirements Validation 53 Facilitated Sign Off. 53 Quantifying Effectiveness of Requirements Activities 54 The Golden Rules of Requirements 55 Attributes of Great Requirements 56 Reference 57 CHAPTER 4 Requirements Management and Development Strategy 59 Developing a Requirements Management Strategy 61 Planning Requirements Management 62 Preparing for Requirements Management 64 Requirements Management Activities 65 Tools and Techniques 67 Traceability 67 Change Control 67 Ambiguity Management 69 Ambiguity Log 69 Sign Off. 70

4 Contents vii Requirements Management Tool 70 Naming and Numbering Conventions 70 Numbering Business Process Models 71 Process Control 71 Numbering Business Rules 72 Document Name 72 Numbering Requirements 73 Document Name 73 Impacts of Changes to Requirements 74 CHAPTER 5 Establishing Metrics and Benchmarks 77 Inputs for Metrics and Benchmarking 80 Outputs as Quantifiable Results 80 Measuring Requirements Effectiveness 81 Calculating the Requirements Effectiveness Index 82 Calculating the Requirements Quality Index 84 Calculating the Requirements Productivity Index 85 Business Priority and Criticality 86 Functional Complexity 87 Estimating Requirements Activities 88 Reference 95 SECTION III: ALL THINGS REQUIREMENTS 97 CHAPTER 6 Elidtation 99 From Business Objective and Problem, To Scope and Requirements 100 Inputs and Outputs of Elicitation 101 Knowing Where to Find Sources for Requirements 102 Why Each Source Is Valuable in Elicitation 102 Tribal Knowledge 103 Project Scope 103 Project Charter 104 Project Plan 105 High-Level Requirements 107 Business Architecture Documentation 107 Enterprise Architecture Documentation 107 What Information Is Collected During Elicitation? 107 The Risks of Excluding Business Analysts in Implementing Commercial-Off-the-Shelf Solutions 109 How Is This Information Used During Elicitation? Ill

5 viii Contents What Artifacts and Deliverables Will Be Created in Elicitation? 111 Current State Definition Ill Current State Inputs 112 Current State Outputs 112 Current State Scope and Dependencies 112 Tools and Techniques for Defining the Current State 113 Current State Audience and Sign Off 113 High- to Mid-Level Requirements Evolution (Refinement) 113 Mid-Level Requirements Scope and Dependencies 114 Mid-Level Requirements Inputs 114 Mid-Level Requirements Outputs 115 Audience and Documentation Sign Off 115 Outlining the Future State Definition 118 Future State Inputs 118 Future State Outputs 118 Documentation Scope and Dependencies 118 Tools and Techniques for Defining the Future State 119 Future State Audience and Sign Off 120 Business Process Modeling 120 Business Process Modeling Inputs 121 Business Process Modeling Outputs 122 Business Process Modeling Documentation Scope and Dependencies 122 Tools and Techniques for Business Process Modeling 122 Business Process Modeling Audience and Documentation Sign Off. 123 Business Rules Definition 124 Business Rule Inputs 124 Business Rule Outputs 125 Business Rule Scope and Dependencies 125 Business Rule Audience and Sign Off 126 Who Will Use the Artifacts and Deliverables from Elicitation? 126 How Are the Artifacts and Deliverables Created in Elicitation Used? 126 Tasks and Activities of Eliciting Requirements 127 Techniques for Eliciting Requirements 127 How Tribal Knowledge Is Collected 127 Facilitation 128 Guidelines for Conducting Effective Meetings 130 Research 130 Joint Application Development Sessions 132 Reference 133

6 Contents ix CHAPTER 7 Analysis 135 Inputs and Outputs for Analysis 137 How Is this Information Used During Analysis? 138 Business Process Models 138 Current State Definition 138 Future State Definition Outline 139 Business Architecture 139 Enterprise Architecture 139 What Artifacts Are Created During Analysis? 141 Scenario Definition 141 Gap Analysis 142 Cause and Effect Tables 142 Who Will Use the Artifacts and Deliverables? 142 How Will the Artifacts and Deliverables Be Used? 143 Tasks and Activities of Analysis 143 Techniques for Analyzing Requirements 143 Gap Analysis 144 Inputs and Outputs of Gap Analysis 144 Performing Gap Analysis 145 Routine Gap Analysis 145 Realignment Gap Analysis 145 Peripheral Gap Analysis 146 Scenarios 147 Activity Diagrams 147 Document Structure and Management for Activity Diagrams 148 Naming Conventions for Activity Diagrams 148 Activity Diagram Inputs 149 Activity Diagram Outputs 149 Scope and Dependencies of Activity Diagrams 149 Tools and Techniques for Defining the Activity Diagram 150 Who Signs Off on the Activity Diagrams? 151 Use Case Definition Outlines 151 Document Structure and Management for Use Cases 151 Use Case Inputs 152 Use Case Outputs 153 Use Case Scope and Dependencies 153 Tools and Techniques for Defining the Use Cases 153 Who Signs Off on the Use Cases? 154 Cause and Effect Tables 154 Document Structure and Management 156

7 x Contents Cause and Effect Table Inputs 156 Cause and Effect Table Outputs 157 Cause and Effect Tables Scope and Dependencies 157 Tools and Techniques for Creating the Cause and Effect Table 157 Who Signs Off on the Cause and Effect Tables? 158 Exit Criteria for Analysis 158 References 159 CHAPTER 8 Specification 161 Writing Testable Requirements 161 Inputs/Outputs of Specification 163 What Artifacts and Deliverables Are Created in Specification? 163 Requirements Document 163 Who Signs Offon Low-Level Requirements? 164 Finalized Business Rules 164 Business Rules Refinement 165 Use Case Definition/Refinement 165 Who Will Use the Artifacts and Deliverables from Specification? 165 Tasks and Activities of the Specification Stage 166 Business Rules 167 Low-Level Requirements Document 167 Individual Requirement Updating Structure 176 Use Cases 178 Future State Definition Refinement 179 Exit Criteria for Specification 180 References 180 CHAPTER 9 Validation 181 Inputs and Outputs of Validation 181 What Artifacts and Deliverables Are Created in Validation? 182 Who Offon Signs Validation? 182 Requirements Traceability 182 Tasks and Activities in Validation 183 Assessing Business Criticality and Priority 184 Techniques for Validating Requirements 185 Cause and Effect (Decision) Tabling 186 Scenarios 187 Use Cases 187 Ambiguity Reviews and Tracking 187 Tools and Techniques for Ambiguity Reviews 188 Ambiguity Workshops 192 Numbering Requirements 196

8 Contents xi Facilitated Sign Off of Requirements 197 Exit Criteria 198 References 198 SECTION IV: APPLYING PROJECT AND ARCHITECTURE METHODOLOGIES 199 CHAPTER 10 Implications of Agile on Requirements 201 Misconceptions About Agile 205 Impacts of Agile on Requirements 207 Strengths of Agile 208 Risks of Agile 210 References 210 CHAPTER 11 Implications of Waterfall on Requirements 211 Misconceptions about Waterfall 213 Impacts of Waterfall on Requirements 214 Using Waterfall to Manage Change 214 Change Management 214 Change Control 216 Strengths of Waterfall 216 Risks of Waterfall 217 References 219 CHAPTER 12 Implications Of WAgile On Requirements 221 Misconceptions about WAgile Impacts ofwagile on Requirements 223 Strengths of WAgile 223 Risks of WAgile 224 References 224 CHAPTER 13 Implications oftogaf Enterprise Architecture on Requirements 225 Misconceptions about TOGAF 226 Impacts oftogaf on Requirements 228 Strengths of TOGAF EA Methodology 230 Risks of TOGAF EA Methodology 230 References 231 CHAPTER 14 How Business Analysis Can Leverage DO-178C Aviation Engineering Specifications 233 DO-178 Framework 235 Software Planning Process 237

9 xii Contents Software Development Process 238 Software Requirements Process 238 Software Design Process 239 Software Coding Process 239 Integration Process 239 Traceability 242 Correctness, Confidence, and Control Process 242 Verification 243 Configuration Management 244 Quality Assurance 245 Transferrable DO-178 Elements (Applicability and Implications to Strengths Commercial Software) 245 of DO References 248 APPENDICES 249 APPENDIX A Writing Effective E Mails 251 APPENDIX B Sample Document Templates 255 Ambiguity Log Content Sample 255 BA Deliverables and Artifacts Index Content Sample 255 Business Rules Content Sample 255 Change Control Log Document Content Sample 257 Current State Document Content Sample 257 Future State Definition Document Content Sample 258 GAP Analysis Content Sample 259 High-Level Requirements Document Content Sample 259 Requirements Document Content Sample 259 Requirements Risk Assessment Document Content Sample 261 Use Case Document Content Sample 263 Index 265