SlideShare a Scribd company logo
Continuous Integration Best Practices in Agile Environments Ben Reich @ AgileSparks
Who Am I? 15 years leadership experience in software development & startup operations with Gantt charts 7 Years of searching and finding ways to improve life quality, predictability and efficiency www.linkedin.com/in/benreich E-mail: ben@agilesparks.com
Ideas and best practices on implementing continuous integration in an agile way What is this about?
Continuous Integration 101 Code Repository Production Clone  Build Change Build Auto Builder Publish Feedback ,[object Object]
Fast and immediate build
Immediate feedbackAuto Test
So, why is it agile? Rapid Delivery Small  Iterations Continuous Integration Working Software Encourage Cooperation
But: Is a bunch of programmers constantly mixing some code together really getting us where we want to be?
The Challenges of CI Distance from the end user Automatic tests are difficult Large and complex products Diverse organization Insufficient review Inter-team synchronization issues
You know its becoming irrelevant if: Nobody is consuming it and people are waiting for your “real release”
Escaped bugs Instant Response What Happens here? And here?
“Holy Place” Culture – Done means Released Identify the “holy place” Designated delivery target Always up and running As Releasable as possible Replica of Production Demo-able and accessible Identify the Stakeholder Represents the customer Is motivated to succeed Can deliver UAT Has the bandwidth to review
Put it where its accessible, demoable, won’t break but will be updated regularly in days
The Delivery Gap Manual testing takes longer and there is no synchronization Developers need to program before testers need to test Large projects need constant integration testing Too many changes can disrupt the flow
Ingredients to Fill the GAP Time Box WIP Limits Agile Communication
Case Study – The Demo Cycle 8 man team 1 month sprint 1 week demo cycle 1 week deployment cycle Typically 2-4 user stories deployed per week
The Continuous Delivery Train Station Cycle Integration Area Holy Place Team Branch Weekly Branch The Holy Trunk Commits Tests ? Deploy Branch Updated Weekly Branch Commits Tests Deploy
The Continuous Delivery Train Station Cycle Integration Area Holy Place Team Branch Weekly Branch The Holy Trunk Commits Tests ? X Reject Whew!! Branch Last Good Branch Commits Tests Deploy
The Continuous Delivery Train Station Cycle Integration Area Holy Place Team Branch Weekly Branch The Holy Trunk Commits Tests ? X Reject Branch Last Good Branch Commits Tests X Reject
Swarm!!
Electronic WIP dashboard
 Large Projects - Scrum of Scrum Frequency – 1 to 3 days What is discussed? What has your team done since we last met? What will your team do before we meet again? Is anything slowing your team down or getting in their way? Are you about to put something in another team’s way? The last two items will feature: Broken APIs Synchronization issues Current build status Story and Epic issues
Working with Large Remote Teams jQuery Linux Is it Impossible? rails django Python
Learning from Open Source Manage by committee Dedicate resources to CI Set strict rules and enforce them Enforce and encourage communication Never go home with a broken build
Rules of engagement - Example
Github Change log – Social coding
Source Control Management Recipes Quiz - Which Tree Looks More Target Oriented? Eshel Brosh 1 trunk – No Deviations
Incremental changes  Feat. 1 Rev 3 Rev 2 Main Trunk Rev 1 Feat. 1 Rev 3 ,[object Object]
Rule no. 2 – If you breached Rule no. 1:
Merge quickly – Put an expiration date on branches
Only one level
Police the branches
Pull Trunk before merging
Test branches before merging,[object Object]

More Related Content

What's hot

Deliver Fast and Reliably with Dev Ops and Atlassian
Deliver Fast and Reliably with Dev Ops and AtlassianDeliver Fast and Reliably with Dev Ops and Atlassian
Deliver Fast and Reliably with Dev Ops and Atlassian
Xpand IT
 
Establishing an Agile Testing Culture
Establishing an Agile Testing CultureEstablishing an Agile Testing Culture
Establishing an Agile Testing Culture
TechWell
 
Stop, Collaborate, and Listen - Dean Hudson
Stop, Collaborate, and Listen - Dean HudsonStop, Collaborate, and Listen - Dean Hudson
Stop, Collaborate, and Listen - Dean Hudson
Atlassian
 
Atlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and CultureAtlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and Culture
Atlassian
 
Modular UX Process
Modular UX ProcessModular UX Process
Modular UX Process
Jacob Geib-Rosch
 
Working with remote teams
Working with remote teamsWorking with remote teams
Working with remote teams
Serge Meytin
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
Leyla Bonilla
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
DataArt
 
How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...
How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...
How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...
Scrum Day Bandung
 
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Atlassian
 
