Software Configuration Management (SCM)



Similar documents
Software Configuration Management.

Global Software Change Management for PVCS Version Manager

IBM Rational ClearCase, Version 8.0

Software Configuration Management and Version Control

Successfully managing geographically distributed development

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Theme 1 Software Processes. Software Configuration Management

The 7 Attributes of a Good Software Configuration Management System

Rational Software White Paper

Enhance visibility into and control over software projects IBM Rational change and release management software

Software change and release management White paper June Extending open source tools for more effective software delivery.

An introduction to the benefits of Application Lifecycle Management

SOE. managing change in system development projects: configuration management

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

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

Software Configuration Management. Context. Learning Objectives

One solution for all your Source Configuration Management Needs

Chapter 13 Configuration Management

Increasing business values with efficient Software Configuration Management

What Is Software Configuration Management?

Version Control Using Subversion. 12 May 2013 OSU CSE 1

Software Configuration Management Best Practices

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

Delivering Quality Software with Continuous Integration

Developing Software in a Private workspace PM PMS

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

19 Configuration Management

"Code management in multi programmer environments."

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

Configuration & Build Management

Integrity 10. Curriculum Guide

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

IBM Rational Software

Continuous Integration. CSC 440: Software Engineering Slide #1

Software configuration management

The Benefits of Software Configuration Management

Software Configuration Management. Visiting Lecture Tero Kojo

Surround SCM Best Practices

Software Configuration Management and Change Management

White Paper. Software Development Best Practices: Enterprise Code Portal

Day 1 - Technology Introduction & Digital Asset Management

Autodesk Vault Family of Products. Manage your entire design.

Configuration Management for Open Source Software

CA Service Desk Manager

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

Version Control. Luka Milovanov

Select the right configuration management database to establish a platform for effective service management.

Modernizing enterprise application development with integrated change, build and release management.

Vector HelpDesk - Administrator s Guide

Test management best practices

Source Control Systems

Software Configuration Management Best Practices for Continuous Integration

TIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version

B.Com(Computers) II Year DATABASE MANAGEMENT SYSTEM UNIT- V

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

The Real Challenges of Configuration Management

Using Oracle9i SCM for Software Configuration Management. An Oracle Technical White Paper July 2002

Implementing Continuous Integration Testing Prepared by:

5 barriers to database source control and how you can get around them

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

CHAPTER 7 Software Configuration Management

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Key Benefits of Microsoft Visual Studio Team System

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Agile Development with Jazz and Rational Team Concert

Jazz Source Control Best Practices

Michael Solomon, CISSP PMP CISM

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Performing a data mining tool evaluation

IBM Rational Asset Manager

SOLUTION BRIEF: CA IT ASSET MANAGER. How can I reduce IT asset costs to address my organization s budget pressures?

Software Configuration Management

Software Configuration Management. Addendum zu Kapitel 13

MOLA MOLA IDA Integrates ARIS Business Architect or ARIS Toolset with EMC Documentum. White Paper

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

Optimizing Your Software Process

Knowledge Management Series. Internal Audit in ERP Environment

CMMI with Digité Universal Process Framework

Kevin Lee Technical Consultant As part of a normal software build and release process

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

CA Gen. Change Management

Chapter 13 Configuration Management

Improving database development. Recommendations for solving development problems using Red Gate tools

Promotion Model. CVS SUITE QUICK GUIDE 2009 Build 3701 February March Hare Software Ltd

CROSS PLATFORM AUTOMATIC FILE REPLICATION AND SERVER TO SERVER FILE SYNCHRONIZATION

Comparison: Perforce and Microsoft Team Foundation Server (TFS)

ITIL A guide to service asset and configuration management

Audit of NSERC Award Management Information System

Transcription:

Software Configuration Management (SCM) SCM actually consists of several separate yet cumulative disciplines. Version Management is an entry point for SCM T M

