SlideShare a Scribd company logo
AW2
Agile Development Concurrent Session
11/12/2014 11:30 AM
"Scaling Git for the Enterprise"
Presented by:
Bob Aiello
CM Best Practices Consulting
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Editor-in-chief of CM Crossroads and author of Configuration
Management Best Practices: Practical Methods that Work in the
Real World, Bob Aiello is a consultant and software engineer
specializing in software process improvement, including software
configuration and release management. He has more than twenty-
five years of experience as a technical manager at top New York
City financial services firms, where he held company-wide
responsibility for configuration management. Bob served as vice
chair of the IEEE 828 Standards Working Group on CM Planning
and a member of the IEEE Software and Systems Engineering
Standards Committee Management Board. Contact Bob
at bob.aiello@ieee.org, via LinkedIn, or visit cmbestpractices.com.
Scaling Git for the Enterprise
1
Bob Aiello, Principal Consultant and Author of
Configuration Management Best Practices :
Practical Methods that Work in the Real World
http://www.linkedin.com/in/BobAiello
http://cmbestpractices.com
CM Best Practices Consulting © 2014
Who am I?
• CM Lead & Consultant for over 25 years
• Technical Editor CM Crossroads 15 years
• Aapril uthor of CM Best Practices
• IEEE Standards Management Board
• Tools and process agnostic
• The guy who supports large scale version
control systems!
2 Nov 12, 2014http://cmbestpractices.com © 2014
Goals of this Presentation
• Develop secure and reliable VCS
• Create scalable strategy for support
• Plan for costs and resource requirements
• Understand the VCS ecosystem
• Support advanced functionality
• Establish SCM processes
• Support the ALM!
3 Nov 12, 2014http://cmbestpractices.com © 2014
Goals of Code Management
4
• Never lose code
• Know exactly what is running in Prod
• Make a two line fix without any
chance of the code regressing (due to
the wrong version)
About SCM…
http://cmbestpractices.com © 2014 Nov 12, 2014
Source Code Management
5
• Control of every configuration item
(e.g. source code, config, binaries,
compile and runtime dependencies).
• Much more than just checkin and
checkout (version control)
• Provides sanity to the development
process (reduces cognitive complexity)
http://cmbestpractices.com © 2014 Nov 12, 2014
Why Git?
6
• Simple & Reliable
• Distributed (actually decentralized)
• Cloning vs checkout
• Branching and merging
• Storage is very efficient
• Deployment
What about the dark side?
http://cmbestpractices.com © 2014 Nov 12, 2014
Dysfunctional Git
7
• Often setup on R&D servers
• No built in support for LDAP
• Rewrite history
• Editing logs creates audit issues
• Cottage industry to address Git
shortcomings
Start with the Infrastructure…
http://cmbestpractices.com © 2014 Nov 12, 2014
Git in the Cloud
8
• Scalable infrastructure
• Experienced administration
• Focus on your real job
• Advertising your project
• Distributing and deployment
Many choices…
http://cmbestpractices.com © 2014 Nov 12, 2014
Cloud Based Providers
9
• Github – millions of users
• Bitbucket – over a million users
• Enterprise Git
• Many other cloud based providers
• Changing landscape
Trusted repositories…
http://cmbestpractices.com © 2014 Nov 12, 2014
Infrastructure
10
• Familiar servers
• Scalable (plan for growth)
• Installation procedures
• Using Puppet to install Stash
• Manage licenses
• Entitlements
Hybrid approach…
http://cmbestpractices.com © 2014 Nov 12, 2014
Hybrid Cloud
11
• Start with Cloud based providers
• Setup your own infrastructure
• From QA onwards
Git Stash is a popular choice…
http://cmbestpractices.com © 2014 Nov 12, 2014
Git Stash
12
• Host on your servers
• Your favorite cloud
• Supports LDAP
• Backend in database
• Scalable infrastructure
• Establish IT controls
Git for Dev and Ops…
http://cmbestpractices.com © 2014 Nov 12, 2014
When Dev sets up Stash
13
• Lack of controls
• When I asked for a checklist…
• Milestone releases go to secure repo
• Establish the definitive media library
http://cmbestpractices.com © 2014 Nov 12, 2014
Planning
14
• Resource estimates
• Charge back for projects
• Licenses
• Disk, servers, OS
• Chargeback for server administration
Establish the Use Case
http://cmbestpractices.com © 2014 Nov 12, 2014
Establish the Use Case
15
• Clear and consistent way to use Git
• Developers tend to do whatever
worked well on the last project
• Result is that everyone is doing
something different
http://cmbestpractices.com © 2014 Nov 12, 2014
Defining the Usage Model
16
• You need to create a clear and
compelling usage model
• Otherwise everyone will do whatever
worked well on the last project
• Helps even when you have to live with
an inferior tool
http://cmbestpractices.com © 2014 Nov 12, 2014
Variant Management
17
• What’s on master, staging?
• How will you release your code?
• Branching can get messy
• Feature branching and cherry picking
• Consider using Gitflow
http://cmbestpractices.com © 2014 Nov 12, 2014
Variants in the code
18
• Supporting multiple operating systems
http://cmbestpractices.com © 2014 Nov 12, 2014
Training
19
• Training establishes consistent
practices
• Essential for variant management
• Key for release and deployment
http://cmbestpractices.com © 2014 Nov 12, 2014
Training
20
• Training is the “hill to die on”
• Best when given by your CM support
team
• Includes the process you want them
to use
• Much more than just vendor training
• Test first and then teach
http://cmbestpractices.com © 2014 Nov 12, 2014
Defect & Task Tracking
21
• Track changesets to workitem
• Traceability to who made the change
• Makes release notes a breeze to
create
• Ties back to requirements and test
cases
• Allows for ALM and workflow
automation
http://cmbestpractices.com © 2014 Nov 12, 2014
Task Based Development
22
• Integration with task and defect
tracking
• Planning should be upfront
• Traceability and support for the ALM
http://cmbestpractices.com © 2014 Nov 12, 2014
Ensuring the Trusted Base
23
• Know what you built
• Deploy the right code
• Verify that it got there
• Detect any unauthorized changes
CM is a full lifecycle endeavor
http://cmbestpractices.com © 2014 Nov 12, 2014
Getting Started
24
• Always best when to start small
• Remember agile and lean principles
• Iterative approach to establish
process
• Make decisions at last responsible
moment
http://cmbestpractices.com © 2014 Nov 12, 2014
Feedback loops
25
• What is working and what needs to be
improved
• Assess your team’s practices
• Plan for change
Learn to coexist…
http://cmbestpractices.com © 2014 Nov 12, 2014
Commercial Tools
26
• Vendors have learned to coexist with
open source
• Commercial tools often have more
features
• Driven by customer feedback
http://cmbestpractices.com © 2014 Nov 12, 2014
Continuous Integration
27
• Drive your CI builds from Git/Stash
• Use Git to provision and configure
your servers
• Git integrates with most CI servers
http://cmbestpractices.com © 2014 Nov 12, 2014
Continous Delivery
28
• Automate your application build
• Package automation
• Deployment automation
• Delivery versus deployment
http://cmbestpractices.com © 2014 Nov 12, 2014
Process Improvemet
29
• Survey your customers
• Take input and plan for improvement
• Remember to be have a promotion
system for your VCS
Start with an assessment…
http://cmbestpractices.com © 2014 Nov 12, 2014
Assessment
30
• Ask what works well
• Assess existing best practices
• Create roadmap and plan for
improvement
Get started!
http://cmbestpractices.com © 2014 Nov 12, 2014
Goals of this Presentation
• Develop secure and reliable VCS
• Create scalable strategy for support
• Plan for costs and resource requirements
• Understand the VCS ecosystem
• Support advanced functionality
• Establish SCM processes
• Support the ALM!
31 Nov 12, 2014http://cmbestpractices.com © 2014
Scaling Git for the Enterprise
32
Bob Aiello, Principal Consultant and Author of
Configuration Management Best Practices :
Practical Methods that Work in the Real World
http://www.linkedin.com/in/BobAiello
http://cmbestpractices.com
CM Best Practices Consulting © 2014

