Git: enterprise adoption challenges


Published on

Originally presented by Andrew Stickland (Clearvision) at the London Atlassian User Group 14 May

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • WelcomeQuick show of hands - already using git - hand down > 6 months - considering future
  • Open Source Distributed Version Control System “Distributed” = repositories shared, cloning, no need for a central repository.very fast - working locally and commits are very inexpensivehighly scalable and does not impose rigid workflows flexible - moulded to required development processes instead of the other way arounddecentralisation+>Enterprise challenges to adoptingenterprises = control via centralisation, tight integration & tight process managementsometimes achieved through monolithic single vendor solutions - enforce a processSupportone way to look at the adoption challenges for git within the Enterprise - Git as +>empowering the developers - whereas the Enterprise wants to +>constrain and control everything
  • The questions is: are these positions mutually exclusive? Can you..+>Distribute work but retain control+>Enforce centralisation where necessary+>Enable ‘Best of Breed’ tools, keep integration+>Enforce process while remaining flexible+>Get support when there is no vendorCan you , in fact, +>constrain but also empower using git?
  • Git is all about decentralisation - strengths = at its core, a distributed system - performance - flexible system - branching & merging+>As well as the strengths there are, of course, weaknesses…Large files = bloating - artefacts >> Artifactoryand similar release management tools are more suitable for this.Does not constrain users to a particular workflow - strength and, from a ‘control’ perspective a weaknessWho has what and who is doing what – again ‘control’ concepts. With a DVCS, conceptually everyone has everything.+>Define working practices & implement Gatekeeper functions - to review and manage these processes - simple - extension of the code review processesUtilise “Feature Branches”.
  • << looked at a team working level >> teams work and collaborateMyth: central repository is not possible+>everyone has their own copy = issues - cloning large source repositories - access control Git (‘out of the box’) is weak on access controls - premise to prevent write back to ‘master’ by other than approved partiesFragmentation of the repositories - reusable/shared elements reduces the size of repository clones and helps to address access issues.+>Utilising branching functions >> Integration and Release branches on the central repository - Developers have read access to the masters - Feature branches from the Integration branch - Gatekeepers deliver back to the Integration - Merged to the Release branch as it passes QA, UAT such as Stash, can manage who has write access to individual branches.
  • A viable concern for the Enterprise is the integration of Git to other tools. +>Historically, enterprises = single monolithic toolset for the implementation of ALM. However, often force the adoption of processes = barriers in an Agile world.Last few years = significant trend >> Best of Breed toolsThis leads to question of integration and how these often disparate tools can work together as a cohesive whole.Git some issues maturity of GUI tools & open source and community = concerns stability+>Growing maturity of the tool itself & direct support - broad spectrum of vendor products (for example the Atlassian suite, Microsoft Visual Studio and Jenkins) = enterprise ready
  • To implement Git in the enterprise a multi-phased strategy is essential.+>Git introduced performance enhancing & flexibility, branching and merging features, tool integration and inherent auditing features.Split Repositories & define suitable access rights and protocols = enterprise ensure that the correct controls are in place to prevent, for example, accidental release of untested code.+>By adopting one or more suitable development processes and monitoring and managing these processes using suitable tools and the Gatekeeper philosophy an enterprise can ensure that satisfactory standards achieved across the organisation.
  • Git inherently empowers the development process and we have looked at the challenges for the enterprise. Lets look at some of the tools+>JIRA = sound and flexible solution & coupled with the Greenhopperfully Agile compliant.Git lacks core authentication and access control systems & +>Stash provides and excellent solution.Code inspection and Review +>Crucible & Open Source tool Review BoardFeature branching, Gatekeeper processes & control of branching strategy, integration base lining >> products such as +>AgileSCM from Clearvision.Wider integration - too many to mention - a few are +>Bonfire, Bamboo, Artifactory, Jama Contour, Eclipse, Visual Studio and Jenkins
  • So that then begs the one final question which is solution support.The +>weakness for the enterprise - solution is Open Source - thus no vendor to specifically support itGit has a strong and active development community ensuring that bugs and new features are addressed rapidly. Vendors >> (Microsoft and Atlassian) committed - best of breed solutionSignificant use by private individuals & enterprises often find developers already familiar with git - private or previous employmentSignificant commercial support available for git with training, mentoring and administration assistance available on a world wide basis.Adoption +>of Git into the ALM process will impact a significant portion of the process & require a re-think on supportOpen Source should not be a barrier to adoption
  • When you consider Git and the Enterprise, adopt it for its strengths and mitigate the relatively few weaknesses as we have seen today.+>You can constrain and yet +>empower!
  • And just to put some perspective on we are seeing as consultants in this space…Ever wider adoption across all sizes of organisation - 90% of our consulting engagements have a Git connection - commonest areas we assist with is adoption and best practicesThank-you
  • Git: enterprise adoption challenges

    1. 1. Copyright © 2013 Clearvision CM LtdAtlassian User Group – May 2013Enterprise Adoption ChallengesAndrew SticklandSCCM ConsultantClearvision
    2. 2. Copyright © 2013 Clearvision CM Ltd– Open Source DVCS• Distributed Version ControlSystem– Performance– Flexibility– Scalability– Decentralisation– Code sharing• Enterprise– Control– Centralisation– Integration• Traditionally: one tool doesit all Accountability– Process– SupportIs there a problem?
    3. 3. Copyright © 2013 Clearvision CM LtdCan you do both?• Distribute work butretain control• Enforce centralisationwhere necessary• Enable ‘Best of Breed’tools, keep integration• Enforce process whileremaining flexible• Get support when thereis no vendor
    4. 4. Copyright © 2013 Clearvision CM Ltd• Strengths– DVCS @ Core– Performance– Flexible workflow– Branching &Merging• Weaknesses– Large files causebloating– Flexible workflow– Who has what?Distribute work but retain control
    5. 5. Copyright © 2013 Clearvision CM LtdReleaseIntegration• Strengths– Multiple Repositories– Flexible Branching– Powerful Merge Tools– Flexible Workflows• Weaknesses– Everyone has their owncopy– Flexible deploymentstrategies– Authentication & AccesscontrolsEnforce centralisation where necessary
    6. 6. Copyright © 2013 Clearvision CM Ltd• Strengths– Multi-vendor support forGIT– Command Line interface– Open Source Code– Open Source Tools• Weaknesses– GUI Tools lack fullmaturity– Ensure consistent usage– Community drivenEnable ‘Best of Breed’ tools, keep integrationReleaseIntegrationIDE GUIContinuousIntegrationChange ControlTestManagementBuild/ReleaseManagement
    7. 7. Copyright © 2013 Clearvision CM Ltd• Strengths– Flexible Workflows– Powerful Branching &Merging– Tool integration– Auditing• Weaknesses– Flexible Workflows– Authentication– Access Control– Process ControlEnforce process while remaining flexibleManage &CollaborateDefineDesignDevelopTestDeployReleaseIntegrationIDE GUIContinuousIntegrationChange ControlTestManagementBuild/ReleaseManagement
    8. 8. Copyright © 2013 Clearvision CM LtdAddressing the direct challenges• Empowers• Challenges– Workflow Management– Deployment, Authentication& Access Controls– Code inspection and Review– Feature Branching &Gatekeeper Controls– Integrated tools
    9. 9. Copyright © 2013 Clearvision CM Ltd• Strengths– Continuous improvement– Community support– Vendor support– Private use– Commercial support• Weaknesses– No solution vendorGet support when there is no vendorManage &CollaborateDefineDesignDevelopTestDeploy
    10. 10. Copyright © 2013 Clearvision CM LtdYou can constrain and yet empower!
    11. 11. Copyright © 2013 Clearvision CM Ltd• Clearvision perspective– 90% of our consultingengagements have a gitconnection– one of the commonestareas we assist with iswith git adoptiontechniques and bestpractices– If you want any furtherdetails, please contactsales@clearvision-cm.comAnd finally…Andrew SticklandSCCM ConsultantClearvision