1 ©equinox limited 2005 What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Configuration Management
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Software Configuration Management: Selecting the Right Tool Chetan Desai Software Project Management SWEN 5230 Dr. Boetticher.
CS 5521 Configuration Management the problem Not a simple task! –Different versions of software usually is in the field during the life cycle –Different.
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
Overview of Software Requirements
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Configuration Management
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Software Configuration Management
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Release & Deployment ITIL Version 3
CSCI ClearQuest 1 Rational ClearQuest Michel Izygon - Jim Helm.
This chapter is extracted from Sommerville’s slides. Text book chapter
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
CS 4310: Software Engineering
Software Configuration Management (SCM)
© 2012 IBM Corporation Rational Insight | Back to Basis Series SCM introduction Chu Shu June 2012.
Software Engineering Modern Approaches
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
Rational Unified Process Fundamentals Module 4: Disciplines II.
Software Configuration Management (SCM)
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Configuration Management (CM)
Software Quality Assurance
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
SCM a la Carte C-SPIN 03/01/2006 Ross Fraser. AGENDA IEEE/DoD Standard Definition of SCM Introduction to Pattern Languages SCM Pattern Language.
Configuration Management- Basic Concepts. Agenda  Configuration Management process Overview  Process Stages  Planning & Setup  Control  Audit  Case.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Software Configuration Management SEII-Lecture 21
Configuration Control (Aliases: change control, change management )
Software Configuration Management (SCM)
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Configuration Management. After completing this module you will be able to: Describe configuration management Explain the flow of configuration management.
Configuration Management
Software Configuration Management CSC-532
Software Configuration Management
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Software Project Configuration Management
Continuous Delivery- Complete Guide
Chapter 11: Software Configuration Management
Software Engineering (CSI 321)
Chapter 18 Maintaining Information Systems
Configuration Management
Software Configuration Management
CS427: Software Engineering I
Maintaining software solutions
Configuration Management (managing change)
Software Configuration Management
Chapter 13 Quality Management
Chapter 11: Software Configuration Management
Configuration management
Software Configuration Management
Presentation transcript:

1 ©equinox limited 2005 What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005

2 ©equinox limited 2005 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

3 ©equinox limited 2005 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?

4 ©equinox limited 2005 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.

5 ©equinox limited 2005 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.

6 ©equinox limited 2005 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

7 ©equinox limited 2005 Introduction to CM (cont.)  Some common misconceptions  SCM equals version control  Version control only applies to code  We’re too small to need CM

8 ©equinox limited 2005 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

9 ©equinox limited 2005 The minimal approach to CM  Maintain a version history of files with important versions identified  Maintain a descriptive list of changes made/planned

10 ©equinox limited 2005 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

11 ©equinox limited 2005 How can we do better?  Apply patterns  Use a framework (ITIL, CMM)  Employ a consultant to help…?!

12 ©equinox limited 2005 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…

13 ©equinox limited 2005 Coverage  Version everything you can  If you can’t version it, document it and version the document  Business benefits  Improves reproducibility  Encourages consistency Code Documentation Testware Build scripts Env settings Design docs

14 ©equinox limited 2005 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 DeveloperTesterDocumenterManager

15 ©equinox limited 2005 Builds  Local builds  Integration builds  Fully automated  Build reports  Business benefits  Reduces defect rate  Improves responsiveness  Improves reproducibility  Greater dev team efficiency Check-in DEV MACHINE BUILD MACHINE

16 ©equinox limited 2005 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 REL1 REL2 REL1.1 REL1.2 REL1.1.1

17 ©equinox limited 2005 Integrate to change management tool

18 ©equinox limited 2005 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 A B C D FILE VERSION 1324 CHANGE1 CHANGE3CHANGE4 CHANGE2

19 ©equinox limited 2005 Raise abstraction level  In other words, start managing code in terms of changes, not files  Why? Consider this…

20 ©equinox limited 2005 Raise abstraction level (cont.) REL1 REL2 REL1.1 REL1.2 REL2.1 REL3 Change on main line Change on rel 1 maintenance line Change on rel 2 maintenance line Release and potential branch point

21 ©equinox limited 2005 Raise abstraction level (cont.) REL1 REL2 REL1.1 REL1.2 REL2.1 REL3 Change on main line Change on rel 1 maintenance line Change on rel 2 maintenance line Release and potential branch point

22 ©equinox limited 2005 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

23 ©equinox limited 2005 ‘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…

24 ©equinox limited 2005 ‘Componentise’ Source files Component Workspace setup process Builds Definition manifest Use manifest Workspace Supplier repositoryHub repositoryClient repository

25 ©equinox limited 2005 ‘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

26 ©equinox limited 2005 General business benefits  Ensure reproducibility and traceability  Improve customer support  Develop software efficiently  Some clients require conformance to certain standards

27 ©equinox limited 2005 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

28 ©equinox limited 2005 Further resources  BOOK: “Software Configuration Management Patterns” Stephen Berczuk & Brad Appleton  ONLINE FORUM: CM Crossroads  WHITE PAPER: Version Control is not CM  ARTICLE: But I Only Changed One Line of Code!

29 ©equinox limited 2005 Questions?

30 ©equinox limited 2005 Contact  Martin White, Equinox Software Architects   

31 ©equinox limited 2005