SlideShare a Scribd company logo
1 of 47
Download to read offline
Software Configuration Management (SCM) &
Software Build and Release Management

          Prepared by: Roberto De Palma
          Version 1.0 – April 17th , 2007
          Version 1.1 – April 24th , 2007




                           Aeroplan and IBM Confidential
Objectives

  Understand the concept of Software Configuration Management
  Highlights the problems that we have
  The advantage of process automation through the adoption of suitable tools




2
                            Aeroplan and IBM Confidential
Agenda

      Definitions
      Challenges in Building and Releasing Software
      Tools
      Estimation
      Conclusion




3
                           Aeroplan and IBM Confidential
Build Pattern

  Private Build: A build that is created by a developer in his or her own
   workspace. This type of build is usually created for the purpose of checking
   the ongoing status of the developer’s changes, such as to assess whether his
   or her source code compiles.
  Integration Build: A build that is carried out by an assigned integrator or
   central function. This build is created to assess the effect of integrating a set of
   changes across a development team.
  Release Build: A build that is carried out by a central function, usually a
   member of the build team. This build is created with the express intention of
   being delivered to a customer, either internal or external.


Three explicit patterns are defined and it does not mean that each type
 of build should be constructed in an entirely different manner.




4
                               Aeroplan and IBM Confidential
Rational Unified Process defines a release as follows


    ...a stable, executable version of product, together with any artifacts necessary
    to use this release, such as release notes or installation instructions.

A release can be internal or external. An internal release is used only by the
  development organization, as part of a milestone, or for a demonstration to
  users or customers. An external release (or delivery) is delivered to end users.

A release is not necessarily a complete product, but can just be one step along
  the way, with its usefulness measured only from an engineering perspective.




5
                                Aeroplan and IBM Confidential
Important aspect of the release definition

  A release is constructed and handed over for evaluation or installation by a
   third party
        the quality assurance (QA) team
        the test team
        the external customer


  A release needs
        to be packaged and made ready for installation
        to be possible to identify exactly what is in the release in terms of new features,
        enhancements, or defects that have been addressed


What all this means is that a release is a special type of build for which
 there is a significant investment in effort and additional processes that
 need to be carried out.



6
                                     Aeroplan and IBM Confidential
Process that generates Software Build and Release Management




Typical iterative software development life cycle (from the Rational Unified Process)


7
                                 Aeroplan and IBM Confidential
What aspects of SCM support a tool can offer
  Version Control
        Enables the secure and controlled storage, retrieval, and versioning of all project
        assets (source code, documentation, test results, and so on).
  Build Management
        Enables the consistent and reliable construction of software applications in as short a
        time as possible.
  Workspace Management
        Enables the creation of workspaces to give project members access to a project’s
        shared versions of assets and consequently support for parallel development and
        controlled integration.
  Change Control
        Lets you capture, track, and manage all types of project changes (requests for
        change, enhancements, and defects). It also lets you compare these changes to the
        versions of the project assets used to implement them.
  Process Control
        Lets you report actions, history, and milestones, as well as customize or enforce
        development work flow and procedures.



8
                                    Aeroplan and IBM Confidential
Software Build Management process is

  To make sure that every build is complete, consistent, and reproducible

  You should always know
        what you’re building
        why you’re building it


  You should be able
        to build it again at any future point in time




9
                                      Aeroplan and IBM Confidential
Several distinct stages for Build Management process

  Build Identification (What to build)
         Build Identification can be either an informal process, in which you build just the
         latest changes, or a formal process, in which you build only agreed-on and complete
         changes.
  Build Definition (How to build it)
         Scripts (makefiles, Ant build files, etc.) that define how the different parts of the
         application should be compiled and/or linked to produce a complete system or
         application.
  Build Execution (Invocation and running of the build)
         Where the build scripts identified in the Build Definition phase are executed.
  Build Reporting (The results of the build)
         Build Reporting is where the results of the build (success or failure) are reported.
         Reporting include basic compilation reports, unit test reports, and release reports.
Anyone can throw together a few scripts to build some software. What is
 difficult is knowing how best to do this so that the build run better,
 faster, and right.

10
                                      Aeroplan and IBM Confidential
Software Release Management

  A release is constructed with the intention of being made available to a
   customer.


  They expect
         to be able to know exactly what is being given to them
         to be complete and easily installable


  They might
         want to see some evidence that what is being given to them actually works


  This means
Software Release Management process is often more controlled
 and rigorous



11
                                    Aeroplan and IBM Confidential
