SlideShare a Scribd company logo
1 of 24
Download to read offline
Implementation of an Agile Process
   for Multiple Teams Using SVN
   Dr. Alexander Schwartz




June 11, 2010
About ...

Alexander Schwartz               mobile.international
                                  mobile.international belongs to eBay        Other marketplaces
20+ years in IT industry          Main platform: mobile.de                       •   RO: mobile.ro
                                     • Biggest market place for                   •   PL: pl.mobile.eu
                                       automobiles in germany.                    •   FR: ebay-automobile.fr
        „used to be developer“                                                    •   IT: ebay-automobile.it
                                     • One of the top-10 websites in
                                       germany; 49 million visitor per moth

  Software Development                 (IVW 02/2009)

  Developer (C, C++, Java)

  Tech Lead, Project Lead

  Consultant, Trainer

  Certified Scrum Master




  Release Manager

  Build Manager

  Agile Configuration Manager

  Agile Test Automation




Alex Schwartz                                                                                                  2
Outline

                                                     Our
                                                     experiences
                                    Agile             with SVN
                                    Development
                                    Scrum, Kanban,
          Agile Dev w/              Lean
          Branches?


   NO !                   YES!                       Our branching
                                                        pattern
                Lean Release               Release
                 Approaches                Mgmt             Dev
                                                          Process

                          Agile Configuration Mgmt



Alex Schwartz                                                        3
Agile Development & Configuration Management




Dreilinden, April 30, 2010
Oliver Lorenz                                     4
Agile Process & “DONE”




                          potentially shippable
                             product increment


                            It’s “DONE”.




Alex Schwartz                                     5
Definition of Done (DoD)




                Source: Gupta, Definition of Done: A Reference




Alex Schwartz                                                    6
Agile & Branching?



                      DONE =
                       releasable




                         Agile Branching Approach #1
                         Avoid the use of branches.

                         (Branches are not necessary
                          since all features are done.)




Alex Schwartz                                             7
The Usual Quality Gap
   Real World:                                     Ideal World:
   done means                                      DONE = releasable
   „still a lot to do“

                                               ?
 ►Process: Waterfall                               ►Process: Integrated Test Activities

                    Development   Test                                    Development     T
                                                                          Test

►Progress of Quality                               ►Progress of Quality

                                                        Releasable
    Releasable
              ...
                                                                  ...                     Release
                                                                        Mainline          Codeline
                                                     Feature tested
 Feature tested                     Release
              ...                   Codeline                      ...
                    Mainline                        Unit tests green
Unit tests green
                                                          Compiles
      Compiles



   Alex Schwartz                                                                                     8
How to improve the common sence of DONE?

  Many Aspects                                   Strategy - Blue or the red pill?
   Process                                                                   Strategy A:
   Tools                                                                        Brute force
   Infrastructure
   Skills                                                                       Strategy B:
   Mind set                                                                        Step by step
            • „QA as Quality Police“
            • Developer: „I am not responsible
                for quality.“                    Action #1
                                                 Evangalize!       (firm + carefully)
                                                 • Explain the need for an improved „done“ to all
  As member of an agile team, I am                 stakeholders. Convince first developers.
  responisble to deliver value to the
                                                 • Make tiny first steps for improvement
  customer in time and quality.
                                                   + get commitment
                                                 • Clarify requirements for Release Management, etc.
                                                   (Often, we overdo!)


Alex Schwartz                                                                                          9
Our Code & Architecture

 Architecture:                     •       Java + Spring
 Ebay like „pillar architecture“   •       MySQL + replication
 = separate major use cases        •       Build with Maven
                                   •       All code is built, packaged,
                                           deployed + tested all
                                           together

                                   •       In numbers:
                                       –       NLOC:         ~ 1 million
                                       –       #modules:     ~ 120
                                       –       #apps:        ~ 50
                                       –       #servers:     ~ 500


Alex Schwartz                                                              10
Phase 1 of Our Scrum Transition
►CM: Mainline                                              Situation Q2 2008
development                                                •    parallel development with multiple
                                                                distributed teams
                                                           •    50+ participants (25+ new/external)
                                             Part-time     •    10+ teams of different size
                                             assignement   •    New marketplaces + apps
                                                           •    One big codebase
                                        Test system