More Related Content

PPTX
#spsclt18 vincent biret #spfx #devops
Vincent Biret
 
PDF
Should You Break Up With Your Monolith?
Perforce
 
PPTX
DevOpsDays Rockies - Living in a Hybrid World
Courtney Kissler
 
PDF
Take advantage of memory analyzer tool inside your continuous integration
Aurélien Pupier
 
PDF
Continuous Delivery for the Rest of Us
C4Media
 
PPTX
Continuous delivery made
mimmozzo_
 
PPTX
DevOps for Database webinar
DBmaestro - Database DevOps
 
PPT
Fostering innovation through agile Government ICT
syeats
 
#spsclt18 vincent biret #spfx #devops
Vincent Biret
 
Should You Break Up With Your Monolith?
Perforce
 
DevOpsDays Rockies - Living in a Hybrid World
Courtney Kissler
 
Take advantage of memory analyzer tool inside your continuous integration
Aurélien Pupier
 
Continuous Delivery for the Rest of Us
C4Media
 
Continuous delivery made
mimmozzo_
 
DevOps for Database webinar
DBmaestro - Database DevOps
 
Fostering innovation through agile Government ICT
syeats
 

What's hot (19)

PPTX
State of continuous delivery in 2015 - Minsk 15-5-2015
Pavel Chunyayev
 
