SIX SIGMA SOFTWARE DEVELOPMENT - GBV

9
SIX SIGMA SOFTWARE DEVELOPMENT Second Edition CHRISTINE B. TAYNTOR Auerbach Publications Taylor & Francis Group Boca Raton New York Auerbach Publications is an imprint of the Taylor & Francis Group, an informa business

Transcript of SIX SIGMA SOFTWARE DEVELOPMENT - GBV

Page 1: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

SIX SIGMA SOFTWARE

DEVELOPMENT

Second Edition

CHRISTINE B. TAYNTOR

Auerbach Publications Taylor & Francis Group

Boca Raton New York

Auerbach Publications is an imprint of the Taylor & Francis Group, an informa business

Page 2: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

Contents

List of Exhibits xix

Introduction xxv

I Introduction to Six Sigma 1

1 Six Sigma in Perspective 3 Defining Six Sigma 3 More than Statistics 4 Not Just Products 4 Defect Prevention 5 Reduced Variation 6 Customer Focus 7 Fact-Based Decisions 8 Teamwork 9 Tools and Training 9 A Strategy, Not an Initiative 10 DFSS: The Logical Extension to Six Sigma 10 Applying Six Sigma to System Development 11 No Relevance to IT 12 All or Nothing 13

2 The Six Sigma Difference 15 The Six Sigma Difference 15 Six Sigma and Quality Assurance 15 Six Sigma and CMM 17 Six Sigma and Lean 19

3 Managing Change 21 The Human Effects of Change 21 The Roles People Play 23 Components of Successful Change 23

xi

Page 3: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

xii • Six Sigma Software Development

Building Commitment 24 Formal Communication 25 Informal Communications 27

II The Basics of Six Sigma 29

4 Introduction to DMAIC 31 Background to the Case Study 33

5 The Definition Phase 35 The Project Champion 35 Step 1: Dehne the Problem 36 Step 2: Form a Team 37 Step 3: Establish a Project Charter 42

The Thought Process Map 44 Rehning the Project Scope 44

Step 4: Develop a Project Plan 47 Step 5: Identify the Customers 47 Step 6: Identify Key Outputs 49 Step 7: Identify and Prioritize Customer Requirements 50

The Second Meeting 52 Step 8: Document the Current Process 56 Types of Process Maps 56

Top-Level Map 57 Detailed Process Map 58 Functional Process Map 59

Complete the Requirements Definition 6l

6 The Measurement Phase 65 Step 1: Determine What To Measure 66

Types of Variation 66 The Lean Approach 68 Measure What You Value 69 Accuracy of Measurements 71

Step 2: Conduct the Measurement 72 Understanding Variation 73

Step 3: Calculate Current Sigma Level 79 Step 4: Determine Process Capability 83

Capability Indices 84 Cycle Time 86

Step 5: Benchmark Process Leaders 87

7 The Analysis Phase 91 Step 1: Determine What Caused the Variation 91

Noise Variables 93 Step 2: Brainstorm Ideas for Process Improvements 98 Step 3: Determine Which Improvements Have the Greatest Impact on Customer Requirements 99

Page 4: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

Contents • xiii

Step 4: Develop Proposed Process Map 102 Step 5: Assess Risks Associated with Revised Process 104

8 The Improvement Phase 109 Step 1: Gain Approval for the Proposed Changes 109

The Impact Assessment 111 Step 2: Finalize the Implementation Plan 115 Step 3: Implement the Approved Changes 115

9 The Control Phase 119 Step 1: Establish Key Metrics 119 Step 2: Develop the Control Strategy 121 Step 3: Celebrate and Communicate Success 125 Step 4: Implement the Control Plan 125 Step 5: Measure and Communicate Improvements 125

III Design for Six Sigma 129

10 Introduction to DFSS 131 The Need for DFSS 131 Defining DFSS 132 Phases of DFSS 134 Distinguishing between Six Sigma and DFSS 136 Background to the Case Study 137