►Process: SCRUM with waterfall QA                          Experiences
           Development      Test                               We delivered. (Almost in time.)
                                                               Reduced external and internal
►Progress of Quality (Done ...)                                quality + increased technical debt
                                                               Reduced test coverage.
                                                               Main impediment: low quality of
                                  Release
                                  Codeline
                                                               trunk blocks many teams.
             Mainline
                                                               No one feels responsible for bugs.

 Alex Schwartz                                                                                      11
Use branches for agile development?

                Yes,
                it can make sense to use branches
                in the context of agile development
                with multiple teams.


 Henrik Kniberg:




                http://www.infoq.com/articles/agile-version-control


Alex Schwartz                                                         12
How we do it..
                                                                    Quality Gate:
  Action #2                                  Quality Gate:           releasable
                                            ready for trunk
  New Policies
                                            (< releasable)
  • Every project teams develops in a
    project branch.
  • No commits in the mainline.
  • Every contribution for the mainline
    (and the next release) has to satisfy
    the conditions of a Quality Gate.


                                                              Dev    Test
                                                                                    Test




Alex Schwartz                                                                              13
Phase 2 of Our Scrum Transition: Project Branches
►CM: Project
                                                            Experiences
branches
                                                             Increased quality of TRUNK.
                                              Part-time
                                              assignement    Increased release flexibility
                                                             Increased release reliability
                                                             Increased release „throuput“
                                                             Increased responsibility
                                                             Increased understanding of DONE
►Process: SCRUM with small waterfall + big waterfall
                                                             Increased integration of testers (some
                    Dev   Test
                                       Test                  teams)
                                                             Small waterfall (some teams)
►Progress of Quality (Done ...)                              Merge overhead
                                                             Long R-test phase
                                                             Merge risks  re-test in R-test phase
                                  Release                    Still a QA bottleneck
             Mainline             Codeline
                                                             Problem: completeness of test
                                                             environments  re-test in R-test phase

 Alex Schwartz                                                                                        14
Phase 3 of Our Scrum Transition:
►CM: Project                                           Action #3
branches
                                                       • Reduced regression test phase lenght +
                                                         team size.
                                                       • Testers are assigned to their project team,
                                                         rather than to the R-test team.
                                                       • Be more strict: Verify the conditions of the
                                                         Quality Gate.

►Process: SCRUM with small waterfall + big waterfall   Experiences
                     Dev    Test
                                   Test                  More conditions of quality gates
                                                         satisfied.
                                                         Decreased r-test phase length.
►Progress of Quality (Done ...)
                                                         Increased understanding of DONE
                                                         Increased integration of testers
                                    Release
                                    Codeline             (most teams)
                 Mainline
                                                         Too big contributions
                                                         Too low external quality
                                                         Merge bugs
 Alex Schwartz                                                                                          15
What about Continuous Integration?

                Continuous Integration = 2 concepts


(a) Continuous publish of small      (b) Continuous build
    changes for every active              ... unit testing
    codeline.                             ... packaging
                                          ... verification
                                          ... deployment in test system
                                          ... deployment in production
Rules:                                Rule:
•    Integrate changes from           Use Cont. Build+Test etc.
     TRUNK often                      for every active codeline.
•    Publish small chunks


Alex Schwartz                                                             16
What about Continuous Integration and Testing?

  Rule:
  Use Cont. Build+Test etc.
  for every active codeline.                                Challenges
                                                            - Create + maintain necessary infrastructure
                                                            - Who is maintaining it?
        Standard: Use...                                        central team vs. project teams
           •    Metrics: test coverage + more

        Advanced: Try to automate ...
           •    Verification criteria for Quality Gates
           •    Merges
           •    CM tasks (creation of branches + CI build
                configurations)
           •    Deployment
           •    DB Setup

        Monitoring
            Code Metrics (sonar.codehaus.org, ...)
            Branches + Merges
            Test system status
Alex Schwartz                                                                                              17
Our Experiences with SVN
Overall: Possible?              Yes, but we almost failed

