beyond scrum: scaling agile with continuous delivery and subversion
DESCRIPTION
How to go beyond traditional Scrum principles and scale to globally distributed teams with Continuous Delivery and Subversion. Presented by Andy Singleton of Assembla and Scott Rudenstein of WANdisco. Presented Nov. 15, 2012. 30 minutes.TRANSCRIPT
![Page 1: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/1.jpg)
Beyond Scrum: Scaling Agile with Continuous
Delivery and Subversion
Scott RudensteinDirector of Technical Sales
WANdisco
Andy SingletonCEO and Founder
Assembla
November 15, 2012
![Page 2: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/2.jpg)
WANdiscoTest Subversion MultiSite
Free for 15 days in your
Environment Register for a free MultiSite evaluation to learn how we can help you:
Greatly reduce development cycles
Guarantee zero downtime
Guarantee zero data loss
Ensure 24x7 global operation
www.wandisco.com/subversion/multisiteFeatured Customers
• Over 500,000 users in 100 countries
• Ticketing/task management• World’s best SVN host
(also Git and Perforce)
• Continuous Delivery: New initiative to build software at high speed and large scale
• New features for multi-team and continuous delivery
Information and 30-day free trials at https://www.assembla.com/
AssemblaCloud-based tools for
distributed Agile Development Teams
![Page 3: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/3.jpg)
Next Generation Agile – Andy Singleton
• Build software faster, at bigger scale• Not Scrum. Five out of six corporate agile projects
are using scrum• Appropriate for Web, SaaS, enterprise cloud, big data• Bring in teams and servers from around the world• Do it with simple on-demand services
• Facebook releases twice per day, including code from 600 developers per week. We can make this result commonplace
![Page 4: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/4.jpg)
Three Agile Use Cases
Your type tells you what to emphasize, what to ignore
Types:1. Developers with 3/6/12 month release cycles2. Multi-project developers / service providers3. Cloud application developers
![Page 5: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/5.jpg)
Cloud Apps Requirements
• Ten of twelve agile projects we interviewed use Scrum.
• Cloud app development typically has1. Distributed teams2. Multiple teams3. Frequent releases
• Some very large projects have scaled up successfully:– Facebook – Releases twice per day, pushing code from
600 developers per week– Google Android – manages code, not people, with
thousands of commercial contributors sending code for review
Inconsistent with scrum
![Page 6: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/6.jpg)
Scrum, Kanban, Scrumban
![Page 7: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/7.jpg)
Idealized Scrum Sprint
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
![Page 8: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/8.jpg)
Idealized Kanban Process
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
![Page 9: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/9.jpg)
Idealized ScrumBan Release
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
![Page 10: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/10.jpg)
Real release – Constant Contact
![Page 11: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/11.jpg)
Continuous Delivery
![Page 12: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/12.jpg)
Testing Iterative Releases
Contributor 1Solo or Team
Contributor 2Solo or Team
ReleaseCandidate
Test SystemRelease
Merge
Merge
QA Team
![Page 13: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/13.jpg)
How to Release Anytime: Review and Merge
Contributor 1
Contributor 2
ProductionRevision
ReleaseAnytime
CI SystemQA Team
Test System 1
Test System 2
![Page 14: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/14.jpg)
Build and Test Each Change
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
![Page 15: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/15.jpg)
Assembla results
![Page 16: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/16.jpg)
Continuous Delivery Dial
Dev
Business
Ops
DEV TEST UAT PROD
CONTINUOUS DELIVERY
RELEASE TRAIN
Self-Service
Controlled
INTEG STAGING
Source: Serena Software
![Page 17: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/17.jpg)
Continuous Delivery Branch Pattern
Bug Fix
Dev branch
Release branchDirect Commit
Trunk
Trunkand Release
Dev branch
Dev branch
“Normal” SVN
Continuous
CI and QA
QA
Direct or Personal Branch
![Page 18: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/18.jpg)
Continuous Integration Branch Pattern
Trunkand Release
Change Branch
Change branch
Reviewboard style - patches
Gerrit style – temp branches
CI & Review QA
Trunkand Release
Patch
Patch
Review CI and QA
![Page 19: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/19.jpg)
Subversion for Continuous Delivery
• Requires merges or patches to maintain the separated build and test environments.
• We are going to increase the probability of success by adding structure to the process:– Short-lived branches. Make them easily from the Web– Automatically run CI on short lived branches and on merge
requests (preflight)– Provide precise instructions to merge to origin– Use SVN 1.8 Symmetric Merge to make it easier to update
branches
![Page 20: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/20.jpg)
• Pick a task and create a branch• Commit to branch and make a merge request• Tests run on merge request • Reviewer tries change + trunk• Merge to trunk and deploy
![Page 21: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/21.jpg)
Pick a task and create a branch
Create short-lived branches
![Page 22: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/22.jpg)
Commit to branch and make a merge request
It’s just a code review request
![Page 23: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/23.jpg)
Tests run on merge request
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
Build and test each change
![Page 24: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/24.jpg)
Reviewer tries change and trunk
It goes on a review list
![Page 25: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/25.jpg)
Reviewer tries change and trunk
![Page 26: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/26.jpg)
Merge to trunk and deploy
Instructions to merge and test
![Page 27: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/27.jpg)
Steps to Adopt Continuous Delivery
1. Scrumban, no iteration plan2. Continuous Integration framework3. Code review and tests4. On demand test environments5. Continuous Delivery dial6. Changing role of QA7. Full Continuous Delivery
![Page 28: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/28.jpg)
Scalable Agile Process
Prioritize at BeginningNo iteration planNo resource constraints
Plan at end(Release when ready)
Pull Tasks
Pull merges
![Page 29: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/29.jpg)
Distributed Subversion
![Page 30: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/30.jpg)
Using Subversion for distributed teams Scott Rudenstein
• Discuss Subversion and the challenges associated with on premise centralized repositories for distributed teams.
• Challenges of CI/CD for enterprises and for those companies who routinely have project teams working at geographically distributed sites.
• Overview of Multisite technology.• Benefits of distributed Subversion when applied to
distribute Continuous Integration / Continuous Delivery• WANdisco conclusion
![Page 31: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/31.jpg)
On Premise CI/CD
Developer works on task
Developer commits to Subversion
Trigger performs build
Automated Acceptance Test
User Acceptance test
Release
Tools such as Jira, Maven, Jenkins, etc are local to the development environment.
![Page 32: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/32.jpg)
Challenges to Distributed Teams
Heavy reliance on network
![Page 33: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/33.jpg)
Challenges to Distributed Teams
• Heavy reliance on corporate network being up at all sites.
• Single point of failure• Latency or network drops are impediments• Depending on what has changed and the size of the
changeset, it may take hours to commit to Subversion before builds can occur
![Page 34: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/34.jpg)
Partial Solutions
![Page 35: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/35.jpg)
Global Development TeamsUsing Master / Slave
![Page 36: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/36.jpg)
Better but?
• Still has heavy reliance on corporate network being up at all sites.
• Single point of failure• Depending on what has changed and the size of the
changeset, it may take hours to commit to Subversion before builds can occur – now with a round trip it can take twice as long.
• Developers need to wait for changes to sync for updating their workspace
![Page 37: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/37.jpg)
Wide Area NetworkDistributed ComputingWANdisco
Self HealingHigh AvailabilityActive / Active Replication
![Page 38: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/38.jpg)
Managing Global PermissionsHaving a process to mange the team members and permissions allows team leads to manage project access and personnel at the project level
![Page 39: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/39.jpg)
Benefits
• Better quality at lower cost: enables practices such as continuous integration at distributed sites
• Improved collaboration: distributed teams all the assets for development, testing and code reviews
• Higher quality product with lower cost: defects discovered and fixed during each coding phase
• Faster release cycles: build to test, test to release at a higher rate using continuous delivery
• Increased developer and team productivity: less wait time for updates and commits at remote sites
![Page 40: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/40.jpg)
Summary
The advantage of the local build server is that each site will have instant access to the latest build for testing purposes as opposed to building at one site which requires first collecting all the distributed assets and then delivering the completed binary to remote sites where team members can access them.
Local builds from local replicated repositories enable collaboration in other ways such as the ability to turns around bug fixes and code reviews much quicker since the technical resources required to complete these activities will always be readily available.
Enterprise companies who want to adopt agile practices can use Multisite to resolve the technical problems related to sharing digital assets between agile members and teams even across high latency networks while solutions such as Agile best practices to solve the issue of team interaction across distances and time zones.
![Page 41: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/41.jpg)
WANdiscoTest Subversion MultiSite
Free for 15 days in your
Environment Register for a free MultiSite evaluation to learn how we can help you:
Greatly reduce development cycles
Guarantee zero downtime
Guarantee zero data loss
Ensure 24x7 global operation
www.wandisco.com/subversion/multisiteFeatured Customers
• Over 500,000 users in 100 countries
• Ticketing/task management• World’s best SVN host
(also Git and Perforce)
• Continuous Delivery: New initiative to build software at high speed and large scale
• New features for multi-team and continuous delivery
Information and 30-day free trials at https://www.assembla.com/
AssemblaCloud-based tools for
distributed Agile Development Teams
![Page 42: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/42.jpg)
Questions?
![Page 43: Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion](https://reader033.vdocument.in/reader033/viewer/2022061218/54b6e1144a7959ca538b480b/html5/thumbnails/43.jpg)
www.assembla.com
www.wandisco.com