Several distinct stages for Release Management process

  Release Packaging
         Takes the output of a Release Build and bundles it to make it complete and
         installable. (a JAR or EAR file )


  Release Approval (or Authorization)
         An additional checkpoint that is required before the release is deployed
         Deployed internally
            Informal checkpoint
         Deployed externally
            More formal. Potentially involving multiple stakeholders and a list of rigorous sign-off criteria


  Release Deployment
         After approval has been given, the release can be deployed




12
                                          Aeroplan and IBM Confidential
Software Build and Release Management is

  The process of ensuring that builds and releases
         Can be reliably constructed
         Their content controlled
         Their outputs deployed to test


  These definitions are important
         It gives us a framework to discuss the issues and challenges around the process
         It also enables us to start thinking about


 What aspects of the process can be automated




13
                                    Aeroplan and IBM Confidential
Agenda

       Definitions
       Challenges in Building and Releasing Software
       Tools
       Estimation
       Conclusion




14
                            Aeroplan and IBM Confidential
Traceability and Completeness

  Traceability
         is knowing throughout the complete software development life cycle (not just building
         and releasing)
         Why you are doing and what you are doing


  Completeness is related to traceability
         it is making sure that the build or release contains all of what was intended




15
                                     Aeroplan and IBM Confidential
Lack of traceability and completeness
  Not being able to say exactly what is in the build
         What new features, enhancements, and defects have been addressed? Who requested
         them, and why?


  Not being able to say how the build was carried out
         What versions of the code did the build use? What third-party libraries? What compiler
         options?


  Not being able to say where the build has gone
         Where is the build being used? What release is being tested? What do your customers
         have?


  Incomplete software builds
         Software components are found to be missing or incompatible


  Incomplete releases
         Supporting documentation or associated artifacts are missing from the release




16
                                        Aeroplan and IBM Confidential
Repeatability and Reliability

  Repeatability
         is about being able to do the same thing over and over


  Reliability
         is about its being correct each time




17
                                     Aeroplan and IBM Confidential
Lack of Repeatability and Reliability
  Not being able to reconstruct a build carried out previously
         Can you reconstruct the build environment, fix the problem, and ship a patch to the customer?


  Not being able to consistently construct and deploy a release package
         Is the content of the release package the same each time? When you deploy the release package, is
         it installed in exactly the same way?


  Having continual problems with the reliability of the build execution
         When you test a build and find problems, are you sure that the problem is with the code, or could the
         problem be with how the code was built?


You should be completely confident that the code being delivered into the
 build is at fault, not the build process itself




18
                                        Aeroplan and IBM Confidential
Agility and Speed

  Agility
         is about having a build process in which changes can be integrated quickly or as and
         when needed


  Speed
         is about the build process being completed in as short a time as possible




19
                                    Aeroplan and IBM Confidential
Lack of Agility and Speed
  Not being able to integrate changes quickly
         If problems occur during development or testing, can the developer responsible fix the
         problem and immediately be able to initiate or request a new Integration or Release
         Build?


  Developers waiting for the output of the build
         Does the build process take so long from beginning to end that you can afford to build
         only once a week? What happens if that one build fails?


                               Finding your project rhythm




20
                                        Aeroplan and IBM Confidential
How can you do things better? How can the process be improved?

  Software Build and Release Management is essentially a part of SCM
         you can’t have one without the other


  Manuel procedures
         leave consistency to chance
         repeatability isn’t guaranteed, especially if aspects of the procedure are open to
         interpretation by different people


  Automation
         ensure consistency and repeatability on the project
         enables traceability, repeatability, reliability, agility and speed


No matter how well you define a manual process, it potentially can
 be error-prone and ultimately unproductive


21
                                       Aeroplan and IBM Confidential
Agenda

       Definitions
       Challenges in Building and Releasing Software
       Tools
       Estimation
       Conclusion




22
                            Aeroplan and IBM Confidential
Rational ClearCase (Base)
  VOB (Versioned Object Base)
         is a database of versions
            files and directories


  Element
         a versioned object that resides within a VOB
            text file, binary file or a directory




23
                                                     Aeroplan and IBM Confidential
Rational ClearCase (Base)
  View
         is an individual workspace that is created to select a set of compatible file and directory
         versions from across any of the VOBs
            Typically a view is created per user and per task
         2 types of view
            snapshot and dynamic




24
                                             Aeroplan and IBM Confidential
