Download presentation
Presentation is loading. Please wait.
Published byReginald Cannon Modified over 6 years ago
1
Branching Strategies for Web Development: Functionality vs. Content
C. Thomas Tyler Go2Group © 2004 IBM Corporation
2
Branching Strategies for Web Development: Functionality vs. Content
Agenda Traditional SCM Problems and Solutions -- a Review Common Branching Paradigm for Web Development Modern Solutions: Branching & Merging with Tools Web Development -- Changes to SCM Challenges Web Development Solutions
3
$ Review of Traditional SCM Problems & Solutions
Need for Branching Strategies Need to Maintain Multiple Old Releases Need for Effective Concurrent Development Isolation & Integration Change Propagation Dev $ Resource Optimization QA UAT
4
Prehistoric Solutions:
Floppy Disks Pens “Yellow Stickies”
5
Main (Initial Baseline)
Modern Solutions: Branching & Merging with Tools Main (Initial Baseline) Project B R1.0-Maint Branch (Copy) Branch (Copy) 1.0 Project A Merge (Integrate) Dev 1.1 1.0.1 Branch (Copy) Dev Initial QA QA Merge (Integrate) Merge (Integrate) 1.0.3 1.5 Merge (Integrate) Integration & QA Project C R2.0-Maint Branch (Copy) 2.0 UAT 2.2 Support Dropped
6
Main (Initial Baseline)
Modern Solutions: Rational ClearCase CS Samples Main (Initial Baseline) Project B R1.0-Maint Branch (Copy) 1.0 Merge (Integrate) 1.1 1.0.1 element * CHECKEDOUT element * /main/ProjB/LATEST element * REL1.0 –mkbranch ProjB element * /main/LATEST –mkbranch ProjB element * CHECKEDOUT element * /main/R1.0-Maint/LATEST element * REL1.0 –mkbranch R1.0-Maint element * /main/LATEST –mkbranch R1.0-Maint element * CHECKEDOUT element * /main/LATEST
7
Branching & Merging Strategies
Branching Patterns Infrastructure Changes Isolation vs. Dynamic Update Release Maintenance Concurrent Development 3rd Party Source Code Integration Branch Per Bug/ Tracked Issue Project-Oriented Branching
8
Changes to SCM Challenges
Web Development Changes to SCM Challenges Old Releases? What are they? Hosted Applications vs. Packaged & Shipped Software Need to Work Well with Automated Workflow Mindset Requirements Managed and Tracked Enhancements and Bugs Managed and Tracked Branch Strategy Works in context of Integrated Tool Solutions
9
Changes to SCM Challenges
Web Development (Continued) Changes to SCM Challenges Branching Requirements Deliver Well-Tested Functionality in Scheduled Releases Deliver Constant Content Changes Need to Rethink the Risk Proposition
10
Changes to SCM Challenges (Cont’d)
Web Development Changes to SCM Challenges (Cont’d) More Concurrent Development Less hierarchical systems (more component-based) SCM-Savvy Workforce Better Object reuse, etc. Need for Fast Pace of Delivery (the “Me Too” Requirement)
11
Web Development Solutions
Common Branching Paradigm: Project-Oriented Branching (A variant of the Mainline Model) Two Paths to Production Pr Production tion
12
Main (Initial Baseline)
Project-Oriented Branching – Traditional Main (Initial Baseline) Project B R1.0-Maint Branch (Copy) Branch (Copy) 1.0 Project A Merge (Integrate) Dev 1.1 1.0.1 Branch (Copy) Dev Initial QA QA Merge (Integrate) Merge (Integrate) 1.0.3 1.5 Merge (Integrate) Integration & QA Project C R2.0-Maint Branch (Copy) 2.0 UAT 2.2 Support Dropped
13
Project-Oriented Branching – Hosted Production
Main (Initial Baseline) Project A Production (Hosted Applications) Project B Dev Dev Production Hot Fix Initial QA QA Regularly Scheduled Integration (Early & Often) Integration & QA Project C UAT
14
Two Paths to Production
Rethinking the Risk Proposition … Failure just Might be an Option
15
Two Paths to Production Content vs. Functionality
“Content” – Articles, Polls, Surveys, Look & Feel Changes Either JSP, ASP, HTML or Commodity Code Doesn’t need QA beyond “Buddy System Checks” “Functionality” – Everything more complicated than “Content” Requires Rigorous QA Testing and Formal Release Process
16
Project-Oriented Branching – Two Paths
Main (Initial Baseline) Project A Production (Hosted Applications) Project B Refresh Merge (Content) Dev Dev Production Hot Fix Initial QA Refresh Merge (Content) QA Code Freeze for Affected Content Regularly Scheduled Integration (Early & Often) Integration & QA Project C Refresh Merge (Content) Code Freeze for Affected Content UAT Code Freeze for Affected Content
17
Branching Strategies for Web Development: Functionality vs. Content
Presentation Review Traditional SCM Problems and Solutions Common Branching Paradigm for Web Development Modern Solutions: Branching & Merging with Tools Web Development -- Changes to SCM Challenges Web Development Solutions -- Project-Oriented Branching Two Paths to Production Modern Solutions: Branching & Merging with Tools Web Development -- Changes to SCM Challenges Web Development Solutions -- Project-Oriented Branching Two Paths to Production
18
QUESTIONS
19
Thank You C. Thomas Tyler Go2Group
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.