PPTX
Altus Alliance 2016 - Transitioning From On-Premise to the Cloud
Sparkrock
 
PDF
A Discussion of Automated Infrastructure Security with a Practical Example
Deborah Schalm
 
PDF
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
Claudia Ring
 
PPTX
Dashlane Triple Track
Dashlane
 
PDF
AtlasCamp 2014: Keynote
Atlassian
 
PDF
DevOps: The Right Abstraction Level
Otavio Fernandes
 
PDF
Training Overview & Online – Danielle Grindle, 4D Technologies & Darren Harte...
Synergis Engineering Design Solutions
 
PDF
Continuous Testing in DevOps
TechWell
 
PDF
[Christopher Ngo] Intro DevOPS XP Day 2015
Agile đây Vietnam
 
PDF
Integrating Autodesk Vault to PLM – Rodney Coffey, Razorleaf & Scott Stortz, ...
Synergis Engineering Design Solutions
 
PPTX
OrCAD Documentation Editor PCB Documentation Environment
EMA Design Automation
 
PPTX
Performance Testing of Large-scale Systems- Impetus Webinar
Impetus Technologies
 
PDF
Webinar: The Acceleration of Everything
Perforce
 
PDF
DrupalCon Austin: Planning for Performance
Jeff Beeman
 
PDF
Discovering New Product Introduction using Autodesk PLM 360 – Rodney Coffey, ...
Synergis Engineering Design Solutions
 
PPTX
PCB Data Management Webinar
EMA Design Automation
 
PPTX
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
Daniel Bryant
 
PDF
The DevOps Journey at bwin.party
Kelly Looney
 
State of continuous delivery in 2015 - Minsk 15-5-2015
Pavel Chunyayev
 
Altus Alliance 2016 - Transitioning From On-Premise to the Cloud
Sparkrock
 
A Discussion of Automated Infrastructure Security with a Practical Example
Deborah Schalm
 
Making Sense of DevOps Tools: Open Source to Enterprise Solutions
Claudia Ring
 
Dashlane Triple Track
Dashlane
 
AtlasCamp 2014: Keynote
Atlassian
 
DevOps: The Right Abstraction Level
Otavio Fernandes
 
Training Overview & Online – Danielle Grindle, 4D Technologies & Darren Harte...
Synergis Engineering Design Solutions
 
Continuous Testing in DevOps
TechWell
 
[Christopher Ngo] Intro DevOPS XP Day 2015
Agile đây Vietnam
 
Integrating Autodesk Vault to PLM – Rodney Coffey, Razorleaf & Scott Stortz, ...
Synergis Engineering Design Solutions
 
OrCAD Documentation Editor PCB Documentation Environment
EMA Design Automation
 
Performance Testing of Large-scale Systems- Impetus Webinar
Impetus Technologies
 
Webinar: The Acceleration of Everything
Perforce
 
DrupalCon Austin: Planning for Performance
Jeff Beeman
 
Discovering New Product Introduction using Autodesk PLM 360 – Rodney Coffey, ...
Synergis Engineering Design Solutions
 
PCB Data Management Webinar
EMA Design Automation
 
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
Daniel Bryant
 
The DevOps Journey at bwin.party
Kelly Looney
 
Ad

Viewers also liked (17)

PDF
Top Ten Attacks to Break Mobile Apps
TechWell
 
PDF
Test Estimation in Practice
TechWell
 
PDF
Software Managers: Their Place in Agile
TechWell
 
PDF
A Very Large Enterprise Agile Transformation: Lessons Learned at Salesforce
TechWell
 
PDF
Speak Like a Test Manager
TechWell
 
PDF
Pairwise Testing Explained
TechWell
 
