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.
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
1. Beyond Scrum:
Scaling Agile with Continuous
Delivery and Subversion
Andy Singleton Scott Rudenstein
CEO and Founder Director of Technical Sales
Assembla WANdisco
November 15, 2012
2. Assembla WANdisco
Cloud-based tools for distributed Test Subversion MultiSite Free
Agile Development Teams for 15 days in your Environment
• Over 500,000 users in 100 Register for a free MultiSite evaluation to
learn how we can help you:
countries
Greatly reduce development cycles
• Ticketing/task management
• World’s best SVN host Guarantee zero downtime
(also Git and Perforce)
Guarantee zero data loss
• Continuous Delivery: New
initiative to build software at Ensure 24x7 global operation
high speed and large scale www.wandisco.com/subversion/multisite
• New features for multi-team
and continuous delivery Featured Customers
Information and 30-day free trials
at https://www.assembla.com/
3. 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
4. Three Agile Use Cases
Your type tells you what to emphasize, what to ignore
Types:
1. Developers with 3/6/12 month release cycles
2. Multi-project developers / service providers
3. Cloud application developers
5. Cloud Apps Requirements
• Ten of twelve agile projects we interviewed use
Scrum.
• Cloud app development typically has
1. Distributed teams
2. Multiple teams Inconsistent with scrum
3. 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
12. Testing Iterative Releases
Contributor 1
Solo or Team Merge
Release
Candidate Release
Test System
Contributor 2 Merge
Solo or Team
QA Team
13. How to Release Anytime: Review and
Merge
Test System
Contributor 1
1
CI System Production Release
Revision Anytime
QA Team
Contributor 2 Test System 2
14. Build and Test Each Change
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
16. Continuous Delivery Dial
Business
Dev Ops
Self-
Controlled
Service
DEV TEST INTEG STAGING UAT PROD
CONTINUOUS
RELEASE TRAIN
DELIVERY
Source: Serena Software
17. Continuous Delivery Branch Pattern
“Normal” SVN Bug Fix
Direct Commit Release branch
Trunk
Dev branch QA
Continuous Dev branch
Trunk
and Release
Dev branch
Direct or Personal Branch CI and QA
18. Continuous Integration Branch Pattern
Reviewboard style - patches Patch
Trunk
and Release
Patch
Review CI and QA
Gerrit style – temp branches Change branch
Trunk
and Release
Change Branch
CI & Review QA
19. 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
20. • 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
21. Pick a task and create a branch
Create short-lived branches
22. Commit to branch and make a merge
request
It’s just a code review request
23. Tests run on merge request
Build and test each change
Copyright 2012 Perforce Software, Inc. - Assembla, Inc.
26. Merge to trunk and deploy
Instructions to merge and test
27. Steps to Adopt Continuous Delivery
1. Scrumban, no iteration plan
2. Continuous Integration framework
3. Code review and tests
4. On demand test environments
5. Continuous Delivery dial
6. Changing role of QA
7. Full Continuous Delivery
28. Scalable Agile Process
Prioritize at Beginning
No iteration plan Plan at end
No resource constraints (Release when ready)
Pull Tasks
Pull merges
30. 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
31. 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.
33. 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
36. 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
38. Managing Global Permissions
Having a process to
mange the team
members and
permissions allows
team leads to manage
project access and
personnel at the
project level
39. 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
40. 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.
41. Assembla WANdisco
Cloud-based tools for distributed Test Subversion MultiSite Free
Agile Development Teams for 15 days in your Environment
• Over 500,000 users in 100 Register for a free MultiSite evaluation to
learn how we can help you:
countries
Greatly reduce development cycles
• Ticketing/task management
• World’s best SVN host Guarantee zero downtime
(also Git and Perforce)
Guarantee zero data loss
• Continuous Delivery: New
initiative to build software at Ensure 24x7 global operation
high speed and large scale www.wandisco.com/subversion/multisite
• New features for multi-team
and continuous delivery Featured Customers
Information and 30-day free trials
at https://www.assembla.com/