SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Configuration and build
management of Product
line development
Steve Kim (Sungchul Kim)
Principal Engineer
Samsung SDS
( sungchul3.kim@samsung.com )
AGENDA


   Product-line development
   •  Definition
   •  Considerations

   Usage models
   •  Depot structure
   •  Branch Strategy
   •  Baseline Strategy
   •  Integration with defect tracking tools & process
   •  Build and Release

   Demo
Ch1. Product line development
Introduction


Enhance the efficiency of SW development when multiple
products are to be developed simultaneously
 •    Higher productivity
 •    Higher quality
 •    Faster time to market
 •    Lower labor needs

Many methods and practices are introduced
 •  S/W Reuse
 •  Component-based development
 •  Product line engineering ( Product family engineering )
Introduction


Variation management is a key element to distinguish
the other development process
 •  Reusable S/W Architecture
 •  Separated teams and responsibilities
 •  The governance enforcing S/W reused

The usage model of configuration and build management on
product line development will be introduced
 •  Code structure
 •  Branch strategy
 •  Label strategy
 •  Change management
 •  Build and Release management
Definition


 Definition of Product-line development
   •  A set of related products are produced through the combination
      of reused core assets together with product specific custom
      assets
[ Adapted from “General configuration management and asset evolution model for software product line”, Softwareproductlines.com ] 	
                                                          Artifacts under configuration management

                                                Core Assets
                                              Core Asset
                                               Core Asset
   Software Architecture                        Core Asset
                                                                        Composed
                                            Teams for Core Assets


                               mapping
                                             Team A   TeamB   TeamC                Production

                                              Custom Assets
                                                 Custom
                                                  Custom
                                                   Custom
                                                  Asset                                               Product Instances
                                                   Asset
                                                    Asset
                                            Teams for Custom Assets
Definition
               [ A Configuration Management Model for Software Product Line, Liguo Yu and Srini Ramaswamy, 2006 	
                                                                                                                 ]


    Terms                                                  Definition
  Component         The basic unit for configuration management
                    A collection of components. An asset may contain one or
    Asset
                    more components
                    Contains a set of domain specific but application independent
  Core Asset        components that can be adapted and reused in various
                    related products.
 Custom asset       Contains a set of application specific components
                    A collection of core assets and custom assets.
   Product
                    Products share the same or similar core assets.

                    After a new product is produced, it may also need to be
   Product
                    configuration managed. The product under configuration
   instance
                    management is called product instance.
Definition


Variation management for Software Product-line
  •  Variation in time and space
  •  Divided into nine smaller issues and suggest the solution for each issue

                                          [ Nine Sub-problems of Variation management, Charles W. Krueger 	
                                                                                                           ]

            Variation
            Type        Sequential Time           Parallel Time                  Domain Space
 Granularity

                        Basic Configuration Management
        Files                Version                 Branch                        Variation Point
                           Management              Management                       Management

                                                    Branched
                            Baseline                                               Customization
   Components              Management
                                                    Baseline
                                                                                    Management
                                                   Management

                                                    Branched                       Customization
                           Composition
     Products              Management
                                                   Composition                      Composition
                                                   Management                       Management

                        Component Composition                             Software Mass Customization
Ch2. Usage model of
configuration and build
management
Considerations


Considerations when you implement the usage model

 •  The code structure of repository to manage both a common assets
    and variant assets
 •  Branch strategy for enforcing the development process
 •  Baseline strategy for tagging each asset and a whole product
 •  Integration with defect tracking tools
 •  Daily Build and Release process
Depot Structure


Depot Structure can be considered by the followings
  •  SW architecture
  •  The structure of the development team ( Single vs Multiple teams )
  •  The access control policy

 Software Architecture                   Depot Structure
                                                                                      Workspace
                                          Depot
                                           Branch/Directory
                                           Branch/Directory
                           Manage            Component A
                                                Directory          Composed
                         the change
                                          Depot                       by
                             on
                                           Branch/Directory
                                           Branch/Directory
                                             Component B
                                                Directory


                                  •  Each depot holds one asset
                                  •  One depot holds all assets
                                  •  One depot holds multiple assets by the characteristics of assets