Rational ClearCase (UCM)

  UCM was to simplify the adoption of ClearCase by raising the level of
   abstraction and provide an out-of-the-box usage model


  Project
         Making the project a physical object of the SCM system
            Allows the automation and management of security and collaboration by defining who the
             members of the project are
         Allows the definition of scope and development policies
            what set of files and directories from the VOB repositories the project is allowed to change


  Components
         VOB may contain many components
         Can be made writeable or readable within a UCM project
            Allowing you to define consumer/producer relationships between projects
         Each version of a component can be identified by a UCM Baseline



25
                                         Aeroplan and IBM Confidential
Rational ClearCase (UCM)

  Baseline
         Is like a label, but is treated as an object in its own right and collects additional
         information such as the level of maturity of the baseline
         Example
            a baseline that has just been created as opposed to one that has gone through testing or into
             the live environment


  Stream
         Is like a Base ClearCase branch
         But captures additional information
            UCM component baselines that it is configured for, and the UCM activities which are being
             worked on in it
         UCM project has
            A single integration stream where changes are delivered to
            One or more developer streams per developer.




26
                                        Aeroplan and IBM Confidential
Rational ClearCase (UCM)

  Activites
         Changes to files are grouped according to the reason for their change
         You cannot make a change without declaring this association
         Benefits
            It ensures that no files are changed without an associated reason
            It allows sets of changes to be referred to and integrated as a whole
         Activity is capturing a Change Set
            When you want to deliver the files that you have been working you don’t have to remember
             the exact set of files that you changed
            You simply deliver the activity




27
                                          Aeroplan and IBM Confidential
Rational ClearCase (UCM)

  UCM activities and baselines also work in
   combination


  It is possible to automate the process of
   determining what is different between
   one baseline and another
         List of files that have changed from one
         baseline to the next
         Also a list of activities


  Advantages
         automatically generate release notes
         Assist testers in determining the necessary
         set of regression tests to run




28
                                     Aeroplan and IBM Confidential
Rational ClearQuest
  Software Change Request and Defect tracking tool

  4 different types of changes
         new requirement
            Capturing new requirements for a new or existing system
         enhancement request
            Capturing requests to enhance an existing system
         defect
            Capturing problems found with testing or deploying a system
         deployment
            Capturing and requesting that a new system is deployed


  Customizable
         Types of change
         Permissions
         Look and feel of individual forms



29
                                       Aeroplan and IBM Confidential
Rational ClearQuest
  Report
         Can be created by any user
  Report format
         Can be designed using Crystal Reports
         Text based reports
         Generate many types of graphs and charts




30
                                      Aeroplan and IBM Confidential
Rational ClearQuest with ClearCase
  ClearQuest manages each team
   member’s activities
  They are presented with a prioritized “To
   Do” list




31
                                 Aeroplan and IBM Confidential
Rational BuildForge

  Provides a complete build and release process management

  Build and release execution framework that allows development organizations
   to standardize and automate repetitive tasks

  ClearCase Integration
         To initiate and report on the software versions that have gone into a build


  ClearQuest Integration
         Report on the ClearQuest Defects that have been addressed in a build and
         automatically resolve them
         Create a ClearQuest Build Record automatically as part of a build




32
                                     Aeroplan and IBM Confidential
Rational’s complete Software Delivery Plateform




33
                   Aeroplan and IBM Confidential
Development Infrastructure




34
                   Aeroplan and IBM Confidential
Agenda

       Definitions
       Challenges in Building and Releasing Software
       Tools
       Estimation
       Conclusion




35
                            Aeroplan and IBM Confidential
Person days of effort- Rational ClearCase

  No migration considered

  Tool administrator (most likely a developer) : 13 days
  Project Lead : 7 days
  Developers (9) : 1 day
  CoC Specialist : 15 days
  Architect : 7 days
  Project Manager : 15 days

  Total : 58 days




36
                              Aeroplan and IBM Confidential
Activity

  CM Workshop (5 day)
         ClearCase Administrator, Project Lead, Architect, CoC Specialist


  Analyzing and conception of the structure of the vobs (3 day)
         1 Architect, 1 Developer, ClearCase Admin


  Setup
         Preparing Readiness Plan (2 days)
            CoC Specialist
         Installation and Configuration
            CoC Specialist (5 days), ClearCase Administrator (2 days)
            Configuration of the VOBs
            Security
                 Role and Responsibility
         Installing the client tool on each user (1 day)
            ClearCase Administrator


37
                                           Aeroplan and IBM Confidential
