SlideShare a Scribd company logo
1 of 81
Download to read offline
Friday, April 20, 12
Distributed version control




Friday, April 20, 12
build it




                       check               get
                         in               Task




                               write
                               code


Friday, April 20, 12
DVCS @ Unite




                         Issue Tracker


Friday, April 20, 12
DVCS @ Unite




                       Content Collaboration


Friday, April 20, 12
Shaping the future of DVCS




Friday, April 20, 12
Making the Switch to DVCS
                 How Atlassian teams moved from centralised to
                 distributed version control




                 John Stevenson, UK Ambassador, Atlassian
                                                                 7
Friday, April 20, 12
Friday, April 20, 12
Importance of Versioning




Friday, April 20, 12
Importance of Versioning




             Collaboration   History of changes   Multiple copies



Friday, April 20, 12
Importance of Versioning




             Collaboration   History of changes   Multiple copies



Friday, April 20, 12
Importance of Versioning




             Collaboration   History of changes   Multiple copies



Friday, April 20, 12
One repository to rule them
                          all




Friday, April 20, 12
One repository to rule them
                          all




Friday, April 20, 12
Whats the beef
                       with Subversion ?

Friday, April 20, 12
Centralised Version Control

                               Subversion




Friday, April 20, 12
Centralised Version Control

                               Subversion




Friday, April 20, 12
Centralised Version Control

                               Subversion




Friday, April 20, 12
Subversion issues
                 • Merging hell


                 • Fear of breaking the
                   build
                       • delayed commits lead
                         to more merging hell


Friday, April 20, 12
Subversion issues
                 • Merging hell


                 • Fear of breaking the
                   build
                       • delayed commits lead
                         to more merging hell


Friday, April 20, 12
Subversion issues
                 • Merging hell


                 • Fear of breaking the
                   build
                       • delayed commits lead
                         to more merging hell


Friday, April 20, 12
Rise of DVCS


                                • High adoption in Open
                                  Source projects
                                • Enterprises now making the
                                  move
                                • Atlassian teams already
                                  migrated

Friday, April 20, 12
Rise of DVCS


                                • High adoption in Open
                                  Source projects
                                • Enterprises now making the
                                  move
                                • Atlassian teams already
                                  migrated

Friday, April 20, 12
Rise of DVCS


                                • High adoption in Open
                                  Source projects
                                • Enterprises now making the
                                  move
                                • Atlassian teams already
                                  migrated

Friday, April 20, 12
Everyone is doing it!




Friday, April 20, 12
Everyone is doing it!




Friday, April 20, 12
Social coding




Friday, April 20, 12
Social coding




Friday, April 20, 12
Social coding




Friday, April 20, 12
Friday, April 20, 12
Enhancing the
                       development cycle
                           with DVCS
Friday, April 20, 12
Distributed Version Control




Friday, April 20, 12
Distributed Version Control

                                                              Git or Mercurial




                       Git or Mercurial                                                             Git or Mercurial
                                                             Git or Mercurial




                                          Git or Mercurial                       Git or Mercurial




Friday, April 20, 12
DVCS encourages learning
                 • Smaller projects
                 • Smaller iterations / continuous deployment
                 • Faster feedback
                 • Greater collaboration & innovation
                 • Understanding customers better



Friday, April 20, 12
What do I need to learn




Friday, April 20, 12
What do I need to learn




Friday, April 20, 12
Differences in workflow?




Friday, April 20, 12
Not just the command line




Friday, April 20, 12
Not just the command line




Friday, April 20, 12
Not just the command line




                       The command line is like Marmite...
Friday, April 20, 12
“   Distributed Version Control is flexible and can fit any

                                                                           ”
                           workflow - you can even treat it like Subversion.




Friday, April 20, 12
“   Distributed Version Control is flexible and can fit any

                                                                           ”
                           workflow - you can even treat it like Subversion.




                                                         Steve Streeting
                                                         Creator of SourceTree

Friday, April 20, 12
Centralised Vs Distributed




Friday, April 20, 12
Classic Vs Re-imagined




Friday, April 20, 12
How did Atlassian do it?


      Recipe for DVCS
      adoption

Friday, April 20, 12
How did Atlassian do it?


      Recipe for DVCS
      adoption

Friday, April 20, 12
Atlassian DVCS recipe




