Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)



Similar documents
Software Configuration Management. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman

WHAT IS CHANGE MANAGEMENT

Software Change Management Chapter 27 Homework 10 Points

Chapter 5. Choose the answer that mostly suits each of the sentences given:

Software Engineering talk

Software Configuration Management.

CHAPTER 7 Software Configuration Management

Configuration & Build Management

Intland s Medical Template

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Software Engineering Question Bank

Introduction. Software Development and Change Management Recommendations

Darshan Institute of Engineering & Technology Unit : 7

Software Configuration Management

JOURNAL OF OBJECT TECHNOLOGY

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

What is a life cycle model?

The Role of the Software Architect

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering?

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

Why do Project Fail? 42% 37% 27% 26% 24% 24% 0% 10% 20% 30% 40% 50% IBM Software Group Rational software. Source: AberdeenGroup, August 2006

ECM+ Maturity Model. Defining the corporate benchmark against best practices

The Configuration Management process area involves the following:

CENG492 SENIOR DESIGN PROJECT AND SEMINAR II SOFTWARE CONFIGURATION MANAGEMENT PLAN

Software Configuration Management and Version Control

Chapter 13 Configuration Management

Change Management Best Practices

Configuration Management - The Big Picture

Aligning IT investment and Business

Agile SPL-SCM: Agile Software Product Line Configuration and Release Management

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Key Benefits of Microsoft Visual Studio Team System

Ellucian Implementation Methodology. Summary of Project Management and Solution Delivery Phases

Chapter 13 Configuration Management

Software Configuration Management. Addendum zu Kapitel 13

MKS Integrity & CMMI. July, 2007

Software Engineering UNIT -1 OVERVIEW

MNLARS Project Audit Checklist

Time Monitoring Tool Software Development Plan. Version <1.1>

Software Configuration Management. Visiting Lecture Tero Kojo

ITIL Introducing service transition

Theme 1 Software Processes. Software Configuration Management

Surveying and evaluating tools for managing processes for software intensive systems

Software Engineering. So(ware Evolu1on

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Features. Emerson Solutions for Abnormal Situations

Objectives. At the end of this chapter students should be able to:

Business Process Management (BPM) Software

B.Sc (Computer Science) Database Management Systems UNIT-V

A Configuration Management Model for Software Product Line

Reaching CMM Levels 2 and 3 with the Rational Unified Process

STSG Methodologies and Support Structure

CONDIS. IT Service Management and CMDB

SOE. managing change in system development projects: configuration management

Understanding Business Process Management and Workflow Capabilities of Proliance. meridian systems. October 2003

ALM120 Application Lifecycle Management 11.5 Essentials

Business Process Management In An Application Development Environment

Lecture 20: Software Evolution

IT Baseline Management Policy. Table of Contents

Requirements Management

Configuration Management in a Software Product Line

Part I What Is Configuration Management?

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

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

EXHIBIT L. Application Development Processes

Software Test Plan (STP) Template

ALM/Quality Center. Software

Meister Going Beyond Maven

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

PM Planning Configuration Management

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Driving Your Business Forward with Application Life-cycle Management (ALM)

How To Develop Software

Protecting Business Information With A SharePoint Data Governance Model. TITUS White Paper

Working with Versioning. SharePoint Services

Configuration Management

REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification

How To Monitor Your Entire It Environment

Software Requirements Specification. Schlumberger Scheduling Assistant. for. Version 0.2. Prepared by Design Team A. Rice University COMP410/539

Service-Oriented Cloud Automation. White Paper

Requirements engineering

Master data deployment and management in a global ERP implementation

19 Configuration Management

Tools to Aid in 21 CFR Part 11 Compliance with EZChrom Elite Chromatography Data System. White Paper. By Frank Tontala

HP Change Configuration and Release Management (CCRM) Solution

Configuration Management One Bite At A Time

Real world experiences for CMDB Success

ORACLE HYPERION DATA RELATIONSHIP MANAGEMENT

Chapter 9 Software Evolution

Configuration Management Practices

Team Collaboration, Version Management, Audit Trails

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

How service-oriented architecture (SOA) impacts your IT infrastructure

10 Building Blocks for Securing File Data

Transcription:

CHAPTER 27 CHANGE MANAGEMENT Overview Changes are inevitable when software is built. A primary goal of software engineering is to improve the ease with which changes can be made to software. Configuration management is all about change control. Every software engineer has to be concerned with how changes made to work products are tracked and propagated throughout a project. To ensure that quality is maintained the change process must be audited. A Software Configuration Management (SCM) Plan defines the strategy to be used for change management. Software Configuration Items (SCI) Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it) Fundamental Sources of Change New business or market conditions dictate changes to product requirements or business rules New customer needs demand modification of data, functionality, or services Business reorganization causes changes in project priorities or software engineering team structure Budgetary or scheduling constraints cause system to be redefined Configuration Management System Elements Component elements - set of tools coupled within a file management system to enable access to and management of each SCI Process elements - collection of procedures that define an effective approach to change management for all stakeholders Construction elements - set of set of tools that automates the construction of software to ensure a set of validated components is assembled Human elements - team uses a set of tools and process features encompassing other CM elements Baselines A work product becomes a baseline only after it is reviewed and approved. A baseline is a milestone in software development that is marked by the delivery of one or more configuration items. Once a baseline is established each change request must be evaluated and verified by a formal procedure before it is processed.