Activity

  Training (Self + w/CoC Member)
         ClearCase Administrator (4 days)
         Team Lead (2 days)
         Developer (1 day)


  Documentation (10 days)
         ClearCase Administrator, Developer


  Testing (4-5 day)
         1 Developer and ClearCase Admin




38
                                   Aeroplan and IBM Confidential
Some question that we need to answer during the workshop

  How big do you think the project will be?
  How many people will be involved in the product development?
  At how many locations will the product be developed, tested, and deployed?
  Is the product internal or external?
  What are the third party tools that you will be using?
  What is the development cycle of the product?
  How do your current development methodologies fit into your tool plans?
  Are any key roles missing from your team?
  Do you have the hardware you need?
  Do you have the infrastructure ready to support your plans?




39
                               Aeroplan and IBM Confidential
WW Infrastructure Service

  $40-50 per project / per VOB (2 GB) / per month
  Establish servers and tools
  Setup Admin (user ids, access level)
  Look at licensing details
  Provide 24X5 support
  Weekend Page Support is available
         if required and provided with advance notice, will have resources available
  Web interface that will allow Client access to these tools and infrastructure
   (June 2007) (cost is to be confirm)




40
                                    Aeroplan and IBM Confidential
Risk

  Period of transition for the people
  Learning curve
  Down time
  Duplication of effort
  Decreased productivity
  Assigning Role/Responsibility to people
         ClearCase Administrator
         Integrator
         Etc.




41
                                   Aeroplan and IBM Confidential
Agenda

       Definitions
       Challenges in Building and Releasing Software
       Tools
       Estimation
       Conclusion




42
                            Aeroplan and IBM Confidential
Conclusion

  Automation help us to be more productive
         We need to audit our process


  Benefice of Rational Tools
         There integration
         They cover all aspects of the Software Engineer discipline
            Business Modeling, Requirement, Analysis & Design, Testing and SCM


  The migration should be plan and drive as a project
         Take more time at the beginning but it reduce the risk of failure or the rejection of
         change
         At least one person on each role should participate in the testing
         Plan a head and be prepare to perform the migration during the week-end




43
                                      Aeroplan and IBM Confidential
Roles




44
        Aeroplan and IBM Confidential
Rational Tools




45
                 Aeroplan and IBM Confidential
References

  IBM Software Product library - Change and release management
         http://www-306.ibm.com/software/awdtools/resources/scm.html


  ClearCase, Ant and CruiseControl
         Book24x7


  CM Crossroads – section on Build Management tools and forum
         http://www.cmcrossroads.com


  IBM Software -Rational ClearCase- Support
         https://www-306.ibm.com/software/awdtools/clearcase/support/index.html




46
                                       Aeroplan and IBM Confidential
Question




47
           Aeroplan and IBM Confidential

More Related Content

What's hot

Configuration Management Best Practices
Configuration Management Best PracticesConfiguration Management Best Practices
Configuration Management Best PracticesTechWell
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementVirendra Thakur
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementRajesh Kumar
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVSRajesh Kumar
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment PowerpointJeannine Jacobs, MS
 
Software management framework
Software management frameworkSoftware management framework
Software management frameworkKuppusamy P
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesTEJVEER SINGH
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Process in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software EngineerinProcess in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software EngineerinMuhammadSufianJani
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةAhmed Alageed
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software EngineeringAhmed Alageed
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringdeshpandeamrut
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementAchmad Solichin
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 

What's hot (20)

Configuration Management Best Practices
Configuration Management Best PracticesConfiguration Management Best Practices
Configuration Management Best Practices
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
SCM PPT
SCM PPTSCM PPT
SCM PPT
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVS
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
 
Software management framework
Software management frameworkSoftware management framework
Software management framework
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Process in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software EngineerinProcess in Software Engineering/4'ps in Software Engineerin
Process in Software Engineering/4'ps in Software Engineerin
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسة
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
 
Software Processes
Software Processes Software Processes
Software Processes
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration Management
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 

Viewers also liked

Agile ALM Virtual Study Group Session 2 - Backlog management
Agile ALM Virtual Study Group Session 2 - Backlog managementAgile ALM Virtual Study Group Session 2 - Backlog management
Agile ALM Virtual Study Group Session 2 - Backlog managementIBM Rational software
 
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...Rik Marselis
 
Reducing release cycles with Visual Studio: a DevOps perspective
Reducing release cycles with Visual Studio: a DevOps perspectiveReducing release cycles with Visual Studio: a DevOps perspective
Reducing release cycles with Visual Studio: a DevOps perspectiveInCycle Software
 
