• No results found

Software Configuration Management. Visiting Lecture Tero Kojo

N/A
N/A
Protected

Academic year: 2021

Share "Software Configuration Management. Visiting Lecture Tero Kojo"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Configuration Management

Visiting Lecture Tero Kojo

(2)

About the lecturer

• Lectured Software Configuration Management for three years at TKK

T-76.614 SCM

Also a year as the course assistant

• Practical experience of several software companies Big and small

• Currently working as an SCM Specialist at Nokia

(3)

Contents

• Goals of this lecture

• Software Configuration Management (SCM)

• Traditional view of SCM Four SCM processes Four SCM models

• A different approach Technical SCM

Social SCM

• Tools

• Some examples

• Review

(4)

Goals of this lecture

• After this lecture you should:

Know why SCM is practised

Understand the basic concepts of SCM

Understand the different approaches to SCM

Be able to apply the basic patterns of SCM to work

(5)

Software Configuration Management (SCM)

• Software configuration management is used to control the evolution of all items in the software development process.

• There are at least a hundred definitions of this on the Internet

• In essence following items that are created, tracing their use and verifying that they are created according to their respective

specifications is the art of configuration management

Configuration management >> Version control

Your coursebook uses the term ”Change management”

This is a trend that originated from tool vendors, traditionally change

(6)

Reasons for SCM

• Shared code problem

• Simulataneous update problem

• Wrong delivery problem

• Wrong build problem

• Non-working build problem

• Misplaced files problem

• Documents in unknown state problem

= Whole lot of problems!

(7)

Traditional view of SCM

• SCM is a tool aided area, where people have fairly little to do

• SCM evolved from Configuration Management in the 1960’s as the US department of defence began applying CM practises to software items

• Biggest proponents of SCM have been The US department of defence and NASA

• Currently used in all software projects

• A true success story in software engineering

• SCM has turned into an essential (and invisible) part of software development infrastructure

(8)

Four SCM processes

• Configuration identification

• Change management

• Status accounting

• Audit and review

(9)

Configuration identification

• Identifying the items that can change during the software life-cycle

Almost everything!

• Giving each item a unique identifier

• Providing location information for each item

(10)

Change management

• Controlling the changes that impact any configuration item

• A formal process that is followed

• Needs some party with the authority to make chnages to project scope and budget

(11)

Status accounting

• Who did? What did? When did?

• Verifying that each congiration item is what it shuold be

• What changes have impacted the CI

• What is the state of each CI Draft, ready, tested,

final, end of life …

(12)

Audit and review

• Audits to:

Verify that a configuration contains all the items it shuold and nothing else Each configuration item is in the

configurations that they should be in and nowhere else

• Reviews to:

Verify that CI:s are what they are supposed to be

By what means has the CI been created?

Were processes followed?

Verify impacts of changes

(13)

Four SCM models

• Check-in / check-out

• Change set

• Composition

• Long transaction

Very rarely seen as pure models any more Tools implement several at the same time

However these models define the basic concepts of SCM

(14)

Check-in / check-out

• Repository for configuration items to reside in

• Versions of individual configuration items Revision

Variant

(Temporary variant)

• Configuration item is checked out for change and then checked back in

• For software configuration items are normally called components

• Solution for overwriting code

(15)

Composition

• Configuration as a composition of configuration items Abstraction level for CI:s undefined

Usually understood as file and compiler level

Not necessary to define!

• Dependencies between:

Code

Specification and code

Code and derivative objects

• Essential build management

• Does not consider shared work

(16)

Change set

• Baseline

A set of CI:s that form a known configuration

Named or otherwise identifiable

Three types: fixed, tied or abstract

• Change sets

Also known as deltas

Applied to baselines to form new configurations A set of changes to CI:s that is logically grouped

• Good integration to change management

• Interoperability of several change sets is an issue

(17)

Long transaction

• Workspaces

Isolate developers

Everyone has a sandbox

• Co-operation models Conservative

Locking

No simultaneous change

Optimistic

No locking

Co-operative variants

• Provides solution to simultaneous work problem

• Doesn’t consider change management as a whole

(18)

A different approach

• A more modern view of SCM is presented by the concept of recomposition work

• Recomposition work describes all work that takes place after an initial decomposition of a task is made

• Dependencies used to present the social connections between individuals, teams and organisations

• Tool concept extended to social relations

(19)

Decomposition <> Recomposition

• Decomposition is based on the organisation at hand Four developers – four modules

• Decomposition has long traditions in software engineering ~late 1960’s

• Recomposition is the work to put the items of the decomposition together

(20)

Technical SCM

• The tool oriented SCM

• Traditional SCM

• Everything presented in the first part

• What your coursebook presents

(21)

Social SCM

• The social relations that form the base on which software development is done on

• The essence of recomposition work

• Knowledge that is shared

• Expertise that someone has

• Comparable to silent knowledge in organisations

• The Yin to the Yang of technical SCM

(22)

Tools

• Version control

• Build management

• Change management

• Audit / review systems

• Bug tracking

• Issue management

(23)

Some examples

• Research team building a new tool for internal use

• A team of forty people distributedly developing a communication system

• A company of twenty doing implementation projects on top of a web platform

• Several hundred distributed developers creating phone software

(24)

Review

• What you should remember from today

Traditional view of SCM – these can be used to describe the whole world of traditional SCM:

Four processes

Four SCM models

Recomposition approach

It’s all about the people

Dependencies as social relations

Levels of dependencies

Tool support for SCM

Applying SCM to practise is mostly common sense

(25)

Thank you for your interest!

(26)

For more information:

• SEI SCM site: http://www.sei.cmu.edu/legacy/scm/

• Lund University SCM: http://www.lucas.lth.se/cm/

• Scandinavian Network of Excellence in SCM (SNESCM):

http://www.cs.lth.se/SNESCM/

• CM Crossroads: http://www.cmcrossroads.com/

• CM Crossroads wiki: http://www.cmcrossroads.com/w/cm- wiki.html

• IEEE standards 828 and 1042; plans and activities respectively

References

Related documents

The findings enable the development of an Information Architecture for micro-enterprises in developing regions that shed light on issues that need to be considered for

a) The power plant shall be located in LSD 3, Section 10, Township 77, Range 7, west of the Sixth Meridian, as further described in the application. b) The power plant shall

NonStop Software Essentials uses the same server as used by the Distributed System Management/Software Configuration Management (DSM/SCM) Planner Interface, thus preserving

Of course, this theorization of the location of gaming in both ordinary and extraordinary practices and spaces is not suggesting that there is a clear and distinct divide between

The hybrid technology is based on three major components namely, male sterility and its genetic maintenance system, stable fertility restoration, and cost effective mass

In terms of importation, while this theory might not help explain variation in where gangs emerge, we are particularly interested in how the wider role of social and political

If the presence of gas leakage is detected by using gas sensor, then the buzzer is generate sound to inform nearby people, GSM module send call to the authority, turn

Create a General user on the left panel users, we already have a user created, right click the username and click on Edit.. A window opens up, go to Authentication and select