PDF
Measurement and Metrics for Test Managers
TechWell
 
PDF
Test Automation Patterns: Issues and Solutions
TechWell
 
PDF
Simplify Project and Portfolio Planning with “Real Options”
TechWell
 
PDF
Introducing Keyword-Driven Test Automation
TechWell
 
PDF
Using DevOps to Improve Software Quality in the Cloud
TechWell
 
PDF
Security Testing for Test Professionals
TechWell
 
PDF
Can We Do Agile? Barriers to Agile Adoption
TechWell
 
PDF
Assessing Agile Engineering Practices
TechWell
 
PDF
Introduction to Selenium and WebDriver
TechWell
 
PDF
Meeting Strict Documentation Requirements in Agile
TechWell
 
PDF
End-to-End Testing with the Heuristic Software Test Model
TechWell
 
Top Ten Attacks to Break Mobile Apps
TechWell
 
Test Estimation in Practice
TechWell
 
Software Managers: Their Place in Agile
TechWell
 
A Very Large Enterprise Agile Transformation: Lessons Learned at Salesforce
TechWell
 
Speak Like a Test Manager
TechWell
 
Pairwise Testing Explained
TechWell
 
Measurement and Metrics for Test Managers
TechWell
 
Test Automation Patterns: Issues and Solutions
TechWell
 
Simplify Project and Portfolio Planning with “Real Options”
TechWell
 
Introducing Keyword-Driven Test Automation
TechWell
 
Using DevOps to Improve Software Quality in the Cloud
TechWell
 
Security Testing for Test Professionals
TechWell
 
Can We Do Agile? Barriers to Agile Adoption
TechWell
 
Assessing Agile Engineering Practices
TechWell
 
Introduction to Selenium and WebDriver
TechWell
 
Meeting Strict Documentation Requirements in Agile
TechWell
 
End-to-End Testing with the Heuristic Software Test Model
TechWell
 
Ad

Similar to Scaling Git for the Enterprise (20)

PDF
Configuration Management Best Practices
TechWell
 
PDF
Configuration Management Best Practices
TechWell
 
PPT
Configuration Management
Rajesh Kumar
 
PDF
IT Governance and Compliance in an Agile World
TechWell
 
PPT
A Brief Introduction to Software Configuration Management
Md Mamunur Rashid
 
PPTX
Understanding Software Configration pptx
nareshselva2001
 
PPTX
Software Configuration Manage___ (1).pptx
nareshselva2001
 
PPTX
Migrating from ClearCase
CollabNet
 
ZIP
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read
 
ODP
SCM: An Introduction
Alec Clews
 
PDF
Software configuration management in deep
Fáber D. Giraldo
 
PPTX
Configuration Management is Old and Boring
Mandi Walls
 
PPTX
maxx presentationd.pptx for software configuration management
Tahsk
 
PPTX
Configuration Managment Powerpoint
Jeannine Jacobs, MS
 
PPT
Software Configuration Management into a CMMI Level 1 Project
elliando dias
 
PDF
Scm process assessment guide
Rajesh Kumar
 
PDF
The Continuous delivery value - Funaro
Codemotion
 
PDF
The Continuous delivery Value @ codemotion 2014
David Funaro
 
PDF
Why your company loves to welcome change but sucks at accommodating it
Farooq Ali
 
PDF
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
TechWell
 
Configuration Management Best Practices
TechWell
 
Configuration Management Best Practices
TechWell
 
Configuration Management
Rajesh Kumar
 
IT Governance and Compliance in an Agile World
TechWell
 
A Brief Introduction to Software Configuration Management
Md Mamunur Rashid
 
Understanding Software Configration pptx
nareshselva2001
 
Software Configuration Manage___ (1).pptx
nareshselva2001
 
Migrating from ClearCase
CollabNet
 
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read
 
SCM: An Introduction
Alec Clews
 
Software configuration management in deep
Fáber D. Giraldo
 
Configuration Management is Old and Boring
Mandi Walls
 
maxx presentationd.pptx for software configuration management
Tahsk
 
Configuration Managment Powerpoint
Jeannine Jacobs, MS
 
Software Configuration Management into a CMMI Level 1 Project
elliando dias
 
Scm process assessment guide
Rajesh Kumar
 
The Continuous delivery value - Funaro
Codemotion
 
The Continuous delivery Value @ codemotion 2014
David Funaro
 