Agile205: Intro to Agile Product Management
Agile205: Intro to Agile Product ManagementAgile205: Intro to Agile Product Management
Agile205: Intro to Agile Product ManagementRich Mironov
 

Viewers also liked (7)

Agile ALM Virtual Study Group Session 2 - Backlog management
Agile ALM Virtual Study Group Session 2 - Backlog managementAgile ALM Virtual Study Group Session 2 - Backlog management
Agile ALM Virtual Study Group Session 2 - Backlog management
 
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...Assess Prioritize Improve  Tutorial at 6th World Congress For Software Qualit...
Assess Prioritize Improve Tutorial at 6th World Congress For Software Qualit...
 
Reducing release cycles with Visual Studio: a DevOps perspective
Reducing release cycles with Visual Studio: a DevOps perspectiveReducing release cycles with Visual Studio: a DevOps perspective
Reducing release cycles with Visual Studio: a DevOps perspective
 
Silicon Valley Agile - Product Managers, Product Owners, and Scalable Models ...
Silicon Valley Agile - Product Managers, Product Owners, and Scalable Models ...Silicon Valley Agile - Product Managers, Product Owners, and Scalable Models ...
Silicon Valley Agile - Product Managers, Product Owners, and Scalable Models ...
 
Scrum
ScrumScrum
Scrum
 
Moodle Quick Forms
Moodle Quick FormsMoodle Quick Forms
Moodle Quick Forms
 
Agile205: Intro to Agile Product Management
Agile205: Intro to Agile Product ManagementAgile205: Intro to Agile Product Management
Agile205: Intro to Agile Product Management
 

Similar to Software Configuration Management

Jun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By ExampleJun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By Example360|Conferences
 
What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)Chris Aniszczyk
 
Advanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyAdvanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyCA Technologies
 
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Atlassian
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life CycleHem Pokhrel
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformJean-Michel Bouffard
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarKeyur Shah
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineeringgaoliang641
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
Prescriptive System Security with InSpec
Prescriptive System Security with InSpecPrescriptive System Security with InSpec
Prescriptive System Security with InSpecAll Things Open
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Mandi Walls
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER Piyush Prakash
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1Sumanth Vepa
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesIBM UrbanCode Products
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsRIA RUI Society
 

Similar to Software Configuration Management (20)

Jun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By ExampleJun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By Example
 
What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)
 
Advanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyAdvanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps Journey
 