Abstract : Software Configuration Management (SCM) is an essential software engineering discipline used to manage change in today s complex, fast-paced software development environment. Many organizations approach SCM without a long term plan. When SCM related problems occur, they are solved on an as-needed basis. Companies in this reactive stance miss significant benefits SCM can provide. They are forced to experience the negative impact of each successive SCM related failure before can act to solve it. This white paper presents the fundamental concepts of SCM, its benefits for developers and the return on investment (ROI) for the business. Using examples, we will explore why you need to organize, manage and protect digital assets during team development, and why code and content need to be managed together for maximum efficiency of SCM in the e-business enterprise. We will also discuss the different commercial and non-commercial tools used for source control and their benifits. Need For SCM: Software development practices have changed dramatically over the years. The new applications represent multi faceted, cross-disciplinary efforts that involve the work of many individual contributors. The solution is SCM, instituted in an orderly and planned manner to anticipate and prevent development risks and application failures. SCM tools are the glue that holds together the various components and phases of the application life cycle. SCM is used during all life cycle phases and provides a structure for identifying and controlling changes to documentation, requirements, models, code and web artifacts such as HTML and XML files. SCM enhances productivity and boosts application quality because it automatically versions files, labels and organizes them as they change during the development process. SCM prevents unintentional code overwrites, which can result in missed bug fixes or customer-specific change requests. SCM also enables parallel development. Instead of developing sequentially, you develop concurrently because it is safe and easy to do so. Timelines become more predictable. You get to market faster, with fewer errors. White paper: Software Configuration Management (SCM). Page 2/8

TM SCM Features: SCM actually consists of several separate yet cumulative disciplines. Version Management is an entry point for SCM. Issue Management and automated build tools are often integrated with version management in SCM suites. The addition of process and work flow control tools enables a new level of change management, including definition and control of baselines and releases. Version Management : Version is a named instance of a product or component, a specific release of a software product. Several projects may want to share and reuse components across teams such as COM objects, EJBs, DLLs, LIB and Include Files, etc. When these components are stored in a central repository, then everyone can access the latest version. A version management tool may include some or all of the functions listed below. File locking to prevent simultaneous modifications. Security to prevent unauthorized access. Branching to allow multiple developers to modify the same code base. Version labeling to group related files together and treat them as a unit. Multiple branches can be merged back into a single code base. Multi site replication to synchronize the work of distributed development teams. White paper: Software Configuration Management (SCM). Page 3/8

Build Management : The build management process describes the activities necessary to support the software application transformation from development to run time. A defined build process is an essential part of any development cycle because it helps close the gap between the development, integration, test, and production environments. A build process alone will speed the migration of software from one environment to another. With build management as part of your SCM plan, you can: Track which source files are to be included in a given build. Know the parent/child relationships between source, object, & executable files knows which child files are out-of-date due to a change in one or more of its parent files. Avoid unnecessary rebuilds of child files whose parents have not changed. Avoid having to rebuild at each test phase to ensure consistency, because all built objects are automatically placed under version control. Issue Management : A subset of change management, generally referring to help desk reported problems only. With automated issue and change management, it becomes easy to capture and track change requests and project issues, and obtain the metrics and reports to support team decisions. You will be able to see how many bugs were found at each stage Development, System testing, User Acceptance testing, Production and so forth- and know the cost of fixing them. And, you may want to see the sequence of checkpoints and approvals to more effectively assign ownerships and track developer results. Process and Workflow Management : Process and workflow management capabilities allow organizations to define, control and tailor their development workflow including change, build and release processes across the entire software lifecycle. The result is significant improvement in consistency, repeatability and predictability of development effort and products. Process Management focuses on standards development to support the entire life-cycle of business process management from process design, through deployment, execution, maintenance, and optimization. White paper: Software Configuration Management (SCM). Page 4/8

Baseline Management : The software baseline refers to all source code, run time files, documentation, configuration files, and installation scripts that comprise a software release, both input and output of the build management process. The baseline must include any data or database related scripts or files that were used in the creation of the release. Stored as part of the baseline is information about compilers, operating systems, and dependent systems (internal and third party) that, together with the baseline, will enable the organization to recover from a disaster, comply with an audit, or understand the full release and its context. Release Management : Release management provides full traceability, which records the details of customers/sites who have received product releases and which releases have been issued to them. This means that, for any files that need to be changed, analysts can query where and in what manner the file is being used. Additionally, release management protects the released files from unauthorized modification thus closing the backdoor whereby developers can make quick fixes. Sophisticated release management products can also create a delta release, which includes those items which have changed since the previous specified release was made. This can greatly decrease installation time and conversely reduce the amount of time that the production system must be off-line. CVS : CVS is the Concurrent Versions System, the dominant open-source network-transparent version control system. CVS is useful for everyone from individual developers to large, distributed teams: Its client-server access method lets developers access the latest code from anywhere there's an Internet connection. Its unreserved check-out model to version control avoids artificial conflicts common with the exclusive check-out model. Its client tools are available on most platforms. CVS saves its version control information in RCS files stored in a directory hierarchy, called the Repository, which is separate from the user s working directory. CVS is intended to handle source control for files in three major situations: White paper: Software Configuration Management (SCM). Page 5/8