Depot Structure


Each asset is coded and then released by a team. All code of an
asset are managed by a project.
 •  A management unit to control all activities related to an asset
 •  Using naming rules, you can distinguish a directory from a branch
    ( “PRJ_”, “[ ] “ )
 •  Grouping related projects with directory can be used



                         Depot holds several projects in which the code
                         for assets are managed 	


                         Directory can be used to group the related projects
                          - Year, Organization unit ( HQ, Oversea labs )
Depot Structure


Additional data is also needed to maintain a Project.
 •  Project data including Name, Description, Depot path
 •  Branches and the hierarchy of branches which belong to a project
 •  The administrators of each project. They are in charge of
    assigning new developers and making a baseline
    for releasing an asset
 •  The policy which controls integrating flow and locks the branches
 •  Sometimes, the protection table of each project can also be
 managed

These can be stored in a depot or other storage such as a
database
Code-line (Branch) Strategy

Sophisticated Code-line strategy is required
  •  The size of team is getting bigger
  •  The quality requirement of assets is getting higher

The quality requirement of assets
  •  Core Assets is higher than Custom assets

                                 [Project name]                      § The changes gathered from the lower branches
                                                                        are built with the other assets
              Stable                Mainline                         § Test activities are performed
                                                                     § Release baseline is tagged
                                               Integrate
                                                                     § The changes gathered from the lower branches
Maturity of                            Sub-Code-line                    are reviewed and integrated
the code               Rebased                                       § If the members of a team are small, it can be
                                               Integrate                optional

                                            Developer’s Code-lines   § The codes are submitted with linking jobs
                          Rebased
                                                                     § The changelists are integrated into the upper
          Unstable                                                    branch
Branch Strategy

 Sparse branching is a good solution to avoid integrating
 the files which are not changed in the developer’s branch


                2                                              3     Rebase the
                                                                     changes into
  Integrate                                                          Dev-One
  Dev-One to
  Mainline
                                                                     - Refer to KB #1166


                                                           1

                                                           Only Module 1 is
                                                           branched



[ View spec using Sparse branching ] - Refer to KB #890


  //Core_Assets/PRJ_Core_Asset/Mainline/…                          //wk/Core_Asset1/..."
  +//Core_Assets/PRJ_Core_Asset/Dev_One/ComponentA/Module1/... //wk/Core_Asset1/Module1/...
Branch Strategy

Policies to govern the activities of a project are controlled
 •  Submitting : ( P4 Trigger )
     - Linked with at least one job ( Activity based change management )
 •  Integrating : ( P4 Broker )
     - The status of jobs linked with changelists is verified
     - Rebase the integrated codes from the target branch before integrating
     - The integrating flow is controlled ( refer to the below tables )

                                              O : Allowed, X : Disallowed,   : Configured depends on each project

   1. Inner project	
                               2. Between the projects	

   From/To    DEV       Sub-INT   INT   REL           From/To       DEV       Sub-INT       INT

    DEV                   O       X      X              DEV           X           X           X

   Sub-INT     O          X       O      X            Sub-INT         X           X           X

     INT       X          O        -    O               INT           X

    REL        X          X       X      -
Label Strategy

Two types of Baseline will be used
•  Baseline : Attached to each asset when the code of the asset
 is released
 The use of naming rules to indicate the maturity level of
code is very useful
è _INT, _REL

•  Composite Baseline : A set of Baselines to reproduce all files
                         which compose a product
   - Keeps the labels of assets composing a product
   - Easily synchronizes all files of a product with a client workspace
 for developers who don’t know the combination of baselinesand
assets
   - Can also include composite baselines recursively