Friday, April 20, 12
Atlassian DVCS recipe


                           Tooling



Friday, April 20, 12
Git and Mercurial Mac Client




Friday, April 20, 12
Git and Mercurial Mac Client




Friday, April 20, 12
Browse and Search source
             across versioning tools

      Commits to SVN & DVCS repos
      Browse source in
      Subversion, Git, Hg, CVS, etc.



Friday, April 20, 12
Browse and Search source
             across versioning tools

      Commits to SVN & DVCS repos
      Browse source in
      Subversion, Git, Hg, CVS, etc.



Friday, April 20, 12
Source code disinfectant


Friday, April 20, 12
Source code disinfectant


Friday, April 20, 12
Continuous Integration and
             release management

               • Run same builds against old
                 and new VCS
               • Continuous Validation
               • Separate repos for integration

Friday, April 20, 12
Continuous Integration and
             release management

               • Run same builds against old
                 and new VCS
               • Continuous Validation
               • Separate repos for integration

Friday, April 20, 12
Link every commit to
                            JIRA issues




Friday, April 20, 12
Link every commit to
                            JIRA issues




Friday, April 20, 12
Atlassian DVCS recipe




Friday, April 20, 12
Atlassian DVCS recipe



                          Practices


Friday, April 20, 12
Incremental change
                 • Try on small projects
                 • Use hybrid tooling




Friday, April 20, 12
Bringing our history with us




Friday, April 20, 12
Bringing our history with us




Friday, April 20, 12
Atlassian DVCS recipe




Friday, April 20, 12
Atlassian DVCS recipe


                         Experience



Friday, April 20, 12
DVCS mentor




Friday, April 20, 12
DVCS mentor




Friday, April 20, 12
DVCS mentor




Friday, April 20, 12
Code
                       without
                       Limitations

                       • Fork & Clone
                       • Repositories are cheap,
                         don't be afraid to mess up



Friday, April 20, 12
Commit Early,
                 Commit Often




Friday, April 20, 12
Commit Early,
                 Commit Often




Friday, April 20, 12
Atlassian DVCS




Friday, April 20, 12
Atlassian DVCS


                          Benefits



Friday, April 20, 12
Benefit: Developer Speed
           • Common commands, just faster
           • Fast tools = happy developers
           • Complete history at hand




Friday, April 20, 12
Benefit: Developer Speed
           • Common commands, just faster
           • Fast tools = happy developers
           • Complete history at hand




Friday, April 20, 12
Benefit: Fast Feedback
                       • More lessons learnt
                       • Issues resolved more timely
                       • Less risk and impact to a project
                       • More in tune with customers




Friday, April 20, 12
Benefit: Fast Feedback
                       • More lessons learnt
                       • Issues resolved more timely
                       • Less risk and impact to a project
                       • More in tune with customers




Friday, April 20, 12
DVCS @ Atlassian




Friday, April 20, 12
DVCS @ Atlassian




Friday, April 20, 12
Wrap up
                       • DVCS has great business and technical benefits
                       • Atlassian is shaping the future of DVCS




Friday, April 20, 12
Thank you

                  blogs.atlassian.com
                  sourcetreeapp.com

                       blog.jr0cket.co.uk
                                @jr0cket
Friday, April 20, 12

More Related Content

Similar to Unite dvcs deck-uk-john stevenson (8)

Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebapps
 
Scaling Quizlet
Scaling QuizletScaling Quizlet
Scaling Quizlet
 
London unite-zen
London unite-zenLondon unite-zen
London unite-zen
 
Atlassian Developers switch to DVCS - Unite London conference
Atlassian Developers switch to DVCS - Unite London conferenceAtlassian Developers switch to DVCS - Unite London conference
Atlassian Developers switch to DVCS - Unite London conference
 
Berlin.JS Meetup
Berlin.JS MeetupBerlin.JS Meetup
Berlin.JS Meetup
 
Usability Testing Participants
Usability Testing ParticipantsUsability Testing Participants
Usability Testing Participants
 
Unite keynote all - mike's edit (don't edit!)
Unite keynote   all - mike's edit (don't edit!)Unite keynote   all - mike's edit (don't edit!)
Unite keynote all - mike's edit (don't edit!)
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 

More from Atlassian

Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 

More from Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

Recently uploaded

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Unite dvcs deck-uk-john stevenson