Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008



Similar documents
CAPABILITY MATURITY MODEL INTEGRATION

CMMI KEY PROCESS AREAS

Custom Development Management and Resource Planning. Eric Halbur, Application Development Manager

An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

MKS Integrity & CMMI. July, 2007

You Want to Use Scrum, You are Told to Use CMMI

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Truly Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci

Towards a new approach of continuous process improvement based on CMMI and PMBOK

Software Quality. Process Quality " Martin Glinz. Chapter 5. Department of Informatics!

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

CMMI: Specific Goals and Practices

wibas Team CMMI-ITIL IT Maturity S e r v i c e s

Interpreting Capability Maturity Model Integration (CMMI ) for Service Organizations a Systems Engineering and Integration Services Example

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

Capability Maturity Model Integrated (CMMI)

SOFTWARE QUALITY ASSURANCE IN CAPABILITY MATURITY MODEL INTEGRATION

CMMI for Development Introduction & Implementation Roadmap

Usability in SW-Engineering-Prozessen und in CMMI

CMMI for Development, Version 1.3

Introduction to SEIs Capability Maturity Model Integration (CMMI)

A SURVEY OF ARTIFICIAL INTELLIGENCE TECHNIQUES FOR CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

Capability Maturity Model Integration (CMMI)

CMMI for Development, Version 1.3

Software Process Improvement Software Business. Casper Lassenius

Is the CMMI¹ of Value for Flight Software? Dr. Gary M. Heiligman Space Department The Johns Hopkins University Applied Physics Laboratory

CMMI and IBM Rational Unified Process

CMMI-Services Visao Geral & CMMI v1.3 Plans

Synergism of the CMMI Development and Services Constellations in a Hybrid Organization

Implementation of Multiple Quality Frameworks An Analysis

A unified model for the implementation of both ISO 9001:2000 and CMMI by ISO-certified organizations

Integrating CMMI with COBIT and ITIL

Theme 1 Software Processes. Software Configuration Management

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

Comparing Scrum And CMMI

How CMMI contributes to Software Testing

The Design and Improvement of a Software Project Management System Based on CMMI

Exploring CMMI-ISO ISO 9001:2000 Synergy when Developing a Process Improvement Strategy

Process Improvement -CMMI. Xin Feng

"Demystifying the SEI CMMI

Lessons Learned from Adopting CMMI for Small Organizations

CMMI for Acquisition, Version 1.3

Developing Core Software Requirements of Energy Management System for Smart Campus with Advanced Software Engineering

PSM. Using CMMI To Improve Contract Management Within DCMA. Guy Mercurio, DCMA Boston, MA

ISO 9001/TL 9000 and CMMI Comparison

Case Study of CMMI implementation at Bank of Montreal (BMO) Financial Group

Software Configuration Management.

Configuration & Build Management

CMMI meets ITIL. Dr. Ute Streubel

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

Interpretation and lesson learned from High Maturity Implementation of CMMI-SVC

Developing CMMI in IT Projects with Considering other Development Models

A Lightweight Supplier Evaluation based on CMMI

STUDY OF SPI FRAMEWORK FOR CMMI CONTINUOUS MODEL BASED ON QFD

Capability Maturity Model Integration (CMMI ) Overview

An OWL Ontology for Representing the CMMI-SW Model

Software Quality Management II

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Software Configuration Management. Addendum zu Kapitel 13

Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Integrating CMMI & ITIL: An Outsourcing Success Story. Joanne Kopcho Capgemini, Outsourcing Services

Software Configuration Management

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

Using Rational Software Solutions to Achieve CMMI Level 2

ITIL-CMMII Comparison

A Report on The Capability Maturity Model

What Are Software Developers Facing?

Software Project Management I

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

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

Family Evaluation Framework overview & introduction

Chapter 13 Configuration Management

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Software Configuration Management. Context. Learning Objectives

Process Improvement. From the Software Engineering Institute:

SOFTWARE PROCESS IMPROVEMENT AT SYSGENIC

SwA Community s Assurance Process Reference Model - Mapping to Assurance Models

CHAPTER 7 Software Configuration Management

CHAPTER 7 SOFTWARE CONFIGURATION MANAGEMENT