11 The Identification of Opportunities Phase 139 Step 1: Dehne the Problem 140 Step 2: Form a Team 140 Step 3: Establish a Project Charter 143 Step 4: Develop a Project Plan 145 Step 5: Identify the Customers, Suppliers, and Stakeholders 145 Step 6: Identify Customer Requirements 148 Step 7: Identify CTQs 156 Step 8: Begin to Develop the QFD Matrix 158

12 The Definition of the Initial Design Phase 163 Step 1: Identify Potential Designs 163 Step 2: Evaluate the Potential Designs Using Pugh Concept Selection Techniques 167 Step 3: Identify Potential Failure Modes of the Most Feasible Design.... 169 Step 4: Expand the QFD with the Results of the Analyses 170

13 The Development of Concept Phase 179 Step 1: Dehne the Proposed Product and Process 179 Step 2: Identify Possible Causes of Variation in the Process 181 Step 3: Model the Design 183 Step 4: Identify Potential Risks and Mitigation Plans 185 Step 5: Develop Quality Measures for the Process 187

Page 5: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

xiv • Six Sigma Software Development

14 The Optimization Phase 193 The Challenge 193 Parameter Design 194 Tolerance Design 196

15 The Verification Phase 199 The Prototype 200 The Pilot 202

IV Six Sigma and the Traditional SDLC 207

1 6 Introduction to the Traditional SDLC 209 Advantages of the Traditional SDLC 211 SDLC Disadvantages 211 How Six Sigma Can Help 212 The Role of DFSS 216

17 Project Initiation 219 Step 1: Identify the Problem 220 Step 2: Form the Team 222 Step 3: Identify Preliminary Requirements 223

Begin to Develop a Thought Process Map 223 Develop the Initial Project Charter 224 Dehne the Problem Statement and Project Goals 225 Identify the Customers 226 Identify Key Outputs 226 Document the Current Process 227 Dehne High-Level Requirements 228

Step 4: Validate the Requirements 228 Step 5: Develop a Feasibility Study 230 Step 6: Obtain Project Approval 232

18 System Analysis 237 Step 1: Understand the Current Process 239 Step 2: Identify the Requirements 241 Step 3: Prioritize the Requirements 243 Step 4: Identify Potential Process Improvements 246 Step 5: Determine Which Improvements Will Have the Greatest Impact on the Highest Priority Requirements 246 Step 6: Create a Detailed "To-Be" Process Map 247 Step 7: Assess the Impact and Risks of the Proposed Process Improvements 248 Step 8: Complete the Development of the Conceptual Design 248 Step 9: Complete the Requirements Specification Document 249 Step 10: Obtain Approvals 249

19 System Design 251 Functional Design 251

Page 6: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

Contents • xv

Technical Design 253 Defect Prevention 258 Program Design 260

20 Construction 263 Structured Walk-Throughs 263 Defect Prevention 264

21 Testing and Quality Assurance 267 The Test Plan 268 Test Cases 269 The Unit Test 271 The System Test 272 The Integration Test 272 The Stress Test 273 The Acceptance Test 275 Six Sigma Tools for Testing 275

22 Implementation 277 Customer Training 277 Customer Documentation 279 Data Conversion 281 Project Evaluation 281

V Six Sigma and Legacy Systems 283

23 Introduction to Legacy Systems 285 The Challenge 285 Need for Change Management 286 When DFSS Can Help 287

24 Change Management in the IT Department 289 Step 1: Understand and Document the Process 290 Step 2: Dehne Success 292 Step 3: Identify and Mitigate Risks 293

Release-Based Maintenance 293 Step 4: Ensure that the Process Is Followed 295

25 System Maintenance and Support 297 Categorizing Maintenance 297 Six Sigma and System Support 298 Customer Focus 299 The Steering Committee 300 One or More Committees? 301 Charters and Agendas 302 Service Level Agreements 303 Customer Satisfaction Surveys 306 Ensuring Successful Maintenance 310

Page 7: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

xvi • Six Sigma Software Development

VI Incorporating Six Sigma into Other Development Methodologies 311

2 6 Rapid Application Development 313 JRP and JAD 314 The Role of DFSS 314 Selecting the Participants 314 The Role of the Facilitator 315 Optimizing the Meeting Location 316 Effective Sessions 317 Communication 318

