SG Software Configuration Management And CVS scmGalaxy Author: Rajesh Kumar

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Configuration Management
Configuration Management
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools.
ITIL: Service Transition
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Configuration Management
Software Configuration Management
Software Configuration Management
Software Configuration Management (SCM)
Software Engineering Institute Capability Maturity Model (CMM)
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Michael Solomon Tugboat Software Managing the Software Development Process.
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Engineering Modern Approaches
Software Configuration Management
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management
Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Quality Management.
Software Configuration Management (SCM)
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
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.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools ©2008 John Wiley & Sons Ltd.
Management of Software Project CSM Software Configuration Management (SCM)
Purpose: The purpose of CMM Integration is to provide guidance for improving your organization’s processes and your ability to manage the development,
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Configuration Management- Basic Concepts. Agenda  Configuration Management process Overview  Process Stages  Planning & Setup  Control  Audit  Case.
Configuration Management
Timesheet training Version: Introduction Duration: 1.5 hours Purpose: Guide on how to use Timesheet.
Project management Topic 8 Configuration Management.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Software Engineering Lecture 9: Configuration Management.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Software Configuration Management (SCM)
Configuration Management
Software Project Configuration Management
Chapter 11: Software Configuration Management
LECTURE 2: Software Configuration Management
Configuration Management
Software Configuration Management
Configuration Management (managing change)
LECTURE 3: Software Configuration Management
Chapter 11: Software Configuration Management
HART Technologies Process Overview
Chapter # 6 Software Configuration Management
Configuration Management
Software Configuration Management
Presentation transcript:

sG Software Configuration Management And CVS scmGalaxy Author: Rajesh Kumar

scmGalaxy Agenda  Purpose and Objectives of SCM Process  SCM Activities  SCM summary  How to use CVS

scmGalaxy Current Software Development Issues  Ensuring proper components are being used throughout the Lifecycle  Providing file security and file control  Controlling transfer from the LAN to Target environment  Ensuring correct build of application  Managing progress of project

scmGalaxy Today’s Situation  Developers Step on Each Other  Multiple File Copies on Workstations & Network  Files Misplaced or Mishandled  Non-Standard Builds Cause Errors

scmGalaxy What is SCM?  The tracking and control of software development.  SCM is an infrastructure for software design, development, and deployment.  SCM is a set of utilities which can increase productivity and efficiency when building applications.  SCM is the art of identifying, organizing and controlling modifications to the software being built by a project team.

scmGalaxy Purpose of Configuration Management  The purpose of Configuration Management is to establish and maintain the integrity of the work products throughout the software life cycle. n Provide a defined and controlled configuration of the SW throughout the SW Life n Provide ability to consistently replicate the executable code of whichever the release or version required n Provide Controls that ensure problems receive attention and changes are recorded, approved, and implemented. n Control process I & O to ensure consistency, traceability and repeatability of process activities n Ensure that secure physical archiving (Backup), recovery and control are maintained for the CIs n Maximize productivity by minimizing mistakes DESIGN CODE TEST SDP WBS SOFT- WARE REQUIRE -MENTS VSS LIBRARY

scmGalaxy Where does CM Fit in the whole of SW Life Project Repository Changes (Bug fixes, change requests, Change log) Project Initiation Estimations, Proposal, SOW, Kickoff, materials,manuals, stds Requirements Development Requirements doc, Prototype, records Planning Plans and Records Design Designs and Records Coding Source, Object, Records Testing TCDs, Results, Fixes Post release Defect fixes Acceptance test fixes Release Single Release, Multiple version releases Records -MOM -Manuals&Stds -Status Reports

scmGalaxy Typical items to be controlled in SW 1.Requirements Document 2.Project Plan 3.SRS 4.Any Executable or Paper Prototype 5.User Manual 6.Design Specification 7.Source code 8.Test plan and procedure 9.Test cases and recorded results 10.Operation and Installation Manuals 11.Database description 12.Maintenance documents 13.Standards and Procedures for software engineering 14.Executable programs? 15.Standards and Guidelines 16.Customer Supplies These are called as Configuration Items (CI): One or more HW or SW components treated as a unit for configuration management purposes.

scmGalaxy What is a Baseline?  The approved, recorded configuration of one or more CIs, that there after serves as the basis for further development, and that is changed only through Change Control Process.  Requirements Doc after customer approval onwards  User Documents Release 1.0 onwards  SW release onwards  Entire Project folder is labeled as Baselined x.y. All further changes need to undergo Change control = Analysis, approval, implementation, regression test, release and post release support.

scmGalaxy SCM Activities  Create CM Plan  Create Central Repository (defined and controlled configuration)  Naming and Identification of CI’s  Establish roles and responsibilities for CM  Establish Baselines & Traceability  Defect Identification and Traceability  Change Control  CM Audit  Configuration Status accounting  Release  Archiving & Retrieval

scmGalaxy Create CM Plan  PM / PL is responsible for creating CM Plan  Project Specific directory structure  Responsibilities for Configuration management  Responsibilities for approving changes  Versioning & Baselining of Docs  Versioning & Baselining of code before release  Every new version check in to accompanied by reason, if Bug fix, then specify Bug-id in comments  Versioning & Baselining of code after release  Change Control  Bug tracking  Configuration Audit  Backup and Recovery Strategy  All team members may participate in review and updating CM Plan  CM Plan to be read in compliance with Developers handbook