Getting It Done
Getting It DoneGetting It Done
Getting It Done
 
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup Webinar
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Prescriptive System Security with InSpec
Prescriptive System Security with InSpecPrescriptive System Security with InSpec
Prescriptive System Security with InSpec
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applications
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Software Configuration Management

  • 1. Software Configuration Management (SCM) & Software Build and Release Management Prepared by: Roberto De Palma Version 1.0 – April 17th , 2007 Version 1.1 – April 24th , 2007 Aeroplan and IBM Confidential
  • 2. Objectives   Understand the concept of Software Configuration Management   Highlights the problems that we have   The advantage of process automation through the adoption of suitable tools 2 Aeroplan and IBM Confidential
  • 3. Agenda   Definitions   Challenges in Building and Releasing Software   Tools   Estimation   Conclusion 3 Aeroplan and IBM Confidential
  • 4. Build Pattern   Private Build: A build that is created by a developer in his or her own workspace. This type of build is usually created for the purpose of checking the ongoing status of the developer’s changes, such as to assess whether his or her source code compiles.   Integration Build: A build that is carried out by an assigned integrator or central function. This build is created to assess the effect of integrating a set of changes across a development team.   Release Build: A build that is carried out by a central function, usually a member of the build team. This build is created with the express intention of being delivered to a customer, either internal or external. Three explicit patterns are defined and it does not mean that each type of build should be constructed in an entirely different manner. 4 Aeroplan and IBM Confidential
  • 5. Rational Unified Process defines a release as follows ...a stable, executable version of product, together with any artifacts necessary to use this release, such as release notes or installation instructions. A release can be internal or external. An internal release is used only by the development organization, as part of a milestone, or for a demonstration to users or customers. An external release (or delivery) is delivered to end users. A release is not necessarily a complete product, but can just be one step along the way, with its usefulness measured only from an engineering perspective. 5 Aeroplan and IBM Confidential
  • 6. Important aspect of the release definition   A release is constructed and handed over for evaluation or installation by a third party   the quality assurance (QA) team   the test team   the external customer   A release needs   to be packaged and made ready for installation   to be possible to identify exactly what is in the release in terms of new features, enhancements, or defects that have been addressed What all this means is that a release is a special type of build for which there is a significant investment in effort and additional processes that need to be carried out. 6 Aeroplan and IBM Confidential
  • 7. Process that generates Software Build and Release Management Typical iterative software development life cycle (from the Rational Unified Process) 7 Aeroplan and IBM Confidential
  • 8. What aspects of SCM support a tool can offer   Version Control   Enables the secure and controlled storage, retrieval, and versioning of all project assets (source code, documentation, test results, and so on).   Build Management   Enables the consistent and reliable construction of software applications in as short a time as possible.   Workspace Management   Enables the creation of workspaces to give project members access to a project’s shared versions of assets and consequently support for parallel development and controlled integration.   Change Control   Lets you capture, track, and manage all types of project changes (requests for change, enhancements, and defects). It also lets you compare these changes to the versions of the project assets used to implement them.   Process Control   Lets you report actions, history, and milestones, as well as customize or enforce development work flow and procedures. 8 Aeroplan and IBM Confidential
  • 9. Software Build Management process is   To make sure that every build is complete, consistent, and reproducible   You should always know   what you’re building   why you’re building it   You should be able   to build it again at any future point in time 9 Aeroplan and IBM Confidential
  • 10. Several distinct stages for Build Management process   Build Identification (What to build)   Build Identification can be either an informal process, in which you build just the latest changes, or a formal process, in which you build only agreed-on and complete changes.   Build Definition (How to build it)   Scripts (makefiles, Ant build files, etc.) that define how the different parts of the application should be compiled and/or linked to produce a complete system or application.   Build Execution (Invocation and running of the build)   Where the build scripts identified in the Build Definition phase are executed.   Build Reporting (The results of the build)   Build Reporting is where the results of the build (success or failure) are reported.   Reporting include basic compilation reports, unit test reports, and release reports. Anyone can throw together a few scripts to build some software. What is difficult is knowing how best to do this so that the build run better, faster, and right. 10 Aeroplan and IBM Confidential
  • 11. Software Release Management   A release is constructed with the intention of being made available to a customer.   They expect   to be able to know exactly what is being given to them   to be complete and easily installable   They might   want to see some evidence that what is being given to them actually works   This means Software Release Management process is often more controlled and rigorous 11 Aeroplan and IBM Confidential
  • 12. Several distinct stages for Release Management process   Release Packaging   Takes the output of a Release Build and bundles it to make it complete and installable. (a JAR or EAR file )   Release Approval (or Authorization)   An additional checkpoint that is required before the release is deployed   Deployed internally   Informal checkpoint   Deployed externally   More formal. Potentially involving multiple stakeholders and a list of rigorous sign-off criteria   Release Deployment   After approval has been given, the release can be deployed 12 Aeroplan and IBM Confidential
  • 13. Software Build and Release Management is   The process of ensuring that builds and releases   Can be reliably constructed   Their content controlled   Their outputs deployed to test   These definitions are important   It gives us a framework to discuss the issues and challenges around the process   It also enables us to start thinking about What aspects of the process can be automated 13 Aeroplan and IBM Confidential
  • 14. Agenda   Definitions   Challenges in Building and Releasing Software   Tools   Estimation   Conclusion 14 Aeroplan and IBM Confidential
  • 15. Traceability and Completeness   Traceability   is knowing throughout the complete software development life cycle (not just building and releasing)   Why you are doing and what you are doing   Completeness is related to traceability   it is making sure that the build or release contains all of what was intended 15 Aeroplan and IBM Confidential
  • 16. Lack of traceability and completeness   Not being able to say exactly what is in the build   What new features, enhancements, and defects have been addressed? Who requested them, and why?   Not being able to say how the build was carried out   What versions of the code did the build use? What third-party libraries? What compiler options?   Not being able to say where the build has gone   Where is the build being used? What release is being tested? What do your customers have?   Incomplete software builds   Software components are found to be missing or incompatible   Incomplete releases   Supporting documentation or associated artifacts are missing from the release 16 Aeroplan and IBM Confidential
  • 17. Repeatability and Reliability   Repeatability   is about being able to do the same thing over and over   Reliability   is about its being correct each time 17 Aeroplan and IBM Confidential
  • 18. Lack of Repeatability and Reliability   Not being able to reconstruct a build carried out previously   Can you reconstruct the build environment, fix the problem, and ship a patch to the customer?   Not being able to consistently construct and deploy a release package   Is the content of the release package the same each time? When you deploy the release package, is it installed in exactly the same way?   Having continual problems with the reliability of the build execution   When you test a build and find problems, are you sure that the problem is with the code, or could the problem be with how the code was built? You should be completely confident that the code being delivered into the build is at fault, not the build process itself 18 Aeroplan and IBM Confidential
  • 19. Agility and Speed   Agility   is about having a build process in which changes can be integrated quickly or as and when needed   Speed   is about the build process being completed in as short a time as possible 19 Aeroplan and IBM Confidential
  • 20. Lack of Agility and Speed   Not being able to integrate changes quickly   If problems occur during development or testing, can the developer responsible fix the problem and immediately be able to initiate or request a new Integration or Release Build?   Developers waiting for the output of the build   Does the build process take so long from beginning to end that you can afford to build only once a week? What happens if that one build fails? Finding your project rhythm 20 Aeroplan and IBM Confidential
  • 21. How can you do things better? How can the process be improved?   Software Build and Release Management is essentially a part of SCM   you can’t have one without the other   Manuel procedures   leave consistency to chance   repeatability isn’t guaranteed, especially if aspects of the procedure are open to interpretation by different people   Automation   ensure consistency and repeatability on the project   enables traceability, repeatability, reliability, agility and speed No matter how well you define a manual process, it potentially can be error-prone and ultimately unproductive 21 Aeroplan and IBM Confidential
  • 22. Agenda   Definitions   Challenges in Building and Releasing Software   Tools   Estimation   Conclusion 22 Aeroplan and IBM Confidential
  • 23. Rational ClearCase (Base)   VOB (Versioned Object Base)   is a database of versions   files and directories   Element   a versioned object that resides within a VOB   text file, binary file or a directory 23 Aeroplan and IBM Confidential
  • 24. Rational ClearCase (Base)   View   is an individual workspace that is created to select a set of compatible file and directory versions from across any of the VOBs   Typically a view is created per user and per task   2 types of view   snapshot and dynamic 24 Aeroplan and IBM Confidential
  • 25. Rational ClearCase (UCM)   UCM was to simplify the adoption of ClearCase by raising the level of abstraction and provide an out-of-the-box usage model   Project   Making the project a physical object of the SCM system   Allows the automation and management of security and collaboration by defining who the members of the project are   Allows the definition of scope and development policies   what set of files and directories from the VOB repositories the project is allowed to change   Components   VOB may contain many components   Can be made writeable or readable within a UCM project   Allowing you to define consumer/producer relationships between projects   Each version of a component can be identified by a UCM Baseline 25 Aeroplan and IBM Confidential
  • 26. Rational ClearCase (UCM)   Baseline   Is like a label, but is treated as an object in its own right and collects additional information such as the level of maturity of the baseline   Example   a baseline that has just been created as opposed to one that has gone through testing or into the live environment   Stream   Is like a Base ClearCase branch   But captures additional information   UCM component baselines that it is configured for, and the UCM activities which are being worked on in it   UCM project has   A single integration stream where changes are delivered to   One or more developer streams per developer. 26 Aeroplan and IBM Confidential
  • 27. Rational ClearCase (UCM)   Activites   Changes to files are grouped according to the reason for their change   You cannot make a change without declaring this association   Benefits   It ensures that no files are changed without an associated reason   It allows sets of changes to be referred to and integrated as a whole   Activity is capturing a Change Set   When you want to deliver the files that you have been working you don’t have to remember the exact set of files that you changed   You simply deliver the activity 27 Aeroplan and IBM Confidential
  • 28. Rational ClearCase (UCM)   UCM activities and baselines also work in combination   It is possible to automate the process of determining what is different between one baseline and another   List of files that have changed from one baseline to the next   Also a list of activities   Advantages   automatically generate release notes   Assist testers in determining the necessary set of regression tests to run 28 Aeroplan and IBM Confidential
  • 29. Rational ClearQuest   Software Change Request and Defect tracking tool   4 different types of changes   new requirement   Capturing new requirements for a new or existing system   enhancement request   Capturing requests to enhance an existing system   defect   Capturing problems found with testing or deploying a system   deployment   Capturing and requesting that a new system is deployed   Customizable   Types of change   Permissions   Look and feel of individual forms 29 Aeroplan and IBM Confidential
  • 30. Rational ClearQuest   Report   Can be created by any user   Report format   Can be designed using Crystal Reports   Text based reports   Generate many types of graphs and charts 30 Aeroplan and IBM Confidential
  • 31. Rational ClearQuest with ClearCase   ClearQuest manages each team member’s activities   They are presented with a prioritized “To Do” list 31 Aeroplan and IBM Confidential
  • 32. Rational BuildForge   Provides a complete build and release process management   Build and release execution framework that allows development organizations to standardize and automate repetitive tasks   ClearCase Integration   To initiate and report on the software versions that have gone into a build   ClearQuest Integration   Report on the ClearQuest Defects that have been addressed in a build and automatically resolve them   Create a ClearQuest Build Record automatically as part of a build 32 Aeroplan and IBM Confidential
  • 33. Rational’s complete Software Delivery Plateform 33 Aeroplan and IBM Confidential
  • 34. Development Infrastructure 34 Aeroplan and IBM Confidential
  • 35. Agenda   Definitions   Challenges in Building and Releasing Software   Tools   Estimation   Conclusion 35 Aeroplan and IBM Confidential
  • 36. Person days of effort- Rational ClearCase   No migration considered   Tool administrator (most likely a developer) : 13 days   Project Lead : 7 days   Developers (9) : 1 day   CoC Specialist : 15 days   Architect : 7 days   Project Manager : 15 days   Total : 58 days 36 Aeroplan and IBM Confidential
  • 37. Activity   CM Workshop (5 day)   ClearCase Administrator, Project Lead, Architect, CoC Specialist   Analyzing and conception of the structure of the vobs (3 day)   1 Architect, 1 Developer, ClearCase Admin   Setup   Preparing Readiness Plan (2 days)   CoC Specialist   Installation and Configuration   CoC Specialist (5 days), ClearCase Administrator (2 days)   Configuration of the VOBs   Security   Role and Responsibility   Installing the client tool on each user (1 day)   ClearCase Administrator 37 Aeroplan and IBM Confidential
  • 38. Activity   Training (Self + w/CoC Member)   ClearCase Administrator (4 days)   Team Lead (2 days)   Developer (1 day)   Documentation (10 days)   ClearCase Administrator, Developer   Testing (4-5 day)   1 Developer and ClearCase Admin 38 Aeroplan and IBM Confidential
  • 39. Some question that we need to answer during the workshop   How big do you think the project will be?   How many people will be involved in the product development?   At how many locations will the product be developed, tested, and deployed?   Is the product internal or external?   What are the third party tools that you will be using?   What is the development cycle of the product?   How do your current development methodologies fit into your tool plans?   Are any key roles missing from your team?   Do you have the hardware you need?   Do you have the infrastructure ready to support your plans? 39 Aeroplan and IBM Confidential
  • 40. WW Infrastructure Service   $40-50 per project / per VOB (2 GB) / per month   Establish servers and tools   Setup Admin (user ids, access level)   Look at licensing details   Provide 24X5 support   Weekend Page Support is available   if required and provided with advance notice, will have resources available   Web interface that will allow Client access to these tools and infrastructure (June 2007) (cost is to be confirm) 40 Aeroplan and IBM Confidential
  • 41. Risk   Period of transition for the people   Learning curve   Down time   Duplication of effort   Decreased productivity   Assigning Role/Responsibility to people   ClearCase Administrator   Integrator   Etc. 41 Aeroplan and IBM Confidential
  • 42. Agenda   Definitions   Challenges in Building and Releasing Software   Tools   Estimation   Conclusion 42 Aeroplan and IBM Confidential
  • 43. Conclusion   Automation help us to be more productive   We need to audit our process   Benefice of Rational Tools   There integration   They cover all aspects of the Software Engineer discipline   Business Modeling, Requirement, Analysis & Design, Testing and SCM   The migration should be plan and drive as a project   Take more time at the beginning but it reduce the risk of failure or the rejection of change   At least one person on each role should participate in the testing   Plan a head and be prepare to perform the migration during the week-end 43 Aeroplan and IBM Confidential
  • 44. Roles 44 Aeroplan and IBM Confidential
  • 45. Rational Tools 45 Aeroplan and IBM Confidential
  • 46. References   IBM Software Product library - Change and release management   http://www-306.ibm.com/software/awdtools/resources/scm.html   ClearCase, Ant and CruiseControl   Book24x7   CM Crossroads – section on Build Management tools and forum   http://www.cmcrossroads.com   IBM Software -Rational ClearCase- Support   https://www-306.ibm.com/software/awdtools/clearcase/support/index.html 46 Aeroplan and IBM Confidential
  • 47. Question 47 Aeroplan and IBM Confidential