process increments: an agile approach to software process ... · pdf fileprocess increments:...

20
Software Engineering Competence Center © Copyright Software Engineering Competence Center 2011 Process Increments: An Agile Approach to Software Process Improvement

Upload: dangthuy

Post on 26-Mar-2018

237 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

Software Engineering Competence Center

© Copyright Software Engineering Competence Center 2011

Process Increments: An Agile Approach to Software Process Improvement

Page 2: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Who Am I?

2

• Amr Noaman

– Agile Adoption Service Owner, SECC

– 10 years development experience with many companies, including IBM and Vodafone

– SCEA, CSP

– EPG member for 3 years

– 5 years Agile experience as a practitioner, coach and trainer

Process Increments

Page 3: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Agenda

3

• Process Increments

• Experience Report Overview

• Observations and Findings

Process Increments

Page 4: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Process Increments

4Process Increments

Theme

Epic

User Story User Story

User Story

Process Area

Process Increment

Process Increment

Process Increment

Process Increment

• A process increment is a process improvement chunk which can be implemented in a relatively small time (1-2 weeks) and still provide value for the organization

Page 5: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Process Increment Example

Page 6: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Slicing/Splitting Process Increments

6Process Increments

Gain knowledge

Practice on live (not pilot) projects

Guidelines & process documentation

Automate(if applicable)

GUI Design

Presentation Layer

Business Services/Logic

Database Layer

Typical areas/layers in a Process Increment

Typical vertical slicing in a User Story

Page 7: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Slicing/Splitting Process Increments

7Process Increments

Learn about Sprint Planning

Apply to one or two sprints

Document the procedure & guidelines

Use an excel sheet to automate calculation

Product (continuous) Integration

Apply to one live project

Document the tool guidelines

Use CruiseControl, Hudson CI, etc.

Page 8: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Slicing Process Areas – The Process Increments Way

8Process Increments

Issue tracking Version Control

CM Environement

Automatic Builds andContinuous Integration

Baselining

Release Management

Traceabillity

‘Software configuration management (SCM) is the task of tracking and controlling changes in the software’ -- Wikipedia

Page 9: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Agenda

9

• Process Increments

• Experience Report Overview

• Observations and Findings

Process Increments

Page 10: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

SPI Projects are Typical Agile Project

10Process Increments

Iteration 1 Iteration 2 … Iteration 12

6 Months

2 Weeks

Page 11: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Inside an Iteration

11

Learn

Practice

Define

Review

Process Increments

Learn new process increments, or further detail an old one. Time-boxed to one day

Practice and apply to live projects. This is the major part of the iteration time. The team passes through all the pain of trying new tools, concepts, procedures, etc.

Define what is practiced into guidelines or process documentation

Review and evaluate whether the process increment is done-done or not

Page 12: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Working with Multiple Functional Teams & Projects

12Process Increments

Done Done Done Done Done

Done Done

Done Done Done Done

Management Increments

Testing & QA Increments

TechnicalIncrements

Page 13: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Estimating & Planning The Improvement Project

13

• Process Increments are size-estimated using Planning Poker

• The whole project is planned as one release

• Improvement Velocity:

– The size of completed process increments in an iteration

Process Increments

Page 14: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Tracking the Improvement Project

14

• Burn-up chart in SPI projects

– Added a since of achievement

– The project progress is visible to the whole team

– ‘Other’ teams/departments get involved

– Project progress is visible to senior management!

Process Increments

Page 15: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Agenda

15

• Process Increments

• Experience Report Overview

• Observations and Findings

Process Increments

Page 16: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Improvement Velocity Readings

16Process Increments

CompanyTotal Scope

(points)Total Completed

(points)Accomplished

Average Velocity(points/iteration)

1 251 182 72.5% 18.2

2 301 231 76.7% 23.1

3 283 278 98.2% 25.3

4 297 268 90.2% 24.4

5 230 222 96.5% 20.2

Page 17: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Improvement Velocity Run Chart

17Process Increments

Average Improvement Velocity of All Companies

Page 18: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Role Contribution in Actual Improvement

18Process Increments

43%

20%

37%Management

QA/Testing

Development

Page 19: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Learning by Example

19

• Walk the talk and talk the walk

• The SPI project was a typical project model for the team

Process Increments

Page 20: Process Increments: An Agile Approach to Software Process ... · PDF fileProcess Increments: An Agile Approach to Software Process Improvement ... •Observations and Findings Process

© Copyright Software Engineering Competence Center 2011

Conclusion

20

• Process Increments is a an excellent way for managing SPI projects:

– More structured

– clearly identifies the project scope

– Enhances project visibility

– Gets the whole team involved, not a single role or group

– Typical Agile project model for the team

Process Increments