Known tool                      
Documentation                   
Complexity of basic cmds        
Tool support around             
Browsing: FishEye               
Constant time branch creation   
Absence of bugs                 
Merging                         
•    Speed                      
•    Reliability                
•    Correctness                
•    Easy of use                
Alex Schwartz                                               18
Our Problems (1)


  •             General                             •   FishEye
                  –    Broken working copies             –    Too slow or too less content
                  –    Broken revisions on server        –    Major changes
                  –    Server too slow                   –    Not constant time bran
                  –    Incomplete updates                –    Indexing takes veryching
                                                         –    Hard to manipulate
  •             SVN replication
                  –    Replication failures
                  –    Dublicated revisions




Alex Schwartz                                                                         19
Our Problems (2) -- Merging

•            Too many!

•            SVN 1.5..... was a catastrophy
                    –   Merge tracking was too buggy
                    –   Q: Why merge tracking was
                        implemented for non-root
                        elements?
                    –   No single merge was working out of
                        the box!
                                              •      Reintegrate merges (diff merge)
•            Path replacements / evil twins            –    often not correct (not a copy!)
                                                       –    Option „--reintegrate“ does not work
                                              •      Catch-up merges (change set based merge)
                                                       –    Often not correct
                                                       –    Convinience invocation does not wo

    Alex Schwartz                                                                          20
Alternative Release Models – Our Release Cadence




                Question:
                Can we do better?




Alex Schwartz                                         21
The Lean Approach

 •              Focus on value stream




 •              Limit WIP (work in progress) ... since low WIP reduces cycle time
 •              Continous Deployment: Release often (several times a day !!!)
 •              Who is doing it?




 •              What about branching?