Label Strategy


                                                                          Include
       Composite                Include           Composite
                                                                                    Baseline of Asset A1
  Baseline of Product A                    Baseline of Asset Group A

                                                                                    Baseline of Asset A2
                                              Baseline of Asset C1

                                              Baseline of Asset C2

                                              Baseline of Asset P1




   Number       Project Name         Stream Name                     Depot Path                Label Name

     1         Core Asset C1               INT            //Core Asset_C/Project_C1/INT      C1_0420_Release

     2         Core Asset C2               INT            //Core Asset_C/Project_C2/INT      C2_0419_Release

     3        Custom Asset P1             Sub-INT      //CustomAsset_P/Project_P1/Sub-INT    P1_0420_Release

     4          Core Asset A1              INT            //Core Asset_A/Project_A1/INT      A1_0419_Release

     5          Core Asset A2              INT            //Core Asset_A/Project_A2/INT      A2_0419_Release
Integrating with the defect tracking tools

Change based modification should be enforced
  •  All work items such as Change Requests and Defect can be
     synchronized through Jobs in Perforce
  •  Synchronizing can be considered as one-way or two-way
     - One-way : Defect tracking tool can only change the job status
     - Two-way : Both Perforce and the Defect tracking tool can change
                  the job status
  •  The policy to verify the job status and whether it can be promoted
     - P4 broker can be a candidate to implement those policies
Integrating with the defect tracking tools


    Perforce                                            Defect Tracking Tool
                          Bidirectional Synchronizing
        Job                                                 DEFECT (CR,…)         Release Note


                              One-way Synchronizing
     Changelist                                               p4Change


                       File




                                     Sync.Gateway

      Server1 :1666
                                          Database




                                                                   <ClearQuest>
       Server2 :1666
    <Perforce>
Access control

On each asset (project), It’s own access control mechanism
is also required
  •  Set access control on each code-line by groups
  •  Freeze some code-lines during integrating and building. But,
   exceptional users can be allowed

                        Project                                      •  Default group and member is set,
  Create Group and                            Default Group
                        (Asset)	
                                      when a project is created	
  Assign developers

                                             Additional Groups
                                            Additional Groups                       •  Create a group, assign/release
                                            Additional Groups
                                                                       Project        developers on groups	
                                                                     administrator 	




Manage access control   No   Access Level     User/Group      Name                 Host   Path
  Table of a project
                        1    write            group           Default group         	
    //Depot/[Core_Prj]/...

                        2    read             group           Additional Group      	
    //Depot/[Core_Prj]/Mainline/CompA/…
Build and Release strategy

More complex than conventional development
 •  The difficulty is the combination of the right versions of the right assets
     - Every asset is changed continually
     - Each team has different rules when managing stable code
 •  Core assets should be released frequently and these also should
    be testified on all products
    - Building and testing on all products requires time and effort
 •  Miscommunication among the development teams
    - Major changes such as interface changes lack notification
    - The time when applying the change of asset can be disordered
Build and Release strategy

The followings should be clearly defined :
 •  All products should be built with the same rules how to combine
    the assets
 •  Daily builds on all products should be run, and the results of
    daily builds also are shared with all developers by indicating
    which assets were failed
 •  Periodically, the causes of the build error are analyzed and
    improved
Build and Release strategy

Daily Builds and release process can be depicted as the below
                                                                      Release Core
                 Daily Build                                                             Release Products
                                                                         Assets

                                                                                           Get the released
                                                          Success	
                          Core Assets
                   Daily Build              Build                       Runs Tests
                 ( All models )             Result
                                                 	
 Developer’s
   Builds                                                                                    Build & Test
                                                 Fail	
                                                                      Release the Core
 Integration                                                            assets with
    Builds                              Fix the error                     Baseline             Release


                                         Run builds



               Build management                                         Core Assets             Product’s
                     System                                               Builders              Builders




  Run the CI   Run the daily      Indentify and fix the
    builds        builds              daily builds
Build and Release strategy

The following features can be supported by build automation tool
 •  Synchronize
   - the latest label of each asset
   - the latest composite baseline of a product
   - the specific label/changelist of each asset
 •  Make a baseline
   - each asset
   - a composite baseline of a product
 •  Integrate codes into the upper branch and make a baseline
   after the build was completed successfully
   - Builds è Unit Test è Integrate Codes è Make a baseline
   - Automatically generates the release notes of each asset
      with P4 jobs which gathered from the defect tracking tools

