SlideShare a Scribd company logo
Introducing  Software Configuration Management  into a CMMI Level 1 Project Presented at the KWSQA March 2006 by Pat Cross, London St. Consulting
What I want you to go away with  Remembering how important Software Configuration Management (SCM) is. Remembering how hard it is for new people to understand SCM - or care about it. Having some guidelines to implementing SCM in projects that have started with no clear processes.
What I want to cover today How do you recognize a CMMI Level 1 project, and how does it feel?  Quick tour of SCM Some guidelines to beginning the implementation of SCM Questions, stories and ideas from the floor
CMM has been broadened to Capability Maturity Model Integrated (CMMI) to cover systems of all sorts. The CMM and CMMI Models Repeatable  2 Managed  4 Optimizing  5 Initial  1 Defined  3 Predictable process Continuously improving process Standard, consistent process Disciplined process Heroics
CMM Level 1 The Capability Maturity Matrix Integrated (CMMI) has 5 levels of process maturity Level 1 has no uniform processes – just heroics 60% of companies are at Level 1 Even some companies that are better than Level 1, have projects within them that are working at Level 1
How does Level 1 development feel? At the beginning of a project - exciting, free. Perhaps some schedule pressure. In the middle - uncomfortable, sense of injustice, some fear. At the end of development - panic, forced heroism, anger.
How does Level 1 maintenance feel? Baffling - lack of documentation means hard to trouble shoot, hard to fix. Confusing - hard to keep track of  changes planned to go in  changes tried but unsuccessful  changes actually made to system Increasing disengagement
What is Software CM? SCM is the art of managing the information about the product itself, including the source and executable code. SCM keeps you up to date on what you have, and protects your information and code from loss and unauthorized changes. SCM keeps you sane.
Quick Tour of SCM  Classic CM has four parts: configuration identification (what shall we manage?) configuration change control (who authorizes what and how?) configuration status accounting (snapshots) configuration audits (inventory checking) Software also needs extra specific tools and documents
Configuration Identification Early in the project, decide what pieces of software you want to treat as ‘an item’. Each item needs its own requirements, design and test documents. If the code piece is too big, the effect of a change on other parts of the software is hard to determine. If the pieces are too small, the administrative costs go up. Requirement and design documents are also Configuration Items (CIs)
Configuration Change Control Changes are the most dangerous events in a software’s life. Deep technical insights are needed to judge all the effects of a change. It’s helpful to have a group of guru’s to make these decisions - the Configuration Control Board (CCB). The CCB also authorizes extra work.
Configuration Status Accounting During development many people need to be clear about what version of requirements are current, what is the present version of design and the development versions of code. Sometimes you need to know all this information about some point in time in the past - or about a set of slightly different clients The system  of retrieving this related information needs to be simple.
Configuration Audits From time to time, someone needs to check that all the information related to every Configuration Item exists and is where it ought to be. If anything is missing, it should be re-constituated, maintenance will need it later.
Software Additions for SCM Software CM also includes: a repository for code Version Description Documents for each version, describing the details of the components and the extent of testing. This is useful for developers. Release Notes for each version explaining new features and known problems. This is for users. a database showing the relationship between all versions. This is particularly needed when there is a lot of branching.
Repositories and Databases It is virtually impossible to manage code versions without a tool while you can make one in-house, you are better off buying a commercial one Features should include: identification of every change and who signs it in ability to recreate any version relationship between versions of requirements and design documents and versions of code
Some CM Terms Configuration Item (CI) - a  convenient  product subsystem Change forms eg CR, ECN, IR Impact Statements Configuration Control Board (CCB) - a group which judges technical and managerial aspects of changes and approves or disapproves Baseline - a reference freeze point for a CI
SQA and SCM In some companies SQA is also responsible for SCM. In all circumstances, SQA is responsible for assuring that SCM has the proper procedures,  human resources and tools. Many people think a tool is all you need. SQA  may need to take missionary action to introduce procedures and get human resources assigned.
SCM in  a Level 1 Company Level 1 companies do not have stable procedures for any actions. For SCM specifically, they tend to think procedures are time-wasting bureaucracy. SCM procedures and resources are required for Level 1 registration.
Behaviour Changes (1) Any change in human behaviour requires an ‘emotional event’. Even if people agree with you theoretically, they will not change what they do unless the change is tied to an emotion. For SCM, even the remembered emotions around “nasty surprises” can be enough to nudge them into change.
Behaviour Changes (2) Once they are willing to change, they need to learn and practice the change, until it becomes normal it is easy to backslide when the project pressure mounts. Once it becomes ‘just how we do things here’, you can relax. For SCM this can take about a year.
Guidelines - In the Beginning You have to have an ALLY (preferably the Project Leader) Even if you are the Project Leader, you still have to have an ally If you don’t have an ally, spend your time selling to find one. Use present problems and future projections, stress outcomes.  When you find an ally, teach them as much CM as possible.
Guidelines - Start with a Vulnerability Find the situation which is giving most grief now, propose a simple fix Discuss it in detail with your ally and a little bit with the others. Get the Project Leader on board in any case. Alter the fix to meet their needs and write a one page description using project vocabulary.
Example of a Fix (1) Vulnerability :  The project is suffering because different people are changing the product and no-one knows what is today’s product. Fix: Appoint one person to be the the point of contact for all changes. Everyone has to bring their changes to her.
Example of a Fix (2) Vulnerability :  One group makes changes and other groups’ work is affected badly. Anger is in the air. Fix: Set up a ‘vetting’ committee of all the groups to review changes by email. Default is ‘accept’ after one day. (This is a proto-CCB.)
Example of a Fix (3) Vulnerability :  Maintenance is required at night-time, when normal authorization is not available. Fix: Set up 3 lists of actions No authorization required (eg refresh certain data) Retroactive authorization required (alter certain scripts) Forbidden without prior authorization (core code)
Guidelines - Implement the process Project Leader should explain the new process and its benefits and move  decisively  to use them. Let it settle a few weeks before SQA checks how it is working out, Project Leader should back SQA publicly. Take the feedback to SQA seriously, make sure actions are taken and followed up.
Guidelines - The Uses of a Roadmap Deciding on how to implement CM completely is a necessary job for you and your ally Showing the group the vision and the map increases speed of implementation. Showing the vision and map to other interacting groups helps them to adapt to your changes.
Questions and Discussion

