5 steps of configuration management functionalities

31
Lessons Learned in Configuration Management CMMI Made Practical 29 th April 2009 - London Eric Mariacher – Embedded Software Manager at Logitech

Upload: eric-mariacher

Post on 15-Jun-2015

4.869 views

Category:

Documents


0 download

DESCRIPTION

Now more than ever, companies want to faster deliver better and cheaper products. Last years, Some Industry best practices have started to emerge to help companies to achieve these goals by improving processes in their organization. Among others, CMMI is a recognized industry best practice. An important CMMI process area specific to software development projects is Configuration Management. Configuration Management has 2 main aspects, each having their own dedicated tools:1. Source files and release configuration management.2. Change request management affecting file and release management.This technical paper describes different Configuration Management functionality steps and their ability to address series of Configuration Management related questions. It will be shown that it is not tools functionalities themselves that make the difference between Configuration Management functionality steps but the level of integration between those 2 kinds of tools.

TRANSCRIPT

Page 1: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

Lessons Learned in Configuration Management

CMMI Made Practical29th April 2009 - London

Eric Mariacher – Embedded Software Manager at Logitech

Page 2: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 2

Configuration management definition

• IEEE Std-729-1983 – “Configuration is the process of identifying and defining the items

in the system, controlling the change of these items throughout their lifecycle, recording and reporting the status of items and change requests, and verifying the completeness and correctness of items”

• Identification – describes the system structure, the nature of its elements, their

identity, and gives access to each item version

• Control – organises versions and changes to system items while keeping

coherency and consistency on the complete system.

Files, Releases and Bugs Management

Page 3: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 3

Agenda• Configuration Management Questions

• Step 0: no file, nor change management tools

• Step 1: file management tool only

• Step 2: loosely linked file and change management tools

• Step 3: strongly linked file and change management tools, file oriented release building

• Step 4: strongly linked file and change management tools, change request oriented release building

• How CM steps help CMMi « compliance »

Page 4: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 4

Basic File Management questions

• What change did you make in this file?

• Which version of which files are included in this release?

Page 5: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 5

Basic Change Requests Management questions

• Have we finished implementing this change / bug fix?

• Which bug corrections are included in this release?

Page 6: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 6

Not so Basic Configuration Management questions

• Why was this change made in this file?

• Why do we release a new software version?

• Are we sure we did not forget to integrate a file in this release?

• Are we sure not to wrongly integrate a file that was not intended to be released yet?

Page 7: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 7

Step 0: no file, nor change management tools

• Files back-ups and releases/baselines are managed manually.

• Change Requests are manually managed.

Someone else

workinglowThis is another short description

Feature request

CR2 description

myselfopenhighThis is a short description

bugCR1 description

OwnerStatusPrioritydescriptiontypetitle

Page 8: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 8

Step 0: Answering questionsBasic File Management

– What change did you make in this file?– Which version of which files are included in this release?

Basic Change Request Management– Have we finished implementing this change / bug fix?– Which bug corrections are included in this release?

Not so Basic Configuration Management – Why was this change made in this file?– Why do we release a new software version?– Are we sure we did not forget to integrate a file in this release?

Page 9: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 9

Step 1: file management tool only

• Handle file versioning: ability to retrieve older versions.• Basic release/baseline generation: each release is made

of a list of file versions.

Release 1

File1 v1

File2 v1

File3 v2

Release 2

File1 v2

File2 v1

File3 v3

Page 10: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 10

Step 1: Answering questionsBasic File Management

– What change did you make in this file?– Which version of which files are included in this release?

Basic Change Request Management– Have we finished implementing this change / bug fix?– Which bug corrections are included in this release?

Not so Basic Configuration Management – Why was this change made in this file?– Why do we release a new software version?– Are we sure we did not forget to integrate a file in this release?

Page 11: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 11

Step 2: loosely linked file and change management tools

• Release note:– list of file versions as done in step 1.– list of change requests based on completion date.

Release 1

File1 v1

File2 v1

File3 v2

Release 2

File1 v2

File2 v1

File3 v3

Bug 1

Bug 2

Bug 3

Page 12: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 12

Step 2: Answering questionsBasic File Management

– What change did you make in this file?– Which version of which files are included in this release?

Basic Change Request Management– Have we finished implementing this change / bug fix?– Which bug corrections are included in this release?

Not so Basic Configuration Management – Why was this change made in this file?– Why do we release a new software version?– Are we sure we did not forget to integrate a file in this release?

Page 13: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 13

Step 3: strongly linked file and change management tools

• Each time a file check-in is done…

Bug 1File1 v1

• File management tool forces…

• Developer to motivate the check-in

• i.e. link the check-in with a change request

File1 v2Check-in

Page 14: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 14

Step 3: file oriented release building

• Release note:– list of file versions as done in step 1.– list of change requests based on completion date and

modified files versions.

Bug 1

Bug 2

Bug 3

Release 1

File1 v1

File2 v1

File3 v2

Release 2

File1 v2

File2 v1

File3 v3

Page 15: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 15

Step 3: Answering questionsBasic File Management

– What change did you make in this file?– Which version of which files are included in this release?

Basic Change Request Management– Have we finished implementing this change / bug fix?– Which bug corrections are included in this release?

Not so Basic Configuration Management – Why was this change made in this file?– Why do we release a new software version?– Are we sure we did not forget to integrate a file in this release?

Page 16: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 16