SCM Repository Functions Data integrity Information sharing Tool integration Data integration Methodology enforcement Document standardization SCM Content Problem description Problem domain information Emerging system solution Software process rules and instructions Project plan, resources, and history Organizational content information SCM Tool Features Versioning - control changes to all work products before and after release to customer Dependency tracking and change management - tracking relationships among multiple versions of work products to enable efficient changes (link management) Requirements tracing - depends on link management, provides the ability to track all work products that result from a specific requirements specification (forward tracing) and to identify which requirement generated by any given work product (backward tracing) Configuration management - works closely with link management and versioning facilities to keep track of a series of configurations representing project milestones or production releases Audit trails - establishes additional information about when, where, why, and by whom changes were made SCM Process Objectives 1. Identify all items that define the software configuration 2. Manage changes to one or more configuration items 3. Facilitate construction of different versions of a software application 4. Ensure that software quality is maintained as configuration evolves Software Configuration Management Tasks Identification (tracking multiple versions to enable efficient changes) Version control (control changes before and after release to customer)

Change control (authority to approve and prioritize changes) Configuration auditing (ensure changes made properly) Reporting (tell others about changes made) Configuration Object Identification To control and manage configuration items, each must be named and managed using an object-oriented approach Basic objects are created by software engineers during analysis, design, coding, or testing Aggregate objects are collections of basic objects and other aggregate objects Configuration object attributes: unique name, description, list of resources, and a realization (a pointer to a work product for a basic object or null for an aggregate object) Class diagrams and evolution graphs can be used to show the interrelationships among the objects Version Control Combines procedures and tools to manage the different versions of configuration objects created during the software process An entity is composed of objects at the same revision level A variant is a different set of objects at the same revision level and coexists with other variants A new version is defined when major changes have been made to one or more objects Change Control Change request is submitted and evaluated to assess technical merit and impact on the other configuration objects and budget Change report contains the results of the evaluation Change control authority (CCA) makes the final decision on the status and priority of the change based on the change report Engineering change order (ECO) is generated for each change approved (describes change, lists the constraints, and criteria for review and audit) Object to be changed is checked-out of the project database subject to access control parameters for the object Modified object is subjected to appropriate SQA and testing procedures Modified object is checked-in to the project database and version control mechanisms are used to create the next version of the software Synchronization control is used to ensure that parallel changes made by different people don't overwrite one another Software Configuration Audit Questions

1. Has the change specified by the ECO been made without modifications? 2. Has an FTR been conducted to assess technical correctness? 3. Was the software process followed and software engineering standards applied? 4. Do the attributes of the configuration object reflect the change? 5. Have the SCM standards for recording and reporting the change been followed? 6. Were all related SCI's properly updated? Configuration Status Reporting Questions 1. What happened? 2. Who did it? 3. When did it happen? 4. What else will be affected by the change? WebApp Configuration Issues Content integrating heterogeneous media volatility People designers often are forced to create content content creators often have no software engineering knowledge Scalability simple WebApps become large quickly rigor of configuration control should be proportional to its size Politics Who owns a WebApp? Who assumes responsibility for accuracy? Who makes changes? Who pays for changes? Content Management System Establishes a process that acquires existing content, structures it to be presented to an end-user, and provides for display to the client-side environment Collection subsystem o converts content to displayable format o organizes content for client-side display Management subsystem o content database o database capabilities o configuration management functions

Publishing subsystem o static elements o publication services o external services Agile WebApp Change Management Code and go philosophy dominates WebApp development Class 1 and 2 changes are treated informally and are handled in an agile manner Class 2 changes require an impact study Class 3 and 4 changes are handled in and agile manner, but some documentation and more formal change review procedures are required Class 3 changes are reviewed by developers Class 4 changes are reviewed by both developers and stakeholders Class 1 - content or function change to correct error or enhance local content or functionality Class 2 - content or function change that has impact on other content objects or functional components Class 3 - content or function change that has broad impact across WebApp Class 4 - major design change that will be noticeable to one or more categories of user WebApp Version Control 1. Central repository for WebApp project should be established 2. Each Web engineer should have his or her own folder 3. Clocks on all developer workstations should be synchronized 4. As new configuration management object as developed or changed they are imported into the repository. 5. A time-stamped log message should be made any time an object is imported or exported from the repository. WebApp Auditing and Reporting In the interest of agility auditing and reporting functions are deemphasized Changes can be tracked by reviewing the change log Automatic e-mail messages can be used to notify affected stakeholders when changes are made