BizTalk Maturity Assessment
BizTalk Maturity AssessmentBizTalk Maturity Assessment
BizTalk Maturity Assessment
Michael Stephenson
 
Jonathan Kohl - Is Agile Distracting You?
Jonathan Kohl - Is Agile Distracting You?Jonathan Kohl - Is Agile Distracting You?
Jonathan Kohl - Is Agile Distracting You?
TEST Huddle
 
James Hannon: A case study of an Agile Transformation - in a FINTECH firm
James Hannon: A case study of an Agile Transformation - in a FINTECH firmJames Hannon: A case study of an Agile Transformation - in a FINTECH firm
James Hannon: A case study of an Agile Transformation - in a FINTECH firm
Edunomica
 
Enterprise Social Networks: Evolving Models for Success
Enterprise Social Networks: Evolving Models for SuccessEnterprise Social Networks: Evolving Models for Success
Enterprise Social Networks: Evolving Models for Success
Enterprise Knowledge
 
Introducing Agile
Introducing AgileIntroducing Agile
Introducing Agile
Nivetha Padmanaban
 
A Model of Technical Leadership
A Model of Technical LeadershipA Model of Technical Leadership
A Model of Technical Leadership
VMware Tanzu
 
The Agile Way
The Agile WayThe Agile Way
The Agile Way
Tathagat Varma
 

What's hot (17)

Deliver Fast and Reliably with Dev Ops and Atlassian
Deliver Fast and Reliably with Dev Ops and AtlassianDeliver Fast and Reliably with Dev Ops and Atlassian
Deliver Fast and Reliably with Dev Ops and Atlassian
 
Establishing an Agile Testing Culture
Establishing an Agile Testing CultureEstablishing an Agile Testing Culture
Establishing an Agile Testing Culture
 
Stop, Collaborate, and Listen - Dean Hudson
Stop, Collaborate, and Listen - Dean HudsonStop, Collaborate, and Listen - Dean Hudson
Stop, Collaborate, and Listen - Dean Hudson
 
Atlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and CultureAtlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and Culture
 
Modular UX Process
Modular UX ProcessModular UX Process
Modular UX Process
 
Working with remote teams
Working with remote teamsWorking with remote teams
Working with remote teams
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...
How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...
How (can) Scrum and DevOps Walk Together to Build a High-Quality Product Deli...
 
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
Integrate Confluence and JIRA Agile for Collaborative Agile Program Managemen...
 
BizTalk Maturity Assessment
BizTalk Maturity AssessmentBizTalk Maturity Assessment
BizTalk Maturity Assessment
 
Jonathan Kohl - Is Agile Distracting You?
Jonathan Kohl - Is Agile Distracting You?Jonathan Kohl - Is Agile Distracting You?
Jonathan Kohl - Is Agile Distracting You?
 
James Hannon: A case study of an Agile Transformation - in a FINTECH firm
James Hannon: A case study of an Agile Transformation - in a FINTECH firmJames Hannon: A case study of an Agile Transformation - in a FINTECH firm
James Hannon: A case study of an Agile Transformation - in a FINTECH firm
 
Enterprise Social Networks: Evolving Models for Success
Enterprise Social Networks: Evolving Models for SuccessEnterprise Social Networks: Evolving Models for Success
Enterprise Social Networks: Evolving Models for Success
 
Introducing Agile
Introducing AgileIntroducing Agile
Introducing Agile
 
A Model of Technical Leadership
A Model of Technical LeadershipA Model of Technical Leadership
A Model of Technical Leadership
 
The Agile Way
The Agile WayThe Agile Way
The Agile Way
 

Viewers also liked

Principles in Refactoring
Principles in RefactoringPrinciples in Refactoring
Principles in Refactoring
Chamnap Chhorn
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
Strongback Consulting
 
Challenges of Agile Software Development
Challenges of Agile Software DevelopmentChallenges of Agile Software Development
Challenges of Agile Software Development
Wei (Terence) Li
 
Time complexity of union find
Time complexity of union findTime complexity of union find
Time complexity of union find
Wei (Terence) Li
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
QASymphony
 
3 big mistakes professionals make when presenting financial or operational da...
3 big mistakes professionals make when presenting financial or operational da...3 big mistakes professionals make when presenting financial or operational da...
3 big mistakes professionals make when presenting financial or operational da...
Dave Paradi
 
Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.
Velocity Partners
 

Viewers also liked (7)

Principles in Refactoring
Principles in RefactoringPrinciples in Refactoring
Principles in Refactoring
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Challenges of Agile Software Development
Challenges of Agile Software DevelopmentChallenges of Agile Software Development
Challenges of Agile Software Development
 