Step 4: strongly linked file and change management tools

• Each time a file check-in is done…

Bug 1File1 v1

• File management tool forces…

• Developer to motivate the check-in

• i.e. link the check-in with a change request

File1 v2Check-in

Page 17: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 17

Step 4: change request oriented release building

• Release note is a list of change requests.– list of files versions based on integrated change

requests.

Release 1

File1 v1

File2 v1

File3 v2

Release 2

File1 v2

File2 v1

File3 v3

Bug 1

Bug 2

Bug 3

Page 18: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 18

Step 4: Answering questionsBasic File Management

– What change did you make in this file?– Which version of which files are included in this release?

Basic Change Request Management– Have we finished implementing this change / bug fix?

– Which bug corrections are included in this release?

Not so Basic Configuration Management – Why was this change made in this file?– Why do we release a new software version?– Are we sure we did not forget to integrate a file in this release?– Are we sure not to wrongly integrate a file that was not

intended to be released yet?

Page 19: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 19

Step 4: change request oriented release building

• Are we sure we did not forget to integrate a file in this release?• Are we sure not to wrongly integrate a file that was not intended

to be released yet?

Release X

FileA v1

FileB v1

FileC v2

FileA v2

FileC v3

Bug A

Bug B

Bug C

Bug D

Page 20: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 20

Size of involved teams Step Files &

Bugsdeveloper Change

Controltester

0: no file, nor change management

1: file management only

2: loosely linked file and change management tools

3: strongly linked tools, file oriented release building

4: strongly linked tools, change request oriented release building

: ) : )

: ): )

: ) : )

: ): ): ) : )

: ): )

: ) : ): ): ) : )

: ): )

: ): )

: ) : ): )

: ): )

: )

Page 21: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 21

Measuring vs CMMi

• How the level of integration between file and bug management tools helps measuring Configuration Management practices vs CMMi

Page 22: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 22

CMMI: Configuration Management Process Area

• SG 1 Establish Baselines– SP 1.3 Create or Release Baselines

• SG 2 Track and Control Changes– SP 2.1 Track Change Requests– SP 2.2 Control changes to the configuration items

• SG 3 Integrity of baselines is established and maintained– SP 3.1 Establish and maintain records describing

configuration items– SP 3.2 Perform configuration audits to maintain

integrity of the configuration baselines

Page 23: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 23

SG 1 Establish Baselines

SP 1.3 Create or Release Baselines

SubPractice 2. Create or release baselines only using the configuration management system

SubPractice 3. Document the set of configuration items that are contained in a baseline

• Use a Configuration Management tool (step 1)

• Release Notes (steps 0-3 but easier/more reliable with step 4)

Page 24: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 24

SG 2 Track and Control Changes

SP 2.1 Track Change Requests

SubPractice 2. Analyze the impact of changes proposed

SubPractice 3. Review change requests and get agreement from stakeholders

• Link file check-ins with bugs (step 3)

• List of bugs to integrate and impacts (step 3)

• A new role : CCB (step 4)

Page 25: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 25

SG 2 Track and Control Changes

SP 2.2 Control changes to the configuration items

SubPractice 3. do Check ins and check outs in a manner that maintains the integrity of the configuration items

SubPractice 4. Perform reviews to ensure that changes have not caused unintended effects on the baselines

SubPractice 5. Record changes to configuration items and the reasons for the changes as appropriate

• (steps 1-3 but easier/more reliable with step 4)

• Integrate all the bugs and only the bugs (step 4)

• Link file check-ins with bugs (step 3)

Page 26: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 26

SG 3 Integrity of baselines is established and maintained

SP 3.1 Establish and maintain records describing configuration items

Typical Work Product 1. Revision history of configuration items

Typical Work Product 5. Differences between baselines

SP 3.2 Perform configuration audits to maintain integrity of the configuration baselines

• (steps 1-3 files)

• (step 4 bugs and files)

• The higher the step is achieved, the higher the accuracy is.

Page 27: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 27

Conclusions

• Better integration between file and bug management tools means easier and more reliable CMMi Configuration Management measures.

• BUT

• implies « unnecessary » overhead for small projects when organization is not supporting CMMi

Page 28: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 28

Size of involved teams Step Files &

Bugsdeveloper Change

Controltester

0: no file, nor change management

1: file management only

2: loosely linked file and change management tools

3: strongly linked tools, file oriented release building

4: strongly linked tools, change request oriented release building

: ) : )

: ): )

: ) : )

: ): ): ) : )

: ): )

: ) : ): ): ) : )

: ): )

: ): )

: ) : ): )

: ): )

: )

Page 29: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech 29

Step 5: releases planning?

Release 1

File1 v1

File2 v1

File3 v2

Release 2

File1 v2

File2 v1

File3 v3

Bug 1

CR 2

Bug 2

Page 30: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech

Product lifecycle

Specify

Develop

Test

Marketing:•Doing the right thing

Product QA:Checking thing is done right

Management:•Getting visibility

Developers:•Doing thing right

Process QA:•Checking how rightthing is done

Page 31: 5 STEPS OF CONFIGURATION MANAGEMENT FUNCTIONALITIES

29Apr09 Eric Mariacher - Logitech

Document Flow

Marketing / UsersRequirements

Files andReleases

Test Plan

Bugs

Test Reports

FunctionalSpecification

Configuration Management

Requirement Management

Test Management

System/ArchitectureSpecification

Test Execution