Más contenido relacionado

La actualidad más candente

Value Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge MgtValue Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge MgtArnaldo Colombo
 
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Nesma
 
IT and Business Alignment - Mapping the Physical, Virtual and Business Worlds
IT and Business Alignment - Mapping the Physical, Virtual and Business WorldsIT and Business Alignment - Mapping the Physical, Virtual and Business Worlds
IT and Business Alignment - Mapping the Physical, Virtual and Business WorldsNovell
 
Tivoli Live - what's in it for you?
Tivoli Live - what's in it for you?Tivoli Live - what's in it for you?
Tivoli Live - what's in it for you?IBM Danmark
 
Cics Explorer April 2009
Cics Explorer April 2009Cics Explorer April 2009
Cics Explorer April 2009CICS ROADSHOW
 
Estimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a frameworkEstimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a frameworkNesma
 
mcAMDOIS - CAPI
mcAMDOIS - CAPImcAMDOIS - CAPI
mcAMDOIS - CAPImcAMDOIS
 
System Center And Sql Server
System Center And Sql Server System Center And Sql Server
System Center And Sql Server Eduardo Castro
 
OpenStack storage new and upcoming from IBM Research
OpenStack storage   new and upcoming from IBM ResearchOpenStack storage   new and upcoming from IBM Research
OpenStack storage new and upcoming from IBM ResearchClaude Riousset
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyIBM
 
Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...
Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...
Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...Novell
 
Scug nov system center day
Scug nov system center dayScug nov system center day
Scug nov system center dayKurt Van Hoecke
 
Change Manager Datasheet | Database Change Management
Change Manager Datasheet | Database Change ManagementChange Manager Datasheet | Database Change Management
Change Manager Datasheet | Database Change ManagementEmbarcadero Technologies
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornmentSpiffy
 
TERMINALFOUR t44u 2012 - Product roadmap
TERMINALFOUR t44u 2012 - Product roadmapTERMINALFOUR t44u 2012 - Product roadmap
TERMINALFOUR t44u 2012 - Product roadmapTerminalfour
 
Optimize your infrastructure with IBM Virtualization Solutions
Optimize your infrastructure with IBM Virtualization SolutionsOptimize your infrastructure with IBM Virtualization Solutions
Optimize your infrastructure with IBM Virtualization SolutionsIBM India Smarter Computing
 
Design Management with RSA 8.5: Effective Collaboration for Better Design
Design Management with RSA 8.5: Effective Collaboration for Better DesignDesign Management with RSA 8.5: Effective Collaboration for Better Design
Design Management with RSA 8.5: Effective Collaboration for Better DesignRoger Snook
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1SOA Symposium
 

La actualidad más candente (20)

Value Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge MgtValue Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge Mgt
 
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
 
IT and Business Alignment - Mapping the Physical, Virtual and Business Worlds
IT and Business Alignment - Mapping the Physical, Virtual and Business WorldsIT and Business Alignment - Mapping the Physical, Virtual and Business Worlds
IT and Business Alignment - Mapping the Physical, Virtual and Business Worlds
 
Tivoli Live - what's in it for you?
Tivoli Live - what's in it for you?Tivoli Live - what's in it for you?
Tivoli Live - what's in it for you?
 
Cics Explorer April 2009
Cics Explorer April 2009Cics Explorer April 2009
Cics Explorer April 2009
 
Estimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a frameworkEstimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a framework
 
mcAMDOIS - CAPI
mcAMDOIS - CAPImcAMDOIS - CAPI
mcAMDOIS - CAPI
 
System Center And Sql Server
System Center And Sql Server System Center And Sql Server
System Center And Sql Server
 
Cloud Computing and ROI
Cloud Computing and ROICloud Computing and ROI
Cloud Computing and ROI
 