Time complexity of union find
Time complexity of union findTime complexity of union find
Time complexity of union find
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
 
3 big mistakes professionals make when presenting financial or operational da...
3 big mistakes professionals make when presenting financial or operational da...3 big mistakes professionals make when presenting financial or operational da...
3 big mistakes professionals make when presenting financial or operational da...
 
Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.Crap. The Content Marketing Deluge.
Crap. The Content Marketing Deluge.
 

Similar to Ben Reich - Continuous Integration Best Practices in Agile Environments

Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
Cory Foy
 
DevOps Game at SGZA
DevOps Game at SGZADevOps Game at SGZA
DevOps Game at SGZA
Dana Pylayeva
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps Success
TechWell
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
Peter Marshall
 
Jan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wantsJan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wants
Agile Lietuva
 
From four to forty in four years - lessons from growing a team
From four to forty in four years - lessons from growing a teamFrom four to forty in four years - lessons from growing a team
From four to forty in four years - lessons from growing a team
Rich Allen
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
Hal Rottenberg
 
Engaging the Xen Developer Comminity
Engaging the Xen Developer ComminityEngaging the Xen Developer Comminity
Engaging the Xen Developer Comminity
The Linux Foundation
 
One trunk one pipeline one truth
One trunk one pipeline one truthOne trunk one pipeline one truth
One trunk one pipeline one truth
Paul Boocock
 
Feedback loops - the second way towards the world of DevOps
Feedback loops - the second way towards the world of DevOpsFeedback loops - the second way towards the world of DevOps
Feedback loops - the second way towards the world of DevOps
Tapio Rautonen
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
ZeroTurnaround
 
Agile Development at W3i
Agile Development at W3iAgile Development at W3i
Agile Development at W3i
Jeff Bollinger
 
DevOps-driving-blind
DevOps-driving-blindDevOps-driving-blind
DevOps-driving-blind
Paul Peissner
 
A Story of Cultural Transformation at OLX
A Story of Cultural Transformation at OLXA Story of Cultural Transformation at OLX
A Story of Cultural Transformation at OLX
Damian Buonamico
 
How HipChat Ships and Recovers Fast with DevOps Practices
How HipChat Ships and Recovers Fast with DevOps PracticesHow HipChat Ships and Recovers Fast with DevOps Practices
How HipChat Ships and Recovers Fast with DevOps Practices
Atlassian
 
AATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameAATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate Game
Dana Pylayeva
 
SLDC Presentation
SLDC PresentationSLDC Presentation
SLDC Presentation
Charles Husemann
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOps
TEST Huddle
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
Peter Marshall
 
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
AgileNetwork
 

Similar to Ben Reich - Continuous Integration Best Practices in Agile Environments (20)

Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
DevOps Game at SGZA
DevOps Game at SGZADevOps Game at SGZA
DevOps Game at SGZA
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps Success
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
 
Jan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wantsJan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wants
 
From four to forty in four years - lessons from growing a team
From four to forty in four years - lessons from growing a teamFrom four to forty in four years - lessons from growing a team
From four to forty in four years - lessons from growing a team
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
Engaging the Xen Developer Comminity
Engaging the Xen Developer ComminityEngaging the Xen Developer Comminity
Engaging the Xen Developer Comminity
 
One trunk one pipeline one truth
One trunk one pipeline one truthOne trunk one pipeline one truth
One trunk one pipeline one truth
 
Feedback loops - the second way towards the world of DevOps
Feedback loops - the second way towards the world of DevOpsFeedback loops - the second way towards the world of DevOps
Feedback loops - the second way towards the world of DevOps
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Agile Development at W3i
Agile Development at W3iAgile Development at W3i
Agile Development at W3i
 
DevOps-driving-blind
DevOps-driving-blindDevOps-driving-blind
DevOps-driving-blind
 
A Story of Cultural Transformation at OLX
A Story of Cultural Transformation at OLXA Story of Cultural Transformation at OLX
A Story of Cultural Transformation at OLX
 
How HipChat Ships and Recovers Fast with DevOps Practices
How HipChat Ships and Recovers Fast with DevOps PracticesHow HipChat Ships and Recovers Fast with DevOps Practices
How HipChat Ships and Recovers Fast with DevOps Practices
 
AATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameAATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate Game
 
SLDC Presentation
SLDC PresentationSLDC Presentation
SLDC Presentation
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOps
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
 

