slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005 PowerPoint Presentation
Download Presentation
What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005

Loading in 2 Seconds...

play fullscreen
1 / 31

What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005 - PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on

What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005. About me. Six years IT industry experience, mainly in the UK Focussed on designing, implementing, documenting and maintaining Configuration Management practices

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005' - gigi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
What the hell is Configuration Management anyway?Martin WhiteEquinox Software ArchitectsAugust 2005

©equinox limited 2005

about me
About me
  • Six years IT industry experience, mainly in the UK
  • Focussed on designing, implementing, documenting and maintaining Configuration Management practices
  • Experience of ClearCase, SourceSafe, MKS Integrity, AccuRev
  • AIT – 500 staff, one product, divergent customer versions
  • i2 – 250 staff, multiple products all integrated together
  • Equinox – 40 staff, bespoke development and consultancy

©equinox limited 2005

introduction to cm
Introduction to CM
  • This is about Software Configuration Management
  • SCM really only recently emerging as a widely recognised software engineering discipline
  • What do you think CM is?

©equinox limited 2005

introduction to cm cont
Introduction to CM (cont.)
  • British Computer Society CMSG

Technical and organisational activities comprising configuration identification, configuration control, configuration status accounting and configuration audit. This includes the processes of identifying and defining the Configuration Items, recording and reporting the status of Configuration Items and requests for change, and verifying the completeness and correctness of Configuration Items.

©equinox limited 2005

introduction to cm cont1
Introduction to CM (cont.)
  • Brad Appleton, Steve Berczuk, Ralph Cabrera and Robert Orenstein; Streamed Lines: Branching Patterns for Parallel Software Development; 5th Annual Conference on Pattern Languages of Program Design; Allerton Park, IL, September 1998

Software Configuration Management is the process of identifying, organizing, controlling, and tracking both the decomposition and recomposition of: software structure, functionality, evolution, and teamwork. In short, SCM is the "glue" between software artifacts, features, changes, and team members; it forms the ties that bind them all together from concept to delivery and beyond.

©equinox limited 2005

introduction to cm cont2
Introduction to CM (cont.)
  • What do I think?

SCM is a discipline that uses tools and processes to help changes to be made to software as efficiently as possible, whilst retaining levels of control, reproducibility and traceability appropriate to the organisation in question.

  • Why define it this way?
    • Emphasises the ultimate point of SCM
    • Balances pace of change with accountability
    • Acknowledges need for processes to be realistic and practical

©equinox limited 2005

introduction to cm cont3
Introduction to CM (cont.)
  • Some common misconceptions
    • SCM equals version control
    • Version control only applies to code
    • We’re too small to need CM

©equinox limited 2005

tools
Tools
  • 90% of CM is process NOT tools
  • BUT tools are necessary to enable processes to work well
  • CM tools normally cover one or more of the following
    • Version control
    • Defect/change tracking
    • Build management
    • Workflow

©equinox limited 2005

the minimal approach to cm
The minimal approach to CM
  • Maintain a version history of files with important versions identified
  • Maintain a descriptive list of changes made/planned

©equinox limited 2005

the most common approach to cm
The most common approach to CM?
  • Use a version control tool to maintain a version history of files with important versions identified
  • Use branching to manage basic parallel development scenarios (maybe)
  • Maintain a descriptive list of changes made/planned in either a homegrown database or a defect tracking tool
  • Use unspoken conventions to manage workflow

©equinox limited 2005

how can we do better
How can we do better?
  • Apply patterns
  • Use a framework (ITIL, CMM)
  • Employ a consultant to help…?!

©equinox limited 2005

how can this be improved cont
How can this be improved (cont.)?
  • Consider what you want to get out of it (don’t do something because some CM expert says you should)
  • Automate, automate, automate
  • Consider the following slides for particular areas to focus on…

©equinox limited 2005

coverage
Coverage
  • Version everything you can
  • If you can’t version it, document it and version the document
  • Business benefits
    • Improves reproducibility
    • Encourages consistency

Design docs

Env settings

Build scripts

Testware

Documentation

Code

©equinox limited 2005