OpenStack storage new and upcoming from IBM Research
OpenStack storage   new and upcoming from IBM ResearchOpenStack storage   new and upcoming from IBM Research
OpenStack storage new and upcoming from IBM Research
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindsey
 
Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...
Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...
Rules, Rules, Rules: Proactively Automate Management of the Service Infrastru...
 
Scug nov system center day
Scug nov system center dayScug nov system center day
Scug nov system center day
 
Change Manager Datasheet | Database Change Management
Change Manager Datasheet | Database Change ManagementChange Manager Datasheet | Database Change Management
Change Manager Datasheet | Database Change Management
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
 
TERMINALFOUR t44u 2012 - Product roadmap
TERMINALFOUR t44u 2012 - Product roadmapTERMINALFOUR t44u 2012 - Product roadmap
TERMINALFOUR t44u 2012 - Product roadmap
 
Optimize your infrastructure with IBM Virtualization Solutions
Optimize your infrastructure with IBM Virtualization SolutionsOptimize your infrastructure with IBM Virtualization Solutions
Optimize your infrastructure with IBM Virtualization Solutions
 
Master Epm
Master EpmMaster Epm
Master Epm
 
Design Management with RSA 8.5: Effective Collaboration for Better Design
Design Management with RSA 8.5: Effective Collaboration for Better DesignDesign Management with RSA 8.5: Effective Collaboration for Better Design
Design Management with RSA 8.5: Effective Collaboration for Better Design
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1
 

Similar a Configuration and Build Management of Product Line Development with Perforce

Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar ddls sydney 22 nov 2012DDLS
 
EBS and PDH, a comparision
EBS and PDH, a comparisionEBS and PDH, a comparision
EBS and PDH, a comparisionLarry Sherrod
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilRoopa Nadkarni
 
What next in the agile world - Alan Shalloway
What next in the agile world - Alan ShallowayWhat next in the agile world - Alan Shalloway
What next in the agile world - Alan ShallowayAGILEMinds
 
Verdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBM
Verdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBMVerdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBM
Verdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBMIBM Danmark
 
IBM Rational Software Conference 2009 Day 2 Keynote: Al Zollar
IBM Rational Software Conference 2009 Day 2 Keynote: Al ZollarIBM Rational Software Conference 2009 Day 2 Keynote: Al Zollar
IBM Rational Software Conference 2009 Day 2 Keynote: Al ZollarKathy (Kat) Mandelstein
 
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...lseinturier
 
CloudStack Intro NYC
CloudStack Intro NYCCloudStack Intro NYC
CloudStack Intro NYCke4qqq
 
10 Minute Overview of Apache CloudStack
10 Minute Overview of Apache CloudStack10 Minute Overview of Apache CloudStack
10 Minute Overview of Apache CloudStackke4qqq
 
Vault Manufacturing 2010 Whats New
Vault Manufacturing 2010 Whats NewVault Manufacturing 2010 Whats New
Vault Manufacturing 2010 Whats NewMike Grant
 
Vault 2011 Family Comparison Matrix Us
Vault 2011 Family Comparison Matrix UsVault 2011 Family Comparison Matrix Us
Vault 2011 Family Comparison Matrix UsApplied Engineering
 
Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06kowost
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
CASE tools_Se lect15 btech
CASE tools_Se lect15 btechCASE tools_Se lect15 btech
CASE tools_Se lect15 btechIIITA
 
Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Juanchi_43
 

Similar a Configuration and Build Management of Product Line Development with Perforce (20)

Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012Microsoft sccm 2012 seminar   ddls sydney 22 nov 2012
Microsoft sccm 2012 seminar ddls sydney 22 nov 2012
 
EBS and PDH, a comparision
EBS and PDH, a comparisionEBS and PDH, a comparision
EBS and PDH, a comparision
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
What next in the agile world - Alan Shalloway
What next in the agile world - Alan ShallowayWhat next in the agile world - Alan Shalloway
What next in the agile world - Alan Shalloway
 
Verdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBM
Verdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBMVerdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBM
Verdens bedste BPM-platform leveret som cloud, Christian A. Givskov, IBM
 