More from AgileSparks

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner
AgileSparks
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin Goldsmith
AgileSparks
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi Gostynski
AgileSparks
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-Noam
AgileSparks
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman
AgileSparks
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
AgileSparks
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan Bertfield
AgileSparks
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv Kalo
AgileSparks
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny Duek
AgileSparks
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
AgileSparks
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
AgileSparks
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
AgileSparks
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat Enosh
AgileSparks
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper Boeg
AgileSparks
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior Frenkel
AgileSparks
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen Ezra
AgileSparks
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan Bertfield
AgileSparks
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability
AgileSparks
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017
AgileSparks
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017
AgileSparks
 

More from AgileSparks (20)

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin Goldsmith
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi Gostynski
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-Noam
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan Bertfield
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv Kalo
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny Duek
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat Enosh
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper Boeg
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior Frenkel
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen Ezra
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan Bertfield
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017
 

Ben Reich - Continuous Integration Best Practices in Agile Environments

  • 1. Continuous Integration Best Practices in Agile Environments Ben Reich @ AgileSparks
  • 2. Who Am I? 15 years leadership experience in software development & startup operations with Gantt charts 7 Years of searching and finding ways to improve life quality, predictability and efficiency www.linkedin.com/in/benreich E-mail: ben@agilesparks.com
  • 3. Ideas and best practices on implementing continuous integration in an agile way What is this about?
  • 4.
  • 7. So, why is it agile? Rapid Delivery Small Iterations Continuous Integration Working Software Encourage Cooperation
  • 8. But: Is a bunch of programmers constantly mixing some code together really getting us where we want to be?
  • 9. The Challenges of CI Distance from the end user Automatic tests are difficult Large and complex products Diverse organization Insufficient review Inter-team synchronization issues
  • 10. You know its becoming irrelevant if: Nobody is consuming it and people are waiting for your “real release”
  • 11. Escaped bugs Instant Response What Happens here? And here?
  • 12.
  • 13. “Holy Place” Culture – Done means Released Identify the “holy place” Designated delivery target Always up and running As Releasable as possible Replica of Production Demo-able and accessible Identify the Stakeholder Represents the customer Is motivated to succeed Can deliver UAT Has the bandwidth to review
  • 14. Put it where its accessible, demoable, won’t break but will be updated regularly in days
  • 15. The Delivery Gap Manual testing takes longer and there is no synchronization Developers need to program before testers need to test Large projects need constant integration testing Too many changes can disrupt the flow
  • 16. Ingredients to Fill the GAP Time Box WIP Limits Agile Communication
  • 17. Case Study – The Demo Cycle 8 man team 1 month sprint 1 week demo cycle 1 week deployment cycle Typically 2-4 user stories deployed per week
  • 18. The Continuous Delivery Train Station Cycle Integration Area Holy Place Team Branch Weekly Branch The Holy Trunk Commits Tests ? Deploy Branch Updated Weekly Branch Commits Tests Deploy
  • 19. The Continuous Delivery Train Station Cycle Integration Area Holy Place Team Branch Weekly Branch The Holy Trunk Commits Tests ? X Reject Whew!! Branch Last Good Branch Commits Tests Deploy
  • 20. The Continuous Delivery Train Station Cycle Integration Area Holy Place Team Branch Weekly Branch The Holy Trunk Commits Tests ? X Reject Branch Last Good Branch Commits Tests X Reject
  • 21.
  • 22.
  • 25. Large Projects - Scrum of Scrum Frequency – 1 to 3 days What is discussed? What has your team done since we last met? What will your team do before we meet again? Is anything slowing your team down or getting in their way? Are you about to put something in another team’s way? The last two items will feature: Broken APIs Synchronization issues Current build status Story and Epic issues
  • 26. Working with Large Remote Teams jQuery Linux Is it Impossible? rails django Python
  • 27. Learning from Open Source Manage by committee Dedicate resources to CI Set strict rules and enforce them Enforce and encourage communication Never go home with a broken build
  • 28. Rules of engagement - Example
  • 29. Github Change log – Social coding
  • 30. Source Control Management Recipes Quiz - Which Tree Looks More Target Oriented? Eshel Brosh 1 trunk – No Deviations
  • 31.
  • 32. Rule no. 2 – If you breached Rule no. 1:
  • 33. Merge quickly – Put an expiration date on branches
  • 37.
  • 38. Branching by Abstraction Logic Functionality Spaghetti Persistence Functionality
  • 40. Branching by Abstraction Replacement Old Layer New Layer
  • 42. Auto testing – The Key to Success Automate in order Automate the happy path first Maximize coverage with data and not complex scripting Look for repeating manual tests Spec test together with PO Automate when functionality is frozen
  • 43. What Next? Visualize your value stream Choose tools Continuous Integration Auto testing Deployment Invest in automatic testing Tailor fit a process to your needs
  • 44. Questions? Thank You! www.linkedin.com/in/benreich E-mail: ben@agilesparks.com