scmGalaxy Create & use Central Repository  Create a Project folder in mindtree.com\rds\Projects always. This is done by Help Desk on Request. Use Calpaq.  Use the Standard Directory Structure specified in ProcessNet  Create CVS Database in this Folder Only.  Specify Access rights to CVS DB using the Admin Facility. Select Windows Login Authentication facility  BP: Individuals to create folders in their U:\Username folder with the same structure as of Project Central folder (in MTV01FS01 / MTV01FS02, not in C:\ or any other local drive unless it is approved by the PM/PL and Configuration Controller) for backup and recovery purposes. It is safe as IS takes backup of your U:\ on daily basis.

scmGalaxy Standard Directory Structure

scmGalaxy Naming and Identification of CIs  Plans  Requirements  Designs  Test Cases  Source Code (Related modules)  Release Notes  User Documentation  Release  …

scmGalaxy Roles and Responsibilities for CM Activities  Maintaining repository – Called as Configuration Controller  CVS Admin  Merges the changes if any required between different versions  Project specific Backups, Recovery  Is there a person / group responsible for approving all change request – Configuration Control Board  Change Analysis & Acceptance criteria  Change Approval/ Rejection  Regression test criteria  Release and acceptance  Developers responsible for all check-ins (and check-outs)  Comment the changes / bug fixes appropriately before check- in  Ensure that CI is defect free before integrated

scmGalaxy Establish Baselines and Traceability  Establish  Traceability Matrix – Design –Req-Test Cases-Code  Change Control Log – CR Status – Use MPower for LOG  Release Log  Baselining & Versioning – Before Release  Documents (Within and in CVS) – 0.1 To n.9  Code (Coding Guidelines are used for version history) - IT Base lined, ST baselined at a directory level  BP: Check in into CVS repository only after the code is compiled & unit tested, important so that others can do their build  Baselining & Versioning – After Release  Label at project level  Release – Release Checklist + Release Notes + Release Log + User Docs

scmGalaxy Defect Identification and Traceability  Use Defect tracking tool for defect login and status tracking  Use MPower for effort tracking on review and tests  Review defect code Defect Logs/ Mpower– Defect Track Id  Tests – Integration & System Tests Defect Id (from Mpower) part of Comment  Post release defects Comment Containing PRDF:

scmGalaxy Change Control  Log the change details into CR Form  Establish CR Log in Mpower and track effort and status  Perform analysis  Get approval  Implement changes  Perform Regression test as applicable  Label CVS after implementing CR/ part of release comment  Store the release in the Release folder.

scmGalaxy Release  Release Note  Release Checklist  Release Log  User Manual  Release Label - Mandatory

scmGalaxy CI Status Accounting & CM Audit  Perform CM audit to check the integrity of the CIs regularly and before release of SW using the CM Audit Checklist. – Physical + functional  Collect data on the status of CRs, Defects, and releases  Collect data on the effort spent on CM activities  Report on the above measures in PM Review, and Post Harvest Reports appropriately.

scmGalaxy Archival, Retrieving  Backup & Archiving  Central folder is backed up by IS.  All Any project specific folders to be backed up to central folder by CC/ - Address Part of CM Plan  Request Helpdesk for Burning a CD / Archival folder BP: 2 CDs for Archival  Librarian maintains Archives – Archival Form Confidentiality assured  Retrieving  Helpdesk – Retrieval request – on Shared Server  Librarian on Archives  C:\ or D:\ or E:\ - Individuals responsible

scmGalaxy SCM Summary  Create and use Central folder  Identify and Name CIs in the Project  Use guidelines for versioning and labeling at different stages of a CIs  Use Mpower for Defect tracking  Identify and Control changes  Track status of Defects, CRs and effort spent on CM activities  Perform Release Checks and CM audits to check for the integrity of the CIs before releases  On a regular basis, report on the above activities to the PM/PL.  Perform Archiving as required

scmGalaxy What is CVS? CVS is Concurrent Versions System.It is a source control system. Using it, one can record the history of source files. With CVS, old versions can be retrieved to see exactly which change caused the bug. Use CVS commands to get your own copy of the files into a working directory, and then work on that copy. When finished a set of changes, check (or commit) them back into the repository. The repository then contains the changes which was made, as well as recording exactly what was the change, and other such information. CVS stores all the versions of a file in a single file and only stores the deltas i.e differences between versions. CVS merges the work when each developer is done.

scmGalaxy CVS Continues……..  How to get to CVS? In your shell or dos box enter cvs login Enter your password when prompted.  What is a module? The modules are symbolic names for some collection of source directories and files

scmGalaxy CVS Continues….  What is a Branch? Branches allow development of different lines of software at the same time. CVS allows you to isolate changes onto a separate line of development, known as a branch. When you change files on a branch, those changes do not appear on the main trunk or other branches.  What is a Tag? CVS Tags are used within CVS repository to mark revisions of particular interest to the development process to indicate that the files tagged are at an equivalent stage.You cannot add files and directories using a simple tag.

scmGalaxy CVS Continues… CVS Continues….  Help !!!  cvs --help-options To see a list of common commands  cvs --help-command To see syntax for specific command  cvs –H ter96/cvs/

sG Author: Rajesh Kumar