Agenda. CMMI, ITIL & ISO A Mutually Supportive Relationship

Role of Software Quality Assurance in Capability Maturity Model Integration

Using Lean Six Sigma to Accelerate

The Configuration Management process area involves the following:

How to use CMMI to bring your project management process to the next level A CMMI Implementation Case Study

Data Management Maturity (DMM) Model Update

Overview of Service Support & Service

Engineering Standards in Support of

CMMI and Agile our experience revealed

Measurement Strategies in the CMMI

RTI Software Development Methodology and CMMI

Leveraging CMMI framework for Engineering Services

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

Transcription:

Software Configuration Management Wingsze Seaman COMP250SA February 27, 2008

Outline CM and SCM Definitions SCM History CMMI and SCM SCM Tools SCM/Dynamic Systems SCM/Software Architecture Resources 2

Definitions Configuration Management (CM): The discipline of managing change in large, complex systems [2] Manage and control numerous corrections, extensions, and adaptations that are applied to a system over its lifetime Software Configuration Management (SCM): The discipline that enables us to keep evolving software products under control, and thus contributes to satisfying quality and delay constraints. [3] Configuration Management of Software Systems The objective of SCM is to ensure a systematic and traceable software development process in which all changes are precisely managed, so that a software system is always in a well-defined state at all times. [2] 3

SCM Tool Responsibilities Dart separated CM concerns into 8 categories: Components, Structure, Construction, Auditing, Accounting, Controlling, Process and Team SCM can be broken down into three main responsibilities: 1. Component Repository: Versioning & System Models 2. Tool Support: Workspace Control & Building 3. Process control How do these main responsibilities cover the concerns: Component Repository: Components, Controlling Tool Support: Construction, Auditing, Controlling Process Control: Accounting, Process, Team 4

History [2][3] 1950s 1960s 1970s 1980s CM initiated in aerospace industry when production of spacecraft experienced difficulties caused by inadequately documented engineering changes special correction cards were used on the UNIVAC-1100 EXEC-8 operating system first version control system providing history, delta, multi-user management and merging facilities first version control system appearance of CM tools SCCS, Diff, RCS, Make, and Sablime debates on the most efficient type of storage and retrieval mechanism resulted in text-based delta algorithms programming in the large (versioning, rebuilding, composition) SEI Fellow Watts S. Humphrey created CMM in 1987 Some resulting applications: DSEE: only serious commercial product introducing system model concept which was an Architecture Description Language ancestor NSE: workspace and cooperative work control Adele: specialized product model with automatic configuration building Aides de Camp: introducing change set 5

History [2][3] continued 1990s Management of non-textual objects and new algorithms for storing and retrieving objects programming in the many (process support, concurrent engineering) programming in the wide (web remote engineering) Some resulting applications: ClearCase (DSEE successor): virtual file system Continuus: explicit process support 2000 inexpensive disk storage, faster CPUs, and more nontextual objects More advanced SCM systems 6

CMM and CMMI CMM: Capability Maturity Model Developed by Software Engineering Institute (SEI) the quality of a system or product is highly influenced by the quality of the process used to develop and maintain it CMMI : Capability Maturity Model Integration Result of the evolution of three source models: 1. The Capability Maturity Model for Software (SW-CMM) v2.0 draft C 2. The Systems Engineering Capability Model (SECM) 3. The Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98 WHY CMM? Process improvement maturity model for the development of products and services. It consists of best practices that address development and maintenance activities that cover the product lifecycle from conception through delivery and maintenance. [1] Provides a means for measuring an organization on process maturity 7

CMM and CMMI [5] SCM part of Maturity Level 2 of CMM 8

CMM Representations Capability vs Maturity Levels [1] Continuous Representation Process Areas Specific Goals Generic Goals Capability Levels Level Continuous Representation Capability Levels Staged Representation Maturity Levels Level 0 Incomplete N/A Specific Practices Generic Practices Level 1 Performed Initial Level 2 Managed Managed Staged Representation Maturity Levels Level 3 Defined Defined Level 4 Quantitatively Managed Quantitatively Managed Process Areas Level 5 Optimizing Optimizing Specific Goals Generic Goals Specific Practices Generic Practices 9