Alex Schwartz                                                                       22
The Lean Alternative to Branching: Feature Flags


       if (feature_C_enabled) {
         if (feature_B_enabled) ..

       •        No branches at all!




Alex Schwartz                                       23
References
                                                                   Other Resources
 Articles / Papers / Books
                                                                       CM Crossroads
       Henrik Kniberg:
        Version Control for Multiple Agile Teams                          www.cmcrossroads.com
       Steve Berczuk. Robert Cowham, Brad Appleton:                  ...
        An Agile Approach to Release Management
       Laura Wingerd, Christopher Seiwald:
        High-level Best Practices in Software Configuration Management
       Mayank Gupta:
         Definition of Done: A Reference, 2008
       Brad Appleton, Steve Berczuk, Ralph Cabrera, Robert Orenstein:
        Steamed Lines: Branching Patterns for Parallel Software Development
       Henrik Kniberg:
        Scrum And XP from the Trenches
       Lisa Crispin and Janet Gregory:
        Agile Testing
       Laura Wingerd:
        The Flow of Change




Alex Schwartz                                                                                    24

More Related Content

What's hot

Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleRyan McGuinness
 
How Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell TeamingHow Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell TeamingNovell
 
Adapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsAdapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsIBM UrbanCode Products
 
Successfully Migrate Cisco Call Manager 4x To 7x With a Proven Framework
Successfully Migrate Cisco Call Manager 4x To 7x  With a Proven FrameworkSuccessfully Migrate Cisco Call Manager 4x To 7x  With a Proven Framework
Successfully Migrate Cisco Call Manager 4x To 7x With a Proven Frameworkglamba
 
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012Jesse Robbins
 
CloudBees Toronto Presentation
CloudBees Toronto PresentationCloudBees Toronto Presentation
CloudBees Toronto PresentationXebiaLabs
 
Novell ZENworks Advanced Application Management
Novell ZENworks Advanced Application ManagementNovell ZENworks Advanced Application Management
Novell ZENworks Advanced Application ManagementNovell
 
Effective Linux Migration Processes
Effective Linux Migration ProcessesEffective Linux Migration Processes
Effective Linux Migration Processessheilamia
 
Avoiding Common Novell ZENworks Configuration Management Implementation Pitfalls
Avoiding Common Novell ZENworks Configuration Management Implementation PitfallsAvoiding Common Novell ZENworks Configuration Management Implementation Pitfalls
Avoiding Common Novell ZENworks Configuration Management Implementation PitfallsNovell
 
Accelerate to the Cloud
Accelerate to the CloudAccelerate to the Cloud
Accelerate to the CloudNovell
 
How Application Release Automation Powers DevOps
How Application Release Automation Powers DevOpsHow Application Release Automation Powers DevOps
How Application Release Automation Powers DevOpsXebiaLabs
 
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...Tathagat Varma
 
VMware - Snapshot sessions - Get a better insight in your infrastructure vCo...
VMware  - Snapshot sessions - Get a better insight in your infrastructure vCo...VMware  - Snapshot sessions - Get a better insight in your infrastructure vCo...
VMware - Snapshot sessions - Get a better insight in your infrastructure vCo...AnnSteyaert_vmware
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...David Currie
 
Building a Service-driven Enterprise Cloud
Building a Service-driven Enterprise CloudBuilding a Service-driven Enterprise Cloud
Building a Service-driven Enterprise CloudNovell
 
How to Maintain Software Appliances
How to Maintain Software AppliancesHow to Maintain Software Appliances
How to Maintain Software AppliancesNovell
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Anton Arhipov
 
Webinar on deployment automation Xebialabs - 15 sept 2010
Webinar on deployment automation  Xebialabs - 15 sept 2010Webinar on deployment automation  Xebialabs - 15 sept 2010
Webinar on deployment automation Xebialabs - 15 sept 2010XebiaLabs
 

What's hot (20)

Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise Scale
 
How Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell TeamingHow Partners Are Helping Customers with Novell Teaming
How Partners Are Helping Customers with Novell Teaming
 
Adapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsAdapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex Applications
 
Successfully Migrate Cisco Call Manager 4x To 7x With a Proven Framework
Successfully Migrate Cisco Call Manager 4x To 7x  With a Proven FrameworkSuccessfully Migrate Cisco Call Manager 4x To 7x  With a Proven Framework
Successfully Migrate Cisco Call Manager 4x To 7x With a Proven Framework
 
Asit_Resume
Asit_ResumeAsit_Resume
Asit_Resume
 
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
 
CloudBees Toronto Presentation
CloudBees Toronto PresentationCloudBees Toronto Presentation
CloudBees Toronto Presentation
 
Novell ZENworks Advanced Application Management
Novell ZENworks Advanced Application ManagementNovell ZENworks Advanced Application Management
Novell ZENworks Advanced Application Management
 
Effective Linux Migration Processes
Effective Linux Migration ProcessesEffective Linux Migration Processes
Effective Linux Migration Processes
 
Avoiding Common Novell ZENworks Configuration Management Implementation Pitfalls
Avoiding Common Novell ZENworks Configuration Management Implementation PitfallsAvoiding Common Novell ZENworks Configuration Management Implementation Pitfalls
Avoiding Common Novell ZENworks Configuration Management Implementation Pitfalls
 
Accelerate to the Cloud
Accelerate to the CloudAccelerate to the Cloud
Accelerate to the Cloud
 
How Application Release Automation Powers DevOps
How Application Release Automation Powers DevOpsHow Application Release Automation Powers DevOps
How Application Release Automation Powers DevOps
 
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
 
VMware - Snapshot sessions - Get a better insight in your infrastructure vCo...
VMware  - Snapshot sessions - Get a better insight in your infrastructure vCo...VMware  - Snapshot sessions - Get a better insight in your infrastructure vCo...
VMware - Snapshot sessions - Get a better insight in your infrastructure vCo...
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
 
Building a Service-driven Enterprise Cloud
Building a Service-driven Enterprise CloudBuilding a Service-driven Enterprise Cloud
Building a Service-driven Enterprise Cloud
 
How to Maintain Software Appliances
How to Maintain Software AppliancesHow to Maintain Software Appliances
How to Maintain Software Appliances
 
Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
 
Webinar on deployment automation Xebialabs - 15 sept 2010
Webinar on deployment automation  Xebialabs - 15 sept 2010Webinar on deployment automation  Xebialabs - 15 sept 2010
Webinar on deployment automation Xebialabs - 15 sept 2010
 

Similar to Implementation of an agile process for multiple teams using SVN

SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Lean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute EntrepreneursLean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute EntrepreneursClaudio Perrone
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotDerek Huether
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDay Software
 
Integrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesIntegrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesatlgopi
 
The BA role in Agile Development
The BA role in Agile Development The BA role in Agile Development
The BA role in Agile Development Agileee
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large EnterprisesSalesforce Developers
 
PMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First StepsPMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First StepsColm O'hEocha
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
Copenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusCopenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusKnowit_TM
 
Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!Aricent
 
Flexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedFlexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedSandy Mamoli
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Imaginet
 
Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...Endava
 
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaEndava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaFlorin Cardasim
 

Similar to Implementation of an agile process for multiple teams using SVN (20)

SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Lean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute EntrepreneursLean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute Entrepreneurs
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
 
Integrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slidesIntegrating agile in a waterfall world pmi 2012, full slides
Integrating agile in a waterfall world pmi 2012, full slides
 
Kanban Case Study
Kanban Case StudyKanban Case Study
Kanban Case Study
 
The BA role in Agile Development
The BA role in Agile Development The BA role in Agile Development
The BA role in Agile Development
 
How to Introduce Continuous Delivery
How to Introduce Continuous DeliveryHow to Introduce Continuous Delivery
How to Introduce Continuous Delivery
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large Enterprises
 
PMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First StepsPMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First Steps
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
Simple measurements
Simple measurementsSimple measurements
Simple measurements
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
Copenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusCopenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars Irenius
 
Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!
 
Flexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedFlexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts Explained
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012
 
Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
 
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaEndava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in Endava
 

More from Dr. Alexander Schwartz

Wrestling with Conway's Law: How to support cross-functional teams working on...
Wrestling with Conway's Law: How to support cross-functional teams working on...Wrestling with Conway's Law: How to support cross-functional teams working on...
Wrestling with Conway's Law: How to support cross-functional teams working on...Dr. Alexander Schwartz
 
#AT16VIE: Does Agile mean we have no time for testing?
#AT16VIE: Does Agile mean we have no time for testing?#AT16VIE: Does Agile mean we have no time for testing?
#AT16VIE: Does Agile mean we have no time for testing?Dr. Alexander Schwartz
 
Does agile mean having even less time for testing?!
Does agile mean having even less time for testing?!Does agile mean having even less time for testing?!
Does agile mean having even less time for testing?!Dr. Alexander Schwartz
 
User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)
User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)
User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)Dr. Alexander Schwartz
 