More Related Content

PPT
Dynamic System Development
PPTX
Dynamic system development method
PDF
Dynamics ystems development method
PPT
4. essence of capability maturity model (1)
PPT
PPTX
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
PDF
Dynamic Systems Development, DSDM
PDF
Introduction to DSDM
Dynamic System Development
Dynamic system development method
Dynamics ystems development method
4. essence of capability maturity model (1)
Lviv PMDay: Олександр Ліпський & Анна Лазор Introduction to DSDM framework
Dynamic Systems Development, DSDM
Introduction to DSDM

What's hot (20)

PPT
Capability Maturity Model (CMM)
PDF
Capibility Maturity Model for Finance - OpenView Venture Partners
PPTX
Software Development Process Models (SCRUM Methodology)
PPT
Cmmi with Agile - Demystified
PPTX
Lecture.4-Scrum.pptx
PPT
Sdlc cource in_mumbai
PDF
ICT Improvement Plan
PPTX
Lecture3.se.pptx
PPSX
PMI Vs SDLC
ODP
Software evolution -- Good practices
PDF
A Basic Introduction to Creating a Software Requirements Specification
PPTX
Topic 5 capability maturity model
PPT
Capability Maturity Model
PPT
Software Reliability CMM-DFSS
PPT
QAI - Cmmi Overview - Induction ppt
PPT
ALM Assessment Program
PPTX
Agile & Iconix sdlc
Capability Maturity Model (CMM)
Capibility Maturity Model for Finance - OpenView Venture Partners
Software Development Process Models (SCRUM Methodology)
Cmmi with Agile - Demystified
Lecture.4-Scrum.pptx
Sdlc cource in_mumbai
ICT Improvement Plan
Lecture3.se.pptx
PMI Vs SDLC
Software evolution -- Good practices
A Basic Introduction to Creating a Software Requirements Specification
Topic 5 capability maturity model
Capability Maturity Model
Software Reliability CMM-DFSS
QAI - Cmmi Overview - Induction ppt
ALM Assessment Program
Agile & Iconix sdlc
Ad

