Software Configuration Management. Visiting Lecture Tero Kojo

Similar documents
Software Configuration Management. Context. Learning Objectives

Chapter 5. Choose the answer that mostly suits each of the sentences given:

Software Configuration. Management Issues in Product Development

Software Configuration Management

What Are Software Developers Facing?

Software Configuration Management.

Continuous Integration (CI)

SOE. managing change in system development projects: configuration management

Configuration & Build Management

Software Configuration Management (SCM)

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?

Software Configuration Management

Service Support Kasse Initiatives, LLC. ITIL Configuration Management - 1. version 2.0

Theme 1 Software Processes. Software Configuration Management

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Software Configuration Management. Addendum zu Kapitel 13

Chapter 13 Configuration Management

WHAT IS CHANGE MANAGEMENT

Configuration Management in Software Development Life Cycle

Chapter 13 Configuration Management

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)

The Impact of Global Software Development on Software Configuration Management. Kaisa Uotila

Version Control. Luka Milovanov

Kevin Lee Technical Consultant As part of a normal software build and release process

Version control tracks multiple versions. Configuration Management. Version Control. V Software Engineering Lecture 12, Spring 2008

Software Configuration Management

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Version Control Tools

Jazz Source Control Best Practices

Configuration Management Models in Commercial Environments

What Is Software Configuration Management?

Real world experiences for CMDB Success

Michael Solomon, CISSP PMP CISM

Web Banner Design Tips

WORKING IN TEAMS WITH CASECOMPLETE AND ACCUREV. Contents

CHAPTER 7 Software Configuration Management

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

Source Control Systems

Software Configuration Management Plan

The Role of CM in Agile Development of Safety-Critical Software

The Real Challenges of Configuration Management

19 Configuration Management

SOFTWARE DEVELOPMENT BASICS SED

(Refer Slide Time: 01:52)

How To Integrate Software And Systems

Software Configuration Management

Module 12. Software Project Monitoring and Control. Version 2 CSE IIT, Kharagpur

Configuration Management Plan

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

Software configuration management

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

How to introduce maturity in software change management $

Software Change Management Chapter 27 Homework 10 Points

DATATRAK Customer Case Study

Configuration Management for Open Source Software

The Configuration Management process area involves the following:

Software configuration management in agile methods

Impact Analysis: An Essential Part of Software Configuration Management

Applied Software Project Management

Software Continuous Integration & Delivery

Testing, What is it Good For? Absolutely Everything!

Software Configuration Management Practices for extreme Programming Teams

Part I What Is Configuration Management?

Change Management Best Practices

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

5 FAH-5 H-520 LIFE CYCLE MANAGEMENT

Software Configuration Management, Advantages and Limitations

Configuration Management

The Deployment Pipeline

The 7 Attributes of a Good Software Configuration Management System

NSSC Enterprise Service Desk Configuration Management Database (CMDB) Configuration Management Service Delivery Guide

Aspect-Oriented Programming

Implementing SharePoint 2010 as a Compliant Information Management Platform

5 FAH-5 H-510 CONFIGURATION MANAGEMENT

Widening the Configuration Management Perspective

Lecture 10 CS5702. Requirements Engineering. Managing change optimising Value - A bit more about Agile RE. Requirements Engineering.

Automated testing and continuous integration

ITIL A guide to service asset and configuration management

TEMPLATE. U.S. Department of Energy. Project Name. Configuration Management Plan. September 2002 U. S. DEPARTMENT OF ENERGY

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Software Configuration Management Best Practices

Layered Configuration Management for Software Product Lines

Integrity 10. Curriculum Guide

Service Asset & Configuration Management PinkVERIFY

IT ACCESS CONTROL POLICY

Trainning Education Services Av. Paulista, º andar SP Tel/Fax: 55+ (11)

Continuous Testing with ElectricCommander. Electric Cloud, Inc. 2009

Automatic promotion and versioning with Oracle Data Integrator 12c

Evolving a Software Configuration Management Ontology

Transcription:

Software Configuration Management Visiting Lecture Tero 1

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 2

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 3

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 4

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 management is a part of SCM 5

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! 6

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 7

Four SCM processes Configuration identification Change management Status accounting Audit and review 8

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 9

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 10

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 11

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 12

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 13

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 Too simple to be practical 14

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 15

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 16

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 17

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 18

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 19

Technical SCM The tool oriented SCM Traditional SCM Everything presented in the first part What your coursebook presents 20

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 21

Tools Version control Build management Change management Audit / review systems Bug tracking Issue management 22

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 23

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 24

Thank you for your interest! 25

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/cmwiki.html IEEE standards 828 and 1042; plans and activities respectively 26