Hilfe, wir haben keine Zeit zum Testen!
Hilfe, wir haben keine Zeit zum Testen!Hilfe, wir haben keine Zeit zum Testen!
Hilfe, wir haben keine Zeit zum Testen!Dr. Alexander Schwartz
 
ScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneiden
ScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneidenScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneiden
ScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneidenDr. Alexander Schwartz
 
Ein neues Dojo: Anwendergeschichten zerschneiden
Ein neues Dojo: Anwendergeschichten zerschneidenEin neues Dojo: Anwendergeschichten zerschneiden
Ein neues Dojo: Anwendergeschichten zerschneidenDr. Alexander Schwartz
 
A New Dojo: The Art of Story Splitting
A New Dojo: The Art of Story SplittingA New Dojo: The Art of Story Splitting
A New Dojo: The Art of Story SplittingDr. Alexander Schwartz
 
DevOps in the Enterprise: Our Experiences at HERE/Nokia
DevOps in the Enterprise: Our Experiences at HERE/NokiaDevOps in the Enterprise: Our Experiences at HERE/Nokia
DevOps in the Enterprise: Our Experiences at HERE/NokiaDr. Alexander Schwartz
 
Wie verändert sich Testen mit Continuous Delivery?
Wie verändert sich Testen mit Continuous Delivery?Wie verändert sich Testen mit Continuous Delivery?
Wie verändert sich Testen mit Continuous Delivery?Dr. Alexander Schwartz
 
Help, we have no more time for testing! (gotoCon Berlin 2013)
Help, we have no more time for testing! (gotoCon Berlin 2013)Help, we have no more time for testing! (gotoCon Berlin 2013)
Help, we have no more time for testing! (gotoCon Berlin 2013)Dr. Alexander Schwartz
 
AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...
AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...
AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...Dr. Alexander Schwartz
 
Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Dr. Alexander Schwartz
 
How We Introduced Continuous Delivery?
How We Introduced Continuous Delivery?How We Introduced Continuous Delivery?
How We Introduced Continuous Delivery?Dr. Alexander Schwartz
 

More from Dr. Alexander Schwartz (20)

Wrestling with Conway's Law: How to support cross-functional teams working on...
Wrestling with Conway's Law: How to support cross-functional teams working on...Wrestling with Conway's Law: How to support cross-functional teams working on...
Wrestling with Conway's Law: How to support cross-functional teams working on...
 
#AT16VIE: Does Agile mean we have no time for testing?
#AT16VIE: Does Agile mean we have no time for testing?#AT16VIE: Does Agile mean we have no time for testing?
#AT16VIE: Does Agile mean we have no time for testing?
 
Does agile mean having even less time for testing?!
Does agile mean having even less time for testing?!Does agile mean having even less time for testing?!
Does agile mean having even less time for testing?!
 
User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)
User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)
User Stories Schneiden mit Elefanten-Carpaccio (Scrum-Day 2016)
 
Hilfe, wir haben keine Zeit zum Testen!
Hilfe, wir haben keine Zeit zum Testen!Hilfe, wir haben keine Zeit zum Testen!
Hilfe, wir haben keine Zeit zum Testen!
 
Change Dojo - Agile Testing Days 2015
Change Dojo - Agile Testing Days 2015Change Dojo - Agile Testing Days 2015
Change Dojo - Agile Testing Days 2015
 
ScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneiden
ScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneidenScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneiden
ScrumDay2015: Ein neues Dojo: Anwendergeschichten zerschneiden
 
Insights From Happy Change Agents
Insights From Happy Change AgentsInsights From Happy Change Agents
Insights From Happy Change Agents
 
Ein neues Dojo: Anwendergeschichten zerschneiden
Ein neues Dojo: Anwendergeschichten zerschneidenEin neues Dojo: Anwendergeschichten zerschneiden
Ein neues Dojo: Anwendergeschichten zerschneiden
 
A New Dojo: The Art of Story Splitting
A New Dojo: The Art of Story SplittingA New Dojo: The Art of Story Splitting
A New Dojo: The Art of Story Splitting
 
DevOps in the Enterprise: Our Experiences at HERE/Nokia
DevOps in the Enterprise: Our Experiences at HERE/NokiaDevOps in the Enterprise: Our Experiences at HERE/Nokia
DevOps in the Enterprise: Our Experiences at HERE/Nokia
 
Wie verändert sich Testen mit Continuous Delivery?
Wie verändert sich Testen mit Continuous Delivery?Wie verändert sich Testen mit Continuous Delivery?
Wie verändert sich Testen mit Continuous Delivery?
 
What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
 
Ripening of a RESTful API
Ripening of a RESTful APIRipening of a RESTful API
Ripening of a RESTful API
 
Help, we have no more time for testing! (gotoCon Berlin 2013)
Help, we have no more time for testing! (gotoCon Berlin 2013)Help, we have no more time for testing! (gotoCon Berlin 2013)
Help, we have no more time for testing! (gotoCon Berlin 2013)
 
AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...
AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...
AWS Ingredients for Deployment Patterns & the PBAPI canary-blue/green-hotstan...
 
Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!
 
How releasing faster changes testing
How releasing faster changes testingHow releasing faster changes testing
How releasing faster changes testing
 
How We Introduced Continuous Delivery?
How We Introduced Continuous Delivery?How We Introduced Continuous Delivery?
How We Introduced Continuous Delivery?
 
Kanban und DevOps bei Nokia
Kanban und DevOps bei NokiaKanban und DevOps bei Nokia
Kanban und DevOps bei Nokia
 

Recently uploaded

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 

Recently uploaded (20)

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 

