CPrime -Agile Processes for Hardware Development

Agile Processes for Hardware Development

Abstract

Hardware and software development are quite different, in terms of the concrete developmental activities. Thus it might seem that Scrum, the Agile process often used for software development, would not be appropriate for hardware development. However, most of the obvious differences between hardware and software development have to do with the nature and sequencing of deliverables, rather than unique attributes of the work that constrain the process. The research conducted for this paper indicates that a Scrum process is quite appropriate for hardware development. Thus this paper describes a practical Agile process for Agile hardware development, which is almost identical to the Scrum process as it is commonly used for developing software. Acknowledgments The author would like to thank John Carter (of TCGen) and Dr. Scott Elliott (of TechZecs LLC) for their critical contributions in the areas of hardware development and survey design. This document would not have been possible without their continued participation in every aspect of the research and writing over the last year and a half, including designs for various figures, textual revisions, and numerous proofreadings.

2

Contents

1 Introduction ..........................................................................................................................................7 2 The Agile Hardware Research Project .................................................................................................7 3 Processes for Software Development ..................................................................................................8

3.1 The Waterfall Process for Software Development ........................................................................8 3.2 The Adaptive Spectrum................................................................Error! Bookmark not defined. 3.3 Agile Processes for Software Development .................................................................................9 3.4 Scrum Time Horizons and Cycles ..............................................................................................10 4 Hardware vs. Software: Similarities and Differences .........................................................................12 4.1 Similarities between Hardware and Software Development ......................................................13 4.2 Differences between Hardware and Software Development .....................................................13 5 Scrum-Process Customizations for Hardware Development .............................................................14

5.1.1 Story Types.........................................................................................................................14 5.1.2 Sprint Length ......................................................................................................................15 5.1.3 Release Planning................................................................................................................16 5.1.4 Variation in Sprint Focus during a Release Cycle ..............................................................17 6 Agile Process for Hardware Development .........................................................................................18 6.1 Overview.....................................................................................................................................19 6.2 Velocity .......................................................................................................................................19 6.3 Levels of Governance ................................................................................................................20 6.4 Roles...........................................................................................................................................20 6.4.1 Project-Level Roles.............................................................................................................20 6.4.2 Program-Level Roles ..........................................................................................................21 6.5 Artifacts ......................................................................................................................................22 6.5.1 Product Backlog Items .......................................................................................................22

6.5.1.1 User Stories ....................................................................................................................22 6.5.1.2 Technical Stories ............................................................................................................24 6.5.1.3 Defects ...........................................................................................................................25 6.5.2 Epics...................................................................................................................................26 6.5.3 Product Backlog .................................................................................................................27 6.5.4 Sprint Backlog ....................................................................................................................27

3

6.5.5 Definition of Done ...............................................................................................................27 6.6 Ceremonies ................................................................................................................................28

6.6.1 Estimation Concepts...........................................................................................................29 6.6.1.1 Units for PBI Estimation ..................................................................................................29 6.6.1.1.1 Relative Sizing ..........................................................................................................29 6.6.1.1.2 Absolute Sizing.........................................................................................................30 6.6.1.2 How to Estimate Team Velocity ......................................................................................30 6.6.1.3 How to Estimate PBIs with Planning Poker.....................................................................31 6.6.1.4 How to Estimate Tasks ...................................................................................................32

6.6.2 Ceremonies for Sprints .......................................................................................................32 6.6.2.1 Backlog Grooming Meeting............................................................................................34 6.6.2.2 Sprint Planning Meeting .................................................................................................34 6.6.2.2.1 Sprint Planning, Part 1 ..............................................................................................35 6.6.2.2.2 Sprint Planning, Part 2 ..............................................................................................35 6.6.2.2.3 How to Allocate Team Members to PBIs ..................................................................36 6.6.2.3 Daily Stand-Up Meeting .................................................................................................37 6.6.2.4 Sprint Review..................................................................................................................37 6.6.2.5 Retrospective..................................................................................................................38

6.6.3 Ceremonies for Releases ...................................................................................................39 6.6.3.1 Release Planning............................................................................................................42 6.6.3.1.1 Single Release Planning Meeting.............................................................................42 6.6.3.1.2 Incremental Release Planning..................................................................................44 6.6.3.1.2.1 Scope Development and Estimation .................................................................44 6.6.3.1.2.2 Release Plan Development ...............................................................................44 6.6.3.1.3 Units for Estimation in Release Planning ..................................................................44 6.6.3.1.4 How to Estimate PBIs and Epics for Release Planning: Affinity Estimation..............45

6.6.4 Scrum-of-Scrums Meeting..................................................................................................46 6.6.5 Product Owner Scrum of Scrums Meeting .........................................................................46 6.6.6 Release Review ..................................................................................................................47 6.6.7 Release Retrospective........................................................................................................47 6.7 Tracking and Metrics..................................................................................................................48 6.7.1 Tracking Progress for a Sprint............................................................................................48

4

6.7.2 Tracking Progress for a Release ........................................................................................49 6.8 How Requirements are Developed ............................................................................................50 7 Practical Example of an Agile Hardware Project ...............................................................................51 7.1 The Project and Product Definition.............................................................................................52 7.2 The Team Definitions ..................................................................................................................52 7.3 Developing High-Level Specifications .......................................................................................55 7.4 Developing Detailed Specifications ...........................................................................................57 7.5 Release Planning........................................................................................................................58

7.5.1 Developing the Release Plan .............................................................................................59 7.5.2 The Structure of the Release ..............................................................................................59 7.6 Regulatory Issues .......................................................................................................................61 7.7 How Scope and Work Evolve during the Release Cycle............................................................62 8 Conclusions........................................................................................................................................62 9 Glossary .............................................................................................................................................63

5

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download