CMMI Process Areas There are 22 process areas [1]: Causal Analysis and Resolution (CAR) Configuration Management (CM) Decision Analysis and Resolution (DAR) Integrated Project Management +Integrated Product and Process Development (IPM+IPPD) Measurement and Analysis (MA) Organizational Innovation and Deployment (OID) Organizational Process Definition +IPPD (OPD+IPPD) Organizational Process Focus (OPF) Organizational Process Performance (OPP) Organizational Training (OT) Product Integration (PI) Project Monitoring and Control (PMC) Project Planning (PP) Process and Product Quality Assurance (PPQA) Quantitative Project Management (QPM) Requirements Development (RD) Requirements Management (REQM) Risk Management (RSKM) Supplier Agreement Management (SAM) Technical Solution (TS) Validation (VAL) Verification (VER) 10

CMMI Process Areas - Categories These 22 process areas can be grouped into four categories: Process Management Project Management Engineering Support Configuration Management is considered part of the Support category. It s purpose is to establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits. Specific Goal and Practice Summary: SG1 Establish Baselines SP 1.1 Identify Configuration Items SP 1.2 Establish a Configuration Management System SP 1.3 Create or Release Baselines SG2 Track and Control Changes SP 2.1 Track Change Requests SP 2.2 Control Configuration Items SG3 Establish Integrity SP 3.1 Establish Configuration Management Records SP 3.2 Perform Configuration Audits 11

Configuration Management Plan Configuration Management Plan CM Plan document describes methods to identify configuration items, to control change requests, and to document the implementation of those change requests. Contents of plan can be found in IEEE Standard for Software Configuration Management Plans, IEEE Std 828-1990. [IEE90b] Configuration or Change Control Board (CCB) Main sections [5]: Management: This section describes how the project is being organized. Particular attention is paid to responsibilities which directly affect configuration management; how are change requests being handled, how are development phases closed, how is the status of the system maintained, how are interfaces between components identified? Also, the relationship with other functional organizations, such as software development and quality assurance, is delineated. Activities: this section describes how a configuration will be identified and controlled and how its status will be accounted and reported. A configuration is identified by a baseline: a description of the constituents of that configuration. Such a configuration must be formally approved by the parties involved. 12

Example of Configuration Management Plan [5] 13

SCM Tools/Products IBM Rational ClearCase Perforce PureCM Microsoft Visual SourceSafe SourceGear Vault Telelogic Synergy/CM Concurrent Versions Systems (CVS): Subversion (SVN) 14

SCM & Dynamic Systems Dynamic Change Management: Separating structural concerns from component application concerns Managing change without knowing what could change in the future as the system is extended (new functions, updated functions) Objectives of an application independent configuration management facility [4]: Changes should be specified in terms of the system structure Change specifications should be declarative Change specifications should be independent of the algorithms, protocols, and states of the application Changes should leave the system in a consistent state Changes should minimize the disruption to the application system 15

SCM/Software Architecture Involvement of stakeholders Components need to be identified Relationships amongst components must be addressed Process to set up SCM and Software Architecture Control of SCM and Architecture Way to resolve change (CCB teams) 16

References [1] M. Chrissis, M. Konrad, S. Shrum. CMMI: Guidelines for Process Integration and Product Improvement. 2 nd Edition, Addison-Wesley. 2007 [2] J. Estublier, G. Clemm, D. LeBlanc, W. Tichy, A. van der Hoek, D. Wiborg-Weber, R. Conradi. "Impact of Software Engineering Research on the Practice of Software Configuration Management," ACM Transactions on Software Engineering and Methodology, Vol. 14, No. 4, October 2005. [3] J. Estublier. Software configuration management: a roadmap, Proceedings of the Conference on The Future of Software Engineering, May 2000. [4] J. Kramer and J. Magee. "The Evolving Philosophers Problem: Dynamic Change Management, IEEE Transactions on Software Engineering, 16 (11) November 1990. [5] H. van Vliet. Software Engineering: Principles & Practice, 2 nd Edition, Wiley, 2002. [6] J. Charvat. Project Management Methodologies: Selecting, Implementing, and Supporting Methodologies and Processes for Projects, Wiley, 2003. [7] R. Raygan. Software Configuration Management Applied to Service Oriented Architecture, SoftCOM, 2007. 17