27 Prototyping and Spiral Development 321 Prototyping 322 Spiral or Iterative Development 323 Phased Delivery 326

28 Client/Server and Web-Based Systems 327 The Challenge 327 Reducing Variation through Testing 329

VII Six Sigma and Packaged Software Implementation 331

29 Selecting Packaged Software 333 Advantages of Packaged Software 333 Guidelines for Success 334 Using Six Sigma to Increase the Probability of Success 336 The Selection Process 337

Step 1: Identify the Requirements 338 Step 2: Prioritize the Requirements 339 Step 3: Develop a List of Potential Vendors 340 Step 4: Obtain Product Information 340 Step 5: Perform a Preliminary Evaluation 341 Step 6: Conduct Initial Product Demos 343 Step 7: Perform Detailed Evaluation of "Short List" Vendors 343 Step 8: Identify Gaps between Products and Requirements 344 Step 9: Select Final Vendor 345 Step 10: Negotiate the Contract 345

30 Implementing Packaged Software 349 Preparing the Customer Department 350 Installing and Implementing the Software 351

Step 1: Communicate the Decision and Project Schedule 351 Step 2: Install and Test the Software with No Modifications 351 Step 3: Modify the Base Software and Retest 352 Step 4: Build Interfaces To and From Existing Systems 352 Step 5: Develop Data Conversion Programs and Procedures 354 Step 6: Develop and Conduct Customer Training 354 Step 7: Go Live 354 Step 8: Evaluate the Results 355

Page 8: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

Contents • xvii

VIII Six Sigma and Outsourcing 357

31 Introduction to Outsourcing 359 Outsourcing versus Staff Augmentation 359 The Outsourcing Decision 363 What to Outsource 363 Personnel-Related Risks 363 Reasons for Outsourcing 364 Potential Disadvantages of Outsourcing 365 Strategies for Success 366 Choosing the Right Supplier 366 Categorizing the Engagement 368 Selecting the Supplier 370 Negotiating the Contract 371 Drafting a Comprehensive Contract 372 Establishing Effective SOWs and SLAs 373 Committing to Success 374

32 Effective Outsourcing 377 Where DFSS Can Help 377 Custom System Development 378 Packaged Software Implementation 380 System Maintenance 381 The Help Desk 381 Data Center Operations 382 The Control Plan 382

IX The Six Sigma IT Department 385

33 Putting It All Together 387 Dehne 387

Step 1: Dehne the Problem 388 Step 2: Form a Team 388 Step 3: Establish a Project Charter 388 Step 4: Develop a Project Plan 388 Step 5: Identify the Customers 389 Step 6: Identify Key Outputs 389 Step 7: Identify and Prioritize Customer Requirements 389 Step 8: Document the Current Process 390

Measure 392 Step 1: Determine What to Measure 392 Step 2: Conduct the Measurements 392 Step 3: Calculate Current Sigma Level 392 Step 4: Determine Process Capability 392 Step 5: Benchmark Process Leaders 393

Analyze 393 Step 1: Determine What Caused the Variation 393 Step 2: Brainstorm Ideas for Process Improvements 394

Page 9: SIX SIGMA SOFTWARE DEVELOPMENT - GBV

xviii • Six Sigma Software Development

Step 3: Identify Greatest Impact Improvements 394 Step 4: Develop Proposed Process Map 394 Step 5: Assess the Risks 395

Improve 395 Step 1: Gain Approval for Proposed Changes 395 Step 2: Finalize the Implementation Plan 395 Step 3: Implement the Approved Changes 395

Control 396 Step 1: Establish Key Metrics 396 Step 2: Develop the Control Strategy 396

Putting It All Together 396

X Appendices 399

A The Project Charter 401

B The Functional Process Map 407

Mapping Conventions 408

C The Process Improvement Ranking Spreadsheet 411

D The Failure Modes and Effects Analysis (FMEA) 413

E The Metrie Reliability Assessment Spreadsheet 419

F The QuaUty Function Deployment (QFD) Matrix 423

G List of Acronyms 431

H Suggested Reading 435

Index 437