IBM Rational Software Conference 2009 Day 2 Keynote: Al Zollar
IBM Rational Software Conference 2009 Day 2 Keynote: Al ZollarIBM Rational Software Conference 2009 Day 2 Keynote: Al Zollar
IBM Rational Software Conference 2009 Day 2 Keynote: Al Zollar
 
6 chap
6 chap6 chap
6 chap
 
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud InfrastructurePrivate Cloud Day Session 1: Building your Private Cloud Infrastructure
Private Cloud Day Session 1: Building your Private Cloud Infrastructure
 
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
 
CloudStack Intro NYC
CloudStack Intro NYCCloudStack Intro NYC
CloudStack Intro NYC
 
10 Minute Overview of Apache CloudStack
10 Minute Overview of Apache CloudStack10 Minute Overview of Apache CloudStack
10 Minute Overview of Apache CloudStack
 
Vault Manufacturing 2010 Whats New
Vault Manufacturing 2010 Whats NewVault Manufacturing 2010 Whats New
Vault Manufacturing 2010 Whats New
 
Oracle Data Warehouse
Oracle Data WarehouseOracle Data Warehouse
Oracle Data Warehouse
 
Oracle Warehouse
Oracle WarehouseOracle Warehouse
Oracle Warehouse
 
Vault 2011 Family Comparison Matrix Us
Vault 2011 Family Comparison Matrix UsVault 2011 Family Comparison Matrix Us
Vault 2011 Family Comparison Matrix Us
 
Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06Ibm rational-eclipse-demo camp-2012-06
Ibm rational-eclipse-demo camp-2012-06
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
CASE tools_Se lect15 btech
CASE tools_Se lect15 btechCASE tools_Se lect15 btech
CASE tools_Se lect15 btech
 
Was liberty
Was libertyWas liberty
Was liberty
 
Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012Configurando Private Cloud con System Center 2012
Configurando Private Cloud con System Center 2012
 

Más de Perforce

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsPerforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsPerforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessPerforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsPerforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowPerforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldPerforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterprisePerforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMPerforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Perforce
 

Más de Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 

