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.

Slides:



Advertisements
Similar presentations
Module 1 Evaluation Overview © Crown Copyright (2000)
Advertisements

Software change management
Configuration management
Configuration Management
Software Quality Assurance Plan
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
Configuration Management
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Rational Tool Overview. Introduction Requirements-Driven Software Development with Rational Analyst Studio. Tafadzwa Nzara Analysis & Design Consultant.
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
Configuration management. Reasons for software configuration management  it facilitates the ability to communicate  status of documents, coding, changes.
Pertemuan 16 Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Introduction to Software Testing
Lecture 13: Security Control Issues Wayne Patterson SYCS 654 Spring 2010.
Software Configuration Management
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Michael Solomon Tugboat Software Managing the Software Development Process.
1 Configuration Management 101 ITS Professional Capacity Building Program T3 Webinar February 21, 2008.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
Effective Methods for Software and Systems Integration
Software Configuration Management (SCM)
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
The Key Process Areas for Level 2: Repeatable Ralph Covington David Wang.
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
Introduction to Software Quality Assurance (SQA)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Information Systems Security Computer System Life Cycle Security.
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
Software Configuration Management
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Information ITIL Technology Infrastructure Library ITIL.
Software Configuration Management (SCM)
1 ©equinox limited 2005 What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005.
The Guide to the Software Engineering Body of Knowledge
Configuration Management Matti Kuikka CONFIGURATION MANAGEMENT by Matti Kuikka, Unit Manager, Ericsson, Turku, Telecom R&D, Wireless Charging.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Identify steps for understanding and solving the
IT Requirements Management Balancing Needs and Expectations.
Software Quality Assurance
Georgia Institute of Technology CS 4320 Fall 2003.
© Mahindra Satyam 2009 Configuration Management QMS Training.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Software Project Management
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Quick Recap Monitoring and Controlling. Lesson 11: Monitoring and Controlling Project Work Topic 11A: Identify the Monitor and Control Project Work Process.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Management of Software Project CSM Software Configuration Management (SCM)
PPTTEST 12/26/ :41 1 IT Ron Williams Information Technology Management Project Management.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
TMS - Cooperation partner of TÜV SÜD EFFECTIVE SERVICE MANAGEMENT based on ISO/IEC & ISO/IEC
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Configuration Management
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Configuration Control (Aliases: change control, change management )
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Information ITIL Technology Infrastructure Library ITIL.
Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Configuration Management
Software Configuration Management
Introduction to Software Testing
Chapter 11: Software Configuration Management
PLANNING A SECURE BASELINE INSTALLATION
Presentation transcript:

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

IEEE/DoD Standard Definition The purpose of Software Configuration Management is to establish and maintain the integrity of the products of the software project throughout the project’s software life cycle. (Configuration Management Principles and Practice, Anne Mette Jonassen Hass)

IEEE/DoD Standard Activities Configuration Identification Configuration Change Control Configuration Status Accounting Configuration Audits

A New Definition SCM is a formal process which serves to prevent or mitigate anticipated failures of communication, coordination or control (C3). SCM is appropriate when impediments to the success of informal methods are present.

Background to pattern languages : Christopher Alexander 1987: Cunningham and Beck 1994: First Pattern Languages of Program Design (PLoP) conference 1995: “Gang of Four” 1999: Brown, McCormick and Thomas 2003: Berczuk and Appleton

What is a pattern? A pattern is a solution to a problem in a context. A pattern is a named nugget of instructive information that captures the essential structure and insight of a successful family of proven solutions to a recurring problem that arises within a certain context and system of forces.

What is a pattern language? A pattern language is a group of patterns in relation to each other. A pattern language can contain patterns at different levels of applicability

What are the advantages? A pattern is named. A pattern addresses a problem. A pattern works within a context. A pattern is reusable. Patterns fit together into a pattern language. A pattern can be large or small in scope. A pattern language is extendable.

SCM Pattern Language Structure Domains Procedures Components

SCM Pattern Language Domains

Examples of “Agreements” Problems Uncontrolled increase in scope (“feature creep”) Uncommunicated changes to requirements Unidentified requirements Unimplemented requirements

Examples of “Inventory” Problems Lost source code modules Unauthorized code changes Changes that “break” existing code Loss of valid code changes Proliferation of unidentified files

Examples of “Delivery” Problems Delivery of obsolete software modules Delivery of incompatible modules Delivery of inadequately tested software Delivery of unexpected changes

Inventory Procedure #1 DEV Source QA Source PROD Source DEV Load QA Load PROD Load

Inventory Procedure #2 Common Source DEV Load QA Load PROD Load Private Workspace

Inventory Component: Gatekeeper Use events to trigger automated QC/SCM actions Automated build Require comments and other meta-data Require link to change request or defect Syntax checking Standards checking Automated smoke test Can be a component of either procedure

Resources in Print Fletcher Buckley: Implementing Configuration Management: Hardware, Software, and Firmware Wayne Babich: Software Configuration Management: Coordination for Team Productivity Steve Berczuk & Brad Appleton: Software Configuration Management Patterns: Effective Teamwork, Practical Integration

Resources on the Web /docs/patterns-intro.html (patterns) /acme/index.html (SCM)

Q&A Discussion The presentation was followed by a ‘workshop’ in which the audience discussed various problems and solutions amongst themselves while the presenter took notes. Here are some of the discussion items.

Q&A Discussion Who "owns" the SCM process? Various answers were supplied by members of the audience: a separate SCM group (although they tend to be pre-occupied with issues of getting the SCM technology to work, and thus neglectful of the underlying process) operations (after all, they are most immediately impacted by an unsuccessful delivery) change control board Since we have argued that SCM tries to resolve communication problems between people, then for each part of the process, the people who are involved in that particular communication step should be allowed to negotiate a process that works for both (or all) of them.

Q&A Discussion How do you use SCM to manage data? No one had a good answer to this, but we observed that this can apply to various kinds of data, including control data and test data. It was also noted that a process for controlling data should not only deliver the correct data, it should also protect sensitive data, such as test data copied from production, with social security numbers in it.

Q&A Discussion One participant had a suggestion for protecting against the delivery of incompatible or obsolete code modules. (This especially applies to the inventory process #1, which is vulnerable to losing concurrency between source and object code.) The list of items to promote should not only include names and version numbers, but also size and a generated checksum for each load module that will be constructed from those items. These can be used to verify (with a reasonable degree of certainty) that the production load modules match the load modules which were tested.