Viewers also liked (12)

PPSX
Fundamentals of Software Testing
PPTX
Naeem Akram Malik, Sr. Software Engineer & SQA Analyst
PPTX
Fundamentals of testing SQA
PPTX
Software quality assurance activites
PPTX
Software Quality Assurance(SQA)
PPTX
Agile Testing in Enterprise: Way to transform - SQA Days 2014
PPTX
SQA - chapter 13 (Software Quality Infrastructure)
DOCX
Term Paper - Quality Assurance in Software Development
PPS
Software Quality Assurance
PPTX
PRODUCTION SYSTEMS
PPT
Introduction To Software Quality Assurance
Fundamentals of Software Testing
Naeem Akram Malik, Sr. Software Engineer & SQA Analyst
Fundamentals of testing SQA
Software quality assurance activites
Software Quality Assurance(SQA)
Agile Testing in Enterprise: Way to transform - SQA Days 2014
SQA - chapter 13 (Software Quality Infrastructure)
Term Paper - Quality Assurance in Software Development
Software Quality Assurance
PRODUCTION SYSTEMS
Introduction To Software Quality Assurance
Ad

Similar to Software Configuration Management into a CMMI Level 1 Project (20)

PPT
Introduction To Software Configuration Management
PPT
Configuration Management
PPT
Scm awareness
DOCX
Mi0033 software engineering
PDF
Explore the System Development Life Cycle and Phases
PPTX
Configuration Managment Powerpoint
PPT
Software models
PDF
A Pattern-Language-for-software-Development
PDF
Asset Finance Systems: Project Initiation "101"
PPTX
PDF
Asset Finance Systems: Project Initiation "101"
PPT
Software Processes
DOCX
Mi0033 software engineering
PDF
Systems Development Life Cycle(SDLC) is the step by step process whi.pdf
DOCX
Mi0033 software engineering
PDF
Blending Agile with CMMI®
DOCX
devops notes.docx LECTURE NOTE S OF 2025
DOCX
Management Information Systems – Week 7 Lecture 2Developme.docx
PDF
System Development Life Cycle ( Sdlc )
PPT
Software Process Model.ppt
Introduction To Software Configuration Management
Configuration Management
Scm awareness
Mi0033 software engineering
Explore the System Development Life Cycle and Phases
Configuration Managment Powerpoint
Software models
A Pattern-Language-for-software-Development
Asset Finance Systems: Project Initiation "101"
Asset Finance Systems: Project Initiation "101"
Software Processes
Mi0033 software engineering
Systems Development Life Cycle(SDLC) is the step by step process whi.pdf
Mi0033 software engineering
Blending Agile with CMMI®
devops notes.docx LECTURE NOTE S OF 2025
Management Information Systems – Week 7 Lecture 2Developme.docx
System Development Life Cycle ( Sdlc )
Software Process Model.ppt

More from elliando dias (20)