Último

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Último (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

Configuration and Build Management of Product Line Development with Perforce

  • 1. Configuration and build management of Product line development Steve Kim (Sungchul Kim) Principal Engineer Samsung SDS ( sungchul3.kim@samsung.com )
  • 2. AGENDA Product-line development •  Definition •  Considerations Usage models •  Depot structure •  Branch Strategy •  Baseline Strategy •  Integration with defect tracking tools & process •  Build and Release Demo
  • 3. Ch1. Product line development
  • 4. Introduction Enhance the efficiency of SW development when multiple products are to be developed simultaneously •  Higher productivity •  Higher quality •  Faster time to market •  Lower labor needs Many methods and practices are introduced •  S/W Reuse •  Component-based development •  Product line engineering ( Product family engineering )
  • 5. Introduction Variation management is a key element to distinguish the other development process •  Reusable S/W Architecture •  Separated teams and responsibilities •  The governance enforcing S/W reused The usage model of configuration and build management on product line development will be introduced •  Code structure •  Branch strategy •  Label strategy •  Change management •  Build and Release management
  • 6. Definition Definition of Product-line development •  A set of related products are produced through the combination of reused core assets together with product specific custom assets [ Adapted from “General configuration management and asset evolution model for software product line”, Softwareproductlines.com ] Artifacts under configuration management Core Assets Core Asset Core Asset Software Architecture Core Asset Composed Teams for Core Assets mapping Team A TeamB TeamC Production Custom Assets Custom Custom Custom Asset Product Instances Asset Asset Teams for Custom Assets
  • 7. Definition [ A Configuration Management Model for Software Product Line, Liguo Yu and Srini Ramaswamy, 2006 ] Terms Definition Component The basic unit for configuration management A collection of components. An asset may contain one or Asset more components Contains a set of domain specific but application independent Core Asset components that can be adapted and reused in various related products. Custom asset Contains a set of application specific components A collection of core assets and custom assets. Product Products share the same or similar core assets. After a new product is produced, it may also need to be Product configuration managed. The product under configuration instance management is called product instance.
  • 8. Definition Variation management for Software Product-line •  Variation in time and space •  Divided into nine smaller issues and suggest the solution for each issue [ Nine Sub-problems of Variation management, Charles W. Krueger ] Variation Type Sequential Time Parallel Time Domain Space Granularity Basic Configuration Management Files Version Branch Variation Point Management Management Management Branched Baseline Customization Components Management Baseline Management Management Branched Customization Composition Products Management Composition Composition Management Management Component Composition Software Mass Customization
  • 9. Ch2. Usage model of configuration and build management
  • 10. Considerations Considerations when you implement the usage model •  The code structure of repository to manage both a common assets and variant assets •  Branch strategy for enforcing the development process •  Baseline strategy for tagging each asset and a whole product •  Integration with defect tracking tools •  Daily Build and Release process
  • 11. Depot Structure Depot Structure can be considered by the followings •  SW architecture •  The structure of the development team ( Single vs Multiple teams ) •  The access control policy Software Architecture Depot Structure Workspace Depot Branch/Directory Branch/Directory Manage Component A Directory Composed the change Depot by on Branch/Directory Branch/Directory Component B Directory •  Each depot holds one asset •  One depot holds all assets •  One depot holds multiple assets by the characteristics of assets
  • 12. Depot Structure Each asset is coded and then released by a team. All code of an asset are managed by a project. •  A management unit to control all activities related to an asset •  Using naming rules, you can distinguish a directory from a branch ( “PRJ_”, “[ ] “ ) •  Grouping related projects with directory can be used Depot holds several projects in which the code for assets are managed Directory can be used to group the related projects - Year, Organization unit ( HQ, Oversea labs )
  • 13. Depot Structure Additional data is also needed to maintain a Project. •  Project data including Name, Description, Depot path •  Branches and the hierarchy of branches which belong to a project •  The administrators of each project. They are in charge of assigning new developers and making a baseline for releasing an asset •  The policy which controls integrating flow and locks the branches •  Sometimes, the protection table of each project can also be managed These can be stored in a depot or other storage such as a database
  • 14. Code-line (Branch) Strategy Sophisticated Code-line strategy is required •  The size of team is getting bigger •  The quality requirement of assets is getting higher The quality requirement of assets •  Core Assets is higher than Custom assets [Project name] § The changes gathered from the lower branches are built with the other assets Stable Mainline § Test activities are performed § Release baseline is tagged Integrate § The changes gathered from the lower branches Maturity of Sub-Code-line are reviewed and integrated the code Rebased § If the members of a team are small, it can be Integrate optional Developer’s Code-lines § The codes are submitted with linking jobs Rebased § The changelists are integrated into the upper Unstable branch
  • 15. Branch Strategy Sparse branching is a good solution to avoid integrating the files which are not changed in the developer’s branch 2 3 Rebase the changes into Integrate Dev-One Dev-One to Mainline - Refer to KB #1166 1 Only Module 1 is branched [ View spec using Sparse branching ] - Refer to KB #890 //Core_Assets/PRJ_Core_Asset/Mainline/… //wk/Core_Asset1/..." +//Core_Assets/PRJ_Core_Asset/Dev_One/ComponentA/Module1/... //wk/Core_Asset1/Module1/...
  • 16. Branch Strategy Policies to govern the activities of a project are controlled •  Submitting : ( P4 Trigger ) - Linked with at least one job ( Activity based change management ) •  Integrating : ( P4 Broker ) - The status of jobs linked with changelists is verified - Rebase the integrated codes from the target branch before integrating - The integrating flow is controlled ( refer to the below tables ) O : Allowed, X : Disallowed, : Configured depends on each project 1. Inner project 2. Between the projects From/To DEV Sub-INT INT REL From/To DEV Sub-INT INT DEV O X X DEV X X X Sub-INT O X O X Sub-INT X X X INT X O - O INT X REL X X X -
  • 17. Label Strategy Two types of Baseline will be used •  Baseline : Attached to each asset when the code of the asset is released The use of naming rules to indicate the maturity level of code is very useful è _INT, _REL •  Composite Baseline : A set of Baselines to reproduce all files which compose a product - Keeps the labels of assets composing a product - Easily synchronizes all files of a product with a client workspace for developers who don’t know the combination of baselinesand assets - Can also include composite baselines recursively
  • 18. Label Strategy Include Composite Include Composite Baseline of Asset A1 Baseline of Product A Baseline of Asset Group A Baseline of Asset A2 Baseline of Asset C1 Baseline of Asset C2 Baseline of Asset P1 Number Project Name Stream Name Depot Path Label Name 1 Core Asset C1 INT //Core Asset_C/Project_C1/INT C1_0420_Release 2 Core Asset C2 INT //Core Asset_C/Project_C2/INT C2_0419_Release 3 Custom Asset P1 Sub-INT //CustomAsset_P/Project_P1/Sub-INT P1_0420_Release 4 Core Asset A1 INT //Core Asset_A/Project_A1/INT A1_0419_Release 5 Core Asset A2 INT //Core Asset_A/Project_A2/INT A2_0419_Release
  • 19. Integrating with the defect tracking tools Change based modification should be enforced •  All work items such as Change Requests and Defect can be synchronized through Jobs in Perforce •  Synchronizing can be considered as one-way or two-way - One-way : Defect tracking tool can only change the job status - Two-way : Both Perforce and the Defect tracking tool can change the job status •  The policy to verify the job status and whether it can be promoted - P4 broker can be a candidate to implement those policies
  • 20. Integrating with the defect tracking tools Perforce Defect Tracking Tool Bidirectional Synchronizing Job DEFECT (CR,…) Release Note One-way Synchronizing Changelist p4Change File Sync.Gateway Server1 :1666 Database <ClearQuest> Server2 :1666 <Perforce>
  • 21. Access control On each asset (project), It’s own access control mechanism is also required •  Set access control on each code-line by groups •  Freeze some code-lines during integrating and building. But, exceptional users can be allowed Project •  Default group and member is set, Create Group and Default Group (Asset) when a project is created Assign developers Additional Groups Additional Groups •  Create a group, assign/release Additional Groups Project developers on groups administrator Manage access control No Access Level User/Group Name Host Path Table of a project 1 write group Default group //Depot/[Core_Prj]/... 2 read group Additional Group //Depot/[Core_Prj]/Mainline/CompA/…
  • 22. Build and Release strategy More complex than conventional development •  The difficulty is the combination of the right versions of the right assets - Every asset is changed continually - Each team has different rules when managing stable code •  Core assets should be released frequently and these also should be testified on all products - Building and testing on all products requires time and effort •  Miscommunication among the development teams - Major changes such as interface changes lack notification - The time when applying the change of asset can be disordered
  • 23. Build and Release strategy The followings should be clearly defined : •  All products should be built with the same rules how to combine the assets •  Daily builds on all products should be run, and the results of daily builds also are shared with all developers by indicating which assets were failed •  Periodically, the causes of the build error are analyzed and improved
  • 24. Build and Release strategy Daily Builds and release process can be depicted as the below Release Core Daily Build Release Products Assets Get the released Success Core Assets Daily Build Build Runs Tests ( All models ) Result Developer’s Builds Build & Test Fail Release the Core Integration assets with Builds Fix the error Baseline Release Run builds Build management Core Assets Product’s System Builders Builders Run the CI Run the daily Indentify and fix the builds builds daily builds
  • 25. Build and Release strategy The following features can be supported by build automation tool •  Synchronize - the latest label of each asset - the latest composite baseline of a product - the specific label/changelist of each asset •  Make a baseline - each asset - a composite baseline of a product •  Integrate codes into the upper branch and make a baseline after the build was completed successfully - Builds è Unit Test è Integrate Codes è Make a baseline - Automatically generates the release notes of each asset with P4 jobs which gathered from the defect tracking tools