Multiple developers working on the same files. Tracking a stream of releases from a source vendor. If you are making changes to sources distributed by someone else, the CVS feature, called Vendor Branch, allows you to combine local modifications with repeated vendor releases. Branching Development Aside from the Vendor Branch, there are three kinds of branches in development that CVS can support.your working directory can be treated as a private branch. A development branch can be shared by one or more developers. At release time, a branch is usually created for bug fixes. Disadvantages: CVS is not a build system. CVS is not a substitute for management. CVS is not a substitute for developer communication. CVS is an industry standard, reliable, free and has been around for a long time. But, CVS is not a configuration management system. CVS is a source control system. VSS : VSS is not the best tool around. It only supports Windows Environment. No Unix/Linux/MVS/OSR. It keeps all sources together in one place, keeps history of all files and helps to work in a team by merging shared files. It also controls access to resources. It works Disadvantages: Own authentication with own users and passwords (independent of the system accounts). Doesn t work with active directory. Cost of changing our day by day behaviour. VSS is not so reliable, data can be easily corrupted. VSS seems to be a black box. If something went wrong, you run its repair tool without a clue what is going on. White paper: Software Configuration Management (SCM). Page 6/8

ClearCase : Rational ClearCase is a configuration management product that provides version control, asset management, build and release management, including features for merging, branching, labeling and auditing. Using UCM eliminates the need to develop and maintain scripts and automates project and developer workspace setup, enabling us to quickly bring new members onto the team as needed. Benefits of Using ClearCase: Rational ClearCase is an extensive set of tools that you can use to manage and track software resources, whether they are web pages, mission-critical data, documentation,or source code. Like other source control tools, ClearCase helps you do the following with your software resources: Create new versions of a software resource. Compare versions of a software resource. Merge changes from one version into another version. Control simultaneous changes to a software resource. Mark certain versions as stable sources to be used in builds. Determine the who, when, and why of a particular change. ClearCase also provides some unique advantages: Supports team leaders who need to coordinate the activity of people developing products together. Gives project managers control over the extent and frequency with which team members synchronize their work. Supports parallel development: developers work in private areas and do not affect the work of team members. Assists integrators in combining the efforts of the team in a controlled manner. Multi-site development: ClearCase has a good multi-site development tool that allows multiple locations to work on the same code at the same time. It has the benefit over most other tools because it only moves changes across the net. It is highly customizable, and by far the best solution for multi-site development out there. White paper: Software Configuration Management (SCM). Page 7/8

ClearCase is heavy weight, and probably need a dedicated person to take care of it. It is surely expensive. Summary : Development time reduction: achieved due to improved productivity and identification of repeatable patterns in software development. Increased business competence: structured work environment facilitates manageability and solutions of problems. Accuracy and quality are foremost and hence customer satisfaction is ensured. Support Parallel Development: Allow for concurrent development by various developers. Reduced Errors: automating processes minimizes developer/human interaction which eliminates chances to make mistakes and saves time that would be required to correct these. Information Integration: sufficient, relevant and accurate information is readily available to all the personnel/departments involved in a project - Developers, Analysts, Managers and Auditors all have the access to pertinent information. Automation of Software Quality: structuring and controlling SCM components, automating version control and build management allows teams to focus on development efforts, better analysis and planning. Multi-site Synchronization: multi-site and multi-source development can be synchronized by centrally controlling requirements in order to ensure product consistency with a single set of specifications. Tekroots Informatics Pvt. Ltd. M9, Sector 15, Jeevan Bima Nagar, HAL 3rd stage, Bangalore - 560 075 Karnataka, INDIA Phone: +91.80.2527 2758 \ 2527 4072 www.tekroots.com T M (C)2007 Tekroots Informatics Pvt. Ltd. Tekroots is a registered trademarks of Tekroots Informatics Pvt. Ltd. All rights reserved worldwide. All other brand or product names are the trademarks and property of their respective holders. White paper: Software Configuration Management (SCM). Page 8/8