Why your company loves to welcome change but sucks at accommodating it
Farooq Ali
 
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
TechWell
 

More from TechWell (20)

PDF
Failing and Recovering
TechWell
 
PDF
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
PDF
Test Design for Fully Automated Build Architecture
TechWell
 
PDF
System-Level Test Automation: Ensuring a Good Start
TechWell
 
PDF
Build Your Mobile App Quality and Test Strategy
TechWell
 
PDF
Testing Transformation: The Art and Science for Success
TechWell
 
PDF
Implement BDD with Cucumber and SpecFlow
TechWell
 
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
PDF
Ma 15
TechWell
 
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
PDF
Transform Test Organizations for the New World of DevOps
TechWell
 
PDF
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
PDF
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
PDF
A Business-First Approach to DevOps Implementation
TechWell
 
PDF
Databases in a Continuous Integration/Delivery Process
TechWell
 
PDF
Mobile Testing: What—and What Not—to Automate
TechWell
 
PDF
Cultural Intelligence: A Key Skill for Success
TechWell
 
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

Recently uploaded (20)

PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Immersive experiences: what Pharo users do!
ESUG
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Exploring AI Agents in Process Industries
amoreira6
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 

Scaling Git for the Enterprise

  • 1. AW2 Agile Development Concurrent Session 11/12/2014 11:30 AM "Scaling Git for the Enterprise" Presented by: Bob Aiello CM Best Practices Consulting Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com
  • 2. Editor-in-chief of CM Crossroads and author of Configuration Management Best Practices: Practical Methods that Work in the Real World, Bob Aiello is a consultant and software engineer specializing in software process improvement, including software configuration and release management. He has more than twenty- five years of experience as a technical manager at top New York City financial services firms, where he held company-wide responsibility for configuration management. Bob served as vice chair of the IEEE 828 Standards Working Group on CM Planning and a member of the IEEE Software and Systems Engineering Standards Committee Management Board. Contact Bob at [email protected], via LinkedIn, or visit cmbestpractices.com.
  • 3. Scaling Git for the Enterprise 1 Bob Aiello, Principal Consultant and Author of Configuration Management Best Practices : Practical Methods that Work in the Real World http://www.linkedin.com/in/BobAiello http://cmbestpractices.com CM Best Practices Consulting © 2014
  • 4. Who am I? • CM Lead & Consultant for over 25 years • Technical Editor CM Crossroads 15 years • Aapril uthor of CM Best Practices • IEEE Standards Management Board • Tools and process agnostic • The guy who supports large scale version control systems! 2 Nov 12, 2014http://cmbestpractices.com © 2014
  • 5. Goals of this Presentation • Develop secure and reliable VCS • Create scalable strategy for support • Plan for costs and resource requirements • Understand the VCS ecosystem • Support advanced functionality • Establish SCM processes • Support the ALM! 3 Nov 12, 2014http://cmbestpractices.com © 2014
  • 6. Goals of Code Management 4 • Never lose code • Know exactly what is running in Prod • Make a two line fix without any chance of the code regressing (due to the wrong version) About SCM… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 7. Source Code Management 5 • Control of every configuration item (e.g. source code, config, binaries, compile and runtime dependencies). • Much more than just checkin and checkout (version control) • Provides sanity to the development process (reduces cognitive complexity) http://cmbestpractices.com © 2014 Nov 12, 2014
  • 8. Why Git? 6 • Simple & Reliable • Distributed (actually decentralized) • Cloning vs checkout • Branching and merging • Storage is very efficient • Deployment What about the dark side? http://cmbestpractices.com © 2014 Nov 12, 2014
  • 9. Dysfunctional Git 7 • Often setup on R&D servers • No built in support for LDAP • Rewrite history • Editing logs creates audit issues • Cottage industry to address Git shortcomings Start with the Infrastructure… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 10. Git in the Cloud 8 • Scalable infrastructure • Experienced administration • Focus on your real job • Advertising your project • Distributing and deployment Many choices… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 11. Cloud Based Providers 9 • Github – millions of users • Bitbucket – over a million users • Enterprise Git • Many other cloud based providers • Changing landscape Trusted repositories… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 12. Infrastructure 10 • Familiar servers • Scalable (plan for growth) • Installation procedures • Using Puppet to install Stash • Manage licenses • Entitlements Hybrid approach… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 13. Hybrid Cloud 11 • Start with Cloud based providers • Setup your own infrastructure • From QA onwards Git Stash is a popular choice… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 14. Git Stash 12 • Host on your servers • Your favorite cloud • Supports LDAP • Backend in database • Scalable infrastructure • Establish IT controls Git for Dev and Ops… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 15. When Dev sets up Stash 13 • Lack of controls • When I asked for a checklist… • Milestone releases go to secure repo • Establish the definitive media library http://cmbestpractices.com © 2014 Nov 12, 2014
  • 16. Planning 14 • Resource estimates • Charge back for projects • Licenses • Disk, servers, OS • Chargeback for server administration Establish the Use Case http://cmbestpractices.com © 2014 Nov 12, 2014
  • 17. Establish the Use Case 15 • Clear and consistent way to use Git • Developers tend to do whatever worked well on the last project • Result is that everyone is doing something different http://cmbestpractices.com © 2014 Nov 12, 2014
  • 18. Defining the Usage Model 16 • You need to create a clear and compelling usage model • Otherwise everyone will do whatever worked well on the last project • Helps even when you have to live with an inferior tool http://cmbestpractices.com © 2014 Nov 12, 2014
  • 19. Variant Management 17 • What’s on master, staging? • How will you release your code? • Branching can get messy • Feature branching and cherry picking • Consider using Gitflow http://cmbestpractices.com © 2014 Nov 12, 2014
  • 20. Variants in the code 18 • Supporting multiple operating systems http://cmbestpractices.com © 2014 Nov 12, 2014
  • 21. Training 19 • Training establishes consistent practices • Essential for variant management • Key for release and deployment http://cmbestpractices.com © 2014 Nov 12, 2014
  • 22. Training 20 • Training is the “hill to die on” • Best when given by your CM support team • Includes the process you want them to use • Much more than just vendor training • Test first and then teach http://cmbestpractices.com © 2014 Nov 12, 2014
  • 23. Defect & Task Tracking 21 • Track changesets to workitem • Traceability to who made the change • Makes release notes a breeze to create • Ties back to requirements and test cases • Allows for ALM and workflow automation http://cmbestpractices.com © 2014 Nov 12, 2014
  • 24. Task Based Development 22 • Integration with task and defect tracking • Planning should be upfront • Traceability and support for the ALM http://cmbestpractices.com © 2014 Nov 12, 2014
  • 25. Ensuring the Trusted Base 23 • Know what you built • Deploy the right code • Verify that it got there • Detect any unauthorized changes CM is a full lifecycle endeavor http://cmbestpractices.com © 2014 Nov 12, 2014
  • 26. Getting Started 24 • Always best when to start small • Remember agile and lean principles • Iterative approach to establish process • Make decisions at last responsible moment http://cmbestpractices.com © 2014 Nov 12, 2014
  • 27. Feedback loops 25 • What is working and what needs to be improved • Assess your team’s practices • Plan for change Learn to coexist… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 28. Commercial Tools 26 • Vendors have learned to coexist with open source • Commercial tools often have more features • Driven by customer feedback http://cmbestpractices.com © 2014 Nov 12, 2014
  • 29. Continuous Integration 27 • Drive your CI builds from Git/Stash • Use Git to provision and configure your servers • Git integrates with most CI servers http://cmbestpractices.com © 2014 Nov 12, 2014
  • 30. Continous Delivery 28 • Automate your application build • Package automation • Deployment automation • Delivery versus deployment http://cmbestpractices.com © 2014 Nov 12, 2014
  • 31. Process Improvemet 29 • Survey your customers • Take input and plan for improvement • Remember to be have a promotion system for your VCS Start with an assessment… http://cmbestpractices.com © 2014 Nov 12, 2014
  • 32. Assessment 30 • Ask what works well • Assess existing best practices • Create roadmap and plan for improvement Get started! http://cmbestpractices.com © 2014 Nov 12, 2014
  • 33. Goals of this Presentation • Develop secure and reliable VCS • Create scalable strategy for support • Plan for costs and resource requirements • Understand the VCS ecosystem • Support advanced functionality • Establish SCM processes • Support the ALM! 31 Nov 12, 2014http://cmbestpractices.com © 2014
  • 34. Scaling Git for the Enterprise 32 Bob Aiello, Principal Consultant and Author of Configuration Management Best Practices : Practical Methods that Work in the Real World http://www.linkedin.com/in/BobAiello http://cmbestpractices.com CM Best Practices Consulting © 2014