workspaces
Workspaces
  • Make it really easy to begin working on a project
  • Allow the user to only see the files they need
  • Business benefits
    • Reduces set up time for new staff
    • Improves reproducibility

Documenter

Developer

Manager

Tester

©equinox limited 2005

builds

Check-in

BUILD

MACHINE

Builds
  • Local builds
  • Integration builds
  • Fully automated
  • Build reports
  • Business benefits
    • Reduces defect rate
    • Improves responsiveness
    • Improves reproducibility
    • Greater dev team efficiency

DEV

MACHINE

©equinox limited 2005

branching strategies

REL1.1.1

REL1.2

REL1.1

REL1

REL2

Branching strategies
  • Let your project requirements determine your branching strategy rather than being confined by it
  • Don’t let branches diverge too far
  • Business benefits
    • Technical constraints don’t dictate development activity
    • Can isolate risky or large changes
    • Can easily control contents of releases

©equinox limited 2005

integrate to change management tool cont

CHANGE3

CHANGE4

CHANGE1

CHANGE2

Integrate to change management tool (cont.)
  • Can easily find the files involved in making any given change
  • Conversely, for any given file version can see why it was created
  • Business benefits
    • Improves traceability
    • Increases developer productivity

VERSION

1

2

3

4

A

B

FILE

C

D

©equinox limited 2005

raise abstraction level
Raise abstraction level
  • In other words, start managing code in terms of changes, not files
  • Why? Consider this…

©equinox limited 2005

raise abstraction level cont

Change on main line

Change on rel 1 maintenance line

Change on rel 2 maintenance line

Release and potential branch point

REL1

REL3

REL2

REL1.1

REL2.1

REL1.2

Raise abstraction level (cont.)

©equinox limited 2005

raise abstraction level cont1

Change on main line

Change on rel 1 maintenance line

Change on rel 2 maintenance line

Release and potential branch point

REL1

REL3

REL2

REL1.1

REL2.1

REL1.2

Raise abstraction level (cont.)

©equinox limited 2005

raise abstraction level cont2
Raise abstraction level (cont.)
  • In other words, start thinking in terms of changes not files
  • Much easier to manage complex scenarios
  • Can avoid whole-branch merges
  • Business benefits
    • Much greater control over content of releases
    • Greater reporting capabilities

©equinox limited 2005

componentise
‘Componentise’
  • If you have multiple teams sharing code or components you need a defined file sharing procedure
  • Some tools provide good component management support
  • But to demonstrate that it is possible in any tool…

©equinox limited 2005

componentise1

Builds

‘Componentise’

Supplier repository

Hub repository

Client repository

Component

Use manifest

Definition manifest

Source files

Workspace setup process

Workspace

©equinox limited 2005

componentise2
‘Componentise’
  • If you have multiple teams sharing code try to implement a good process for managing this
  • Some tools provide good component management support
  • But to demonstrate that it is possible in any tool…
  • Business benefits
    • Encourages code re-use
    • Improves reproducibility and traceability
    • Contributes to automatic workspace setup

©equinox limited 2005

general business benefits
General business benefits
  • Ensure reproducibility and traceability
  • Improve customer support
  • Develop software efficiently
  • Some clients require conformance to certain standards

©equinox limited 2005

impact of not doing cm well
Impact of NOT doing CM well
  • Bugs that were fixed ‘re-appear’
  • Inability to find out who made a particular change
  • Inability to reproduce past releases reliably
  • No-one is really sure what has changed in the product since the last release
  • Processes prevent people from doing work they need to do

©equinox limited 2005

further resources
Further resources
  • BOOK: “Software Configuration Management Patterns” Stephen Berczuk & Brad Appleton
  • ONLINE FORUM: CM Crossroads

www.cmcrossroads.com

  • WHITE PAPER: Version Control is not CM http://www.spectrumscm.com/WhitePapers/vcnotcm.pdf
  • ARTICLE: But I Only Changed One Line of Code! http://www.stsc.hill.af.mil/crosstalk/2003/01/leishman.html

©equinox limited 2005

questions
Questions?

©equinox limited 2005

contact
Contact
  • Martin White, Equinox Software Architects
  • martin.white@equinox.co.nz
  • 04 494 3728
  • www.equinox.co.nz

©equinox limited 2005