Implementation of an agile process for multiple teams using SVN

  • 1. Implementation of an Agile Process for Multiple Teams Using SVN Dr. Alexander Schwartz June 11, 2010
  • 2. About ... Alexander Schwartz mobile.international  mobile.international belongs to eBay  Other marketplaces 20+ years in IT industry  Main platform: mobile.de • RO: mobile.ro • Biggest market place for • PL: pl.mobile.eu automobiles in germany. • FR: ebay-automobile.fr „used to be developer“ • IT: ebay-automobile.it • One of the top-10 websites in germany; 49 million visitor per moth  Software Development (IVW 02/2009)  Developer (C, C++, Java)  Tech Lead, Project Lead  Consultant, Trainer  Certified Scrum Master  Release Manager  Build Manager  Agile Configuration Manager  Agile Test Automation Alex Schwartz 2
  • 3. Outline Our experiences Agile with SVN Development Scrum, Kanban, Agile Dev w/ Lean Branches? NO ! YES! Our branching pattern Lean Release Release Approaches Mgmt Dev Process Agile Configuration Mgmt Alex Schwartz 3
  • 4. Agile Development & Configuration Management Dreilinden, April 30, 2010 Oliver Lorenz 4
  • 5. Agile Process & “DONE” potentially shippable product increment It’s “DONE”. Alex Schwartz 5
  • 6. Definition of Done (DoD) Source: Gupta, Definition of Done: A Reference Alex Schwartz 6
  • 7. Agile & Branching? DONE = releasable Agile Branching Approach #1 Avoid the use of branches. (Branches are not necessary since all features are done.) Alex Schwartz 7
  • 8. The Usual Quality Gap Real World: Ideal World: done means DONE = releasable „still a lot to do“ ? ►Process: Waterfall ►Process: Integrated Test Activities Development Test Development T Test ►Progress of Quality ►Progress of Quality Releasable Releasable ... ... Release Mainline Codeline Feature tested Feature tested Release ... Codeline ... Mainline Unit tests green Unit tests green Compiles Compiles Alex Schwartz 8
  • 9. How to improve the common sence of DONE? Many Aspects Strategy - Blue or the red pill?  Process  Strategy A:  Tools Brute force  Infrastructure  Skills  Strategy B:  Mind set Step by step • „QA as Quality Police“ • Developer: „I am not responsible for quality.“ Action #1 Evangalize! (firm + carefully) • Explain the need for an improved „done“ to all As member of an agile team, I am stakeholders. Convince first developers. responisble to deliver value to the • Make tiny first steps for improvement customer in time and quality. + get commitment • Clarify requirements for Release Management, etc. (Often, we overdo!) Alex Schwartz 9
  • 10. Our Code & Architecture Architecture: • Java + Spring Ebay like „pillar architecture“ • MySQL + replication = separate major use cases • Build with Maven • All code is built, packaged, deployed + tested all together • In numbers: – NLOC: ~ 1 million – #modules: ~ 120 – #apps: ~ 50 – #servers: ~ 500 Alex Schwartz 10
  • 11. Phase 1 of Our Scrum Transition ►CM: Mainline Situation Q2 2008 development • parallel development with multiple distributed teams • 50+ participants (25+ new/external) Part-time • 10+ teams of different size assignement • New marketplaces + apps • One big codebase Test system ►Process: SCRUM with waterfall QA Experiences Development Test We delivered. (Almost in time.) Reduced external and internal ►Progress of Quality (Done ...) quality + increased technical debt Reduced test coverage. Main impediment: low quality of Release Codeline trunk blocks many teams. Mainline No one feels responsible for bugs. Alex Schwartz 11
  • 12. Use branches for agile development? Yes, it can make sense to use branches in the context of agile development with multiple teams. Henrik Kniberg: http://www.infoq.com/articles/agile-version-control Alex Schwartz 12
  • 13. How we do it.. Quality Gate: Action #2 Quality Gate: releasable ready for trunk New Policies (< releasable) • Every project teams develops in a project branch. • No commits in the mainline. • Every contribution for the mainline (and the next release) has to satisfy the conditions of a Quality Gate. Dev Test Test Alex Schwartz 13
  • 14. Phase 2 of Our Scrum Transition: Project Branches ►CM: Project Experiences branches Increased quality of TRUNK. Part-time assignement Increased release flexibility Increased release reliability Increased release „throuput“ Increased responsibility Increased understanding of DONE ►Process: SCRUM with small waterfall + big waterfall Increased integration of testers (some Dev Test Test teams) Small waterfall (some teams) ►Progress of Quality (Done ...) Merge overhead Long R-test phase Merge risks  re-test in R-test phase Release Still a QA bottleneck Mainline Codeline Problem: completeness of test environments  re-test in R-test phase Alex Schwartz 14
  • 15. Phase 3 of Our Scrum Transition: ►CM: Project Action #3 branches • Reduced regression test phase lenght + team size. • Testers are assigned to their project team, rather than to the R-test team. • Be more strict: Verify the conditions of the Quality Gate. ►Process: SCRUM with small waterfall + big waterfall Experiences Dev Test Test More conditions of quality gates satisfied. Decreased r-test phase length. ►Progress of Quality (Done ...) Increased understanding of DONE Increased integration of testers Release Codeline (most teams) Mainline Too big contributions Too low external quality Merge bugs Alex Schwartz 15
  • 16. What about Continuous Integration? Continuous Integration = 2 concepts (a) Continuous publish of small (b) Continuous build changes for every active ... unit testing codeline. ... packaging ... verification ... deployment in test system ... deployment in production Rules: Rule: • Integrate changes from Use Cont. Build+Test etc. TRUNK often for every active codeline. • Publish small chunks Alex Schwartz 16
  • 17. What about Continuous Integration and Testing? Rule: Use Cont. Build+Test etc. for every active codeline. Challenges - Create + maintain necessary infrastructure - Who is maintaining it?  Standard: Use... central team vs. project teams • Metrics: test coverage + more  Advanced: Try to automate ... • Verification criteria for Quality Gates • Merges • CM tasks (creation of branches + CI build configurations) • Deployment • DB Setup  Monitoring  Code Metrics (sonar.codehaus.org, ...)  Branches + Merges  Test system status Alex Schwartz 17
  • 18. Our Experiences with SVN Overall: Possible? Yes, but we almost failed Known tool  Documentation  Complexity of basic cmds  Tool support around  Browsing: FishEye  Constant time branch creation  Absence of bugs  Merging  • Speed  • Reliability  • Correctness  • Easy of use  Alex Schwartz 18
  • 19. Our Problems (1) • General • FishEye – Broken working copies – Too slow or too less content – Broken revisions on server – Major changes – Server too slow – Not constant time bran – Incomplete updates – Indexing takes veryching – Hard to manipulate • SVN replication – Replication failures – Dublicated revisions Alex Schwartz 19
  • 20. Our Problems (2) -- Merging • Too many! • SVN 1.5..... was a catastrophy – Merge tracking was too buggy – Q: Why merge tracking was implemented for non-root elements? – No single merge was working out of the box! • Reintegrate merges (diff merge) • Path replacements / evil twins – often not correct (not a copy!) – Option „--reintegrate“ does not work • Catch-up merges (change set based merge) – Often not correct – Convinience invocation does not wo Alex Schwartz 20
  • 21. Alternative Release Models – Our Release Cadence Question: Can we do better? Alex Schwartz 21
  • 22. The Lean Approach • Focus on value stream • Limit WIP (work in progress) ... since low WIP reduces cycle time • Continous Deployment: Release often (several times a day !!!) • Who is doing it? • What about branching? Alex Schwartz 22
  • 23. The Lean Alternative to Branching: Feature Flags if (feature_C_enabled) { if (feature_B_enabled) .. • No branches at all! Alex Schwartz 23
  • 24. References Other Resources Articles / Papers / Books  CM Crossroads  Henrik Kniberg: Version Control for Multiple Agile Teams www.cmcrossroads.com  Steve Berczuk. Robert Cowham, Brad Appleton: ... An Agile Approach to Release Management  Laura Wingerd, Christopher Seiwald: High-level Best Practices in Software Configuration Management  Mayank Gupta: Definition of Done: A Reference, 2008  Brad Appleton, Steve Berczuk, Ralph Cabrera, Robert Orenstein: Steamed Lines: Branching Patterns for Parallel Software Development  Henrik Kniberg: Scrum And XP from the Trenches  Lisa Crispin and Janet Gregory: Agile Testing  Laura Wingerd: The Flow of Change Alex Schwartz 24