PDF
Clojurescript slides
PDF
Why you should be excited about ClojureScript
PDF
Functional Programming with Immutable Data Structures
PPT
Nomenclatura e peças de container
PDF
Geometria Projetiva
PDF
Polyglot and Poly-paradigm Programming for Better Agility
PDF
Javascript Libraries
PDF
How to Make an Eight Bit Computer and Save the World!
PDF
Ragel talk
PDF
A Practical Guide to Connecting Hardware to the Web
PDF
Introdução ao Arduino
PDF
Minicurso arduino
PDF
Incanter Data Sorcery
PDF
PDF
Fab.in.a.box - Fab Academy: Machine Design
PDF
The Digital Revolution: Machines that makes
PDF
Hadoop + Clojure
PDF
Hadoop - Simple. Scalable.
PDF
Hadoop and Hive Development at Facebook
PDF
Multi-core Parallelization in Clojure - a Case Study
Clojurescript slides
Why you should be excited about ClojureScript
Functional Programming with Immutable Data Structures
Nomenclatura e peças de container
Geometria Projetiva
Polyglot and Poly-paradigm Programming for Better Agility
Javascript Libraries
How to Make an Eight Bit Computer and Save the World!
Ragel talk
A Practical Guide to Connecting Hardware to the Web
Introdução ao Arduino
Minicurso arduino
Incanter Data Sorcery
Fab.in.a.box - Fab Academy: Machine Design
The Digital Revolution: Machines that makes
Hadoop + Clojure
Hadoop - Simple. Scalable.
Hadoop and Hive Development at Facebook
Multi-core Parallelization in Clojure - a Case Study

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Encapsulation theory and applications.pdf

Software Configuration Management into a CMMI Level 1 Project

  • 1. Introducing Software Configuration Management into a CMMI Level 1 Project Presented at the KWSQA March 2006 by Pat Cross, London St. Consulting
  • 2. What I want you to go away with Remembering how important Software Configuration Management (SCM) is. Remembering how hard it is for new people to understand SCM - or care about it. Having some guidelines to implementing SCM in projects that have started with no clear processes.
  • 3. What I want to cover today How do you recognize a CMMI Level 1 project, and how does it feel? Quick tour of SCM Some guidelines to beginning the implementation of SCM Questions, stories and ideas from the floor
  • 4. CMM has been broadened to Capability Maturity Model Integrated (CMMI) to cover systems of all sorts. The CMM and CMMI Models Repeatable 2 Managed 4 Optimizing 5 Initial 1 Defined 3 Predictable process Continuously improving process Standard, consistent process Disciplined process Heroics
  • 5. CMM Level 1 The Capability Maturity Matrix Integrated (CMMI) has 5 levels of process maturity Level 1 has no uniform processes – just heroics 60% of companies are at Level 1 Even some companies that are better than Level 1, have projects within them that are working at Level 1
  • 6. How does Level 1 development feel? At the beginning of a project - exciting, free. Perhaps some schedule pressure. In the middle - uncomfortable, sense of injustice, some fear. At the end of development - panic, forced heroism, anger.
  • 7. How does Level 1 maintenance feel? Baffling - lack of documentation means hard to trouble shoot, hard to fix. Confusing - hard to keep track of changes planned to go in changes tried but unsuccessful changes actually made to system Increasing disengagement
  • 8. What is Software CM? SCM is the art of managing the information about the product itself, including the source and executable code. SCM keeps you up to date on what you have, and protects your information and code from loss and unauthorized changes. SCM keeps you sane.
  • 9. Quick Tour of SCM Classic CM has four parts: configuration identification (what shall we manage?) configuration change control (who authorizes what and how?) configuration status accounting (snapshots) configuration audits (inventory checking) Software also needs extra specific tools and documents
  • 10. Configuration Identification Early in the project, decide what pieces of software you want to treat as ‘an item’. Each item needs its own requirements, design and test documents. If the code piece is too big, the effect of a change on other parts of the software is hard to determine. If the pieces are too small, the administrative costs go up. Requirement and design documents are also Configuration Items (CIs)
  • 11. Configuration Change Control Changes are the most dangerous events in a software’s life. Deep technical insights are needed to judge all the effects of a change. It’s helpful to have a group of guru’s to make these decisions - the Configuration Control Board (CCB). The CCB also authorizes extra work.
  • 12. Configuration Status Accounting During development many people need to be clear about what version of requirements are current, what is the present version of design and the development versions of code. Sometimes you need to know all this information about some point in time in the past - or about a set of slightly different clients The system of retrieving this related information needs to be simple.
  • 13. Configuration Audits From time to time, someone needs to check that all the information related to every Configuration Item exists and is where it ought to be. If anything is missing, it should be re-constituated, maintenance will need it later.
  • 14. Software Additions for SCM Software CM also includes: a repository for code Version Description Documents for each version, describing the details of the components and the extent of testing. This is useful for developers. Release Notes for each version explaining new features and known problems. This is for users. a database showing the relationship between all versions. This is particularly needed when there is a lot of branching.
  • 15. Repositories and Databases It is virtually impossible to manage code versions without a tool while you can make one in-house, you are better off buying a commercial one Features should include: identification of every change and who signs it in ability to recreate any version relationship between versions of requirements and design documents and versions of code
  • 16. Some CM Terms Configuration Item (CI) - a convenient product subsystem Change forms eg CR, ECN, IR Impact Statements Configuration Control Board (CCB) - a group which judges technical and managerial aspects of changes and approves or disapproves Baseline - a reference freeze point for a CI
  • 17. SQA and SCM In some companies SQA is also responsible for SCM. In all circumstances, SQA is responsible for assuring that SCM has the proper procedures, human resources and tools. Many people think a tool is all you need. SQA may need to take missionary action to introduce procedures and get human resources assigned.
  • 18. SCM in a Level 1 Company Level 1 companies do not have stable procedures for any actions. For SCM specifically, they tend to think procedures are time-wasting bureaucracy. SCM procedures and resources are required for Level 1 registration.
  • 19. Behaviour Changes (1) Any change in human behaviour requires an ‘emotional event’. Even if people agree with you theoretically, they will not change what they do unless the change is tied to an emotion. For SCM, even the remembered emotions around “nasty surprises” can be enough to nudge them into change.
  • 20. Behaviour Changes (2) Once they are willing to change, they need to learn and practice the change, until it becomes normal it is easy to backslide when the project pressure mounts. Once it becomes ‘just how we do things here’, you can relax. For SCM this can take about a year.
  • 21. Guidelines - In the Beginning You have to have an ALLY (preferably the Project Leader) Even if you are the Project Leader, you still have to have an ally If you don’t have an ally, spend your time selling to find one. Use present problems and future projections, stress outcomes. When you find an ally, teach them as much CM as possible.
  • 22. Guidelines - Start with a Vulnerability Find the situation which is giving most grief now, propose a simple fix Discuss it in detail with your ally and a little bit with the others. Get the Project Leader on board in any case. Alter the fix to meet their needs and write a one page description using project vocabulary.
  • 23. Example of a Fix (1) Vulnerability : The project is suffering because different people are changing the product and no-one knows what is today’s product. Fix: Appoint one person to be the the point of contact for all changes. Everyone has to bring their changes to her.
  • 24. Example of a Fix (2) Vulnerability : One group makes changes and other groups’ work is affected badly. Anger is in the air. Fix: Set up a ‘vetting’ committee of all the groups to review changes by email. Default is ‘accept’ after one day. (This is a proto-CCB.)
  • 25. Example of a Fix (3) Vulnerability : Maintenance is required at night-time, when normal authorization is not available. Fix: Set up 3 lists of actions No authorization required (eg refresh certain data) Retroactive authorization required (alter certain scripts) Forbidden without prior authorization (core code)
  • 26. Guidelines - Implement the process Project Leader should explain the new process and its benefits and move decisively to use them. Let it settle a few weeks before SQA checks how it is working out, Project Leader should back SQA publicly. Take the feedback to SQA seriously, make sure actions are taken and followed up.
  • 27. Guidelines - The Uses of a Roadmap Deciding on how to implement CM completely is a necessary job for you and your ally Showing the group the vision and the map increases speed of implementation. Showing the vision and map to other interacting groups helps them to adapt to your changes.