The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist jtf@urbancode.com



Similar documents
Agile Software Development

Accelerate Software Delivery

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Agile and lean methods for managing application development process

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Agile in Financial Services A Framework in Focus

Software Processes. Agile Methods

Agile Software Development in the Large

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Agile Project Management

Success Factors of Agile Software Development

Agile Development Overview

Introduction to Agile Software Development. EECS 690 Agile Software Development

The Impact of Agile Methods on Software Project Management

Agile and lean methods for managing application development process

Agile QA s Revolutionary Impact on Project Management

How Product Management Must Change To Enable the Agile Enterprise

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

Lean Software Development

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems

Scaling Agile Is Hard, Here s How You Do It!

Agile Requirements And Testing For Continuous Software Delivery

Software processes that are:

Applying Lean on Agile Scrum Development Methodology

Automated Acceptance Testing of High Capacity Network Gateway

Agile with XP and Scrum

CSE 435 Software Engineering. Sept 16, 2015

How To Plan A Project

Introduction to Agile Methods

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Agile and Secure: Can We Be Both?

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

IT4304 Rapid Software Development (Optional)

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

The Quality Manifesto

Lean Software Development and Kanban

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

When agile is not enough

CARMEN DEARDO DEVOPS TECHNOLOGY LEADER, NATIONWIDE INSURANCE

Agile Estimating: My DPS Dissertation

AGILE PHILOSOPHY APPLIED TO PROJECT MANAGEMENT

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Scrum and Agile methods The real world

Agile, TSP SM, CMMI pick one, pick two, pick all three!

History of Agile Methods

AGILE BUSINESS INTELLIGENCE

The 3C Approach for Agile Scrum Software Methodology Jisha Johns, Akhil P Sivan, Prof. K Balachandran, Prof. B R Prathap

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Lean vs. Agile similarities and differences Created by Stephen Barkar -

The Agile Movement An introduction to agile software development

Impact of Architecture on Continuous Delivery

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Traditional SDLC Vs Scrum Methodology A Comparative Study

The Agile Service Management Guide. By Jayne Gordon Groll

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

Testing in Scrum Projects

Quality Assurance in an Agile Environment

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Agile Project Management: Adapting project behaviors to the software development environment

PMP vs. Scrum Master

Laboratório de Desenvolvimento de Software

Role of the Business Analyst in an Agile Project

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Software Engineering

Introduction to Agile Software Development

Bridging the Gap Between Acceptance Criteria and Definition of Done

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

MANAGEMENT S ROLE 1/16/ Copyright 2001, Net Objectives

Software Life Cycles and Configuration Management

Agile Project Management: Best Practices and Methodologies

Continuous delivery Release software on-demand, not on Red Alert

Agile Beyond The Team 1

Anatomy of an Enterprise Software Delivery Project

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Agile Project Management

Software Asset Management (SAM) and ITIL Service Management - together driving efficiency

"Testing in the DevOps World of Continuous Delivery"

QUANTIFIED THE IMPACT OF AGILE. Double your productivity. Improve Quality by 250% Balance your team performance. Cut Time to Market in half

D25-2. Agile and Scrum Introduction

RISK MANAGMENT ON AN AGILE PROJECT

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Moonzoo Kim CS Division of EECS Dept. KAIST

Transcription:

The Co-Evolution of Agile and Continuous Integration Jeffrey Fredrick Technical Evangelist jtf@urbancode.com 1

Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 2

Ch 18: Daily Build and Smoke Test 3

Tinderbox 4

Daily builds are for wimps 5

2001: First open source CI tools 6

CI is about discovering problems early Manual Continuous Integration the practice of frequently integrating my work with the work of the team Automated Continuous Integration the practice of giving automated feedback as rapidly as possible following a change 7

Automated CI works with people People generally want to be good citizens... People tend to inconsistency People can do similar things repeatedly, but never the same thing. Jim Highsmith Alistair Cockburn, Characterizing People as Non Linear, First Order Components in Software Development 8

CI improves productivity and quality 90% rise in LOC output/programmer when performing builds at least daily 36% reduction in defect rate when integration/regression testing at each code check in Trade offs between Productivity and Quality in Selecting Software Development Practices, IEEE Software, Sept Oct 2003 9

Technology Adoption Lifecycle 10

G. Moore: Crossing the Chasm 11

Agile & CI in 2001-2004 Agile (XP) Small teams Developer centric High discipline Co located Continuous Integration (CruiseControl) Build focused Developer testing Open source Lava lamps 12

CI feedback used to support agile adoption 13

State of Agile in 2005: Tool-Centric At what stage is agile approach adoption at your location? Investigating: 14% Pilot projects: 4% Partial implementation (some practices): 17% Partial deployed (some projects): 12% Deployed (all new projects): 8% Methods & Tools Poll: Ended May 2005 http://www.methodsandtools.com/dynpoll/oldpoll.php?agile 14

State of Agile 2005: Management-Centric State of Agile process in your organization? Interested or planning to deploy: 19% Using: 14% Corporate IT Leads the Second Wave of Agile Adoption Forrester Research, Nov. 2005 15

Agile Growth 2005-2008 Forrester (Q3 2007): 26% using Agile vs. 14% in 2005 Methods & Tools (Feb 2008): 48% usage vs. 37% in 2005 http://www.rallydev.com/ agileblog/2008/03/ agile adoption rates sowhat and why do i care/ 16

The Ken Schwaber Index 2002 Agile Software Development with Scrum 2004 Agile Project Management with Scrum 2007 The Enterprise and Scrum 17

2009: Enterprise CI Maturity Model 18

ECI Maturity: Building http://www.anthillpro.com/html/resources Enterprise Continuous Integration Maturity Model 19

ECI Maturity: Deploying http://www.anthillpro.com/html/resources Enterprise Continuous Integration Maturity Model 20

ECI Maturity: Testing http://www.anthillpro.com/html/resources Enterprise Continuous Integration Maturity Model 21

ECI Maturity: Reporting http://www.anthillpro.com/html/resources Enterprise Continuous Integration Maturity Model 22

Our enterprise continuous integration system... provides us an end to end automation across our build lifecycle. We now have a faster cycle time, fewer manual errors and an easier time in audits.... allowed our small, globally distributed scrum teams to cooperate in large system builds automatically. By keeping the code integrated we eliminated late errors, improved coordination across teams, and eliminated our release bottleneck.... handles our wide range of platforms and prevents our ports from going stale. Our bill of materials is now generated automatically and our support people can access historical information any time. 23

Enterprise Agile Governance? clients told me of their plans to use Scrum on a $5 million project with 400 developers in three countries Its not the engineering practices that will trip us up, continuous integration, test first, refactoring these things are understood. Its governance that s going to be the problem. http://blogs.gartner.com/david_norton /2010/01/20/ enterprise agile in 2010/ 24

Agile has a Lean future 7 Lean Principles: Eliminate waste, Amplify learning, Decide as late as possible, Deliver as fast as possible, Empower the team, Build integrity in, See the whole. The Seven Wastes of Software Development Partially Done Work Extra Processes Extra Features Task Switching Waiting Motion Defects 25

Manual processes become bottlenecks 26

End-to-end automation removes bottlenecks 27

Continuous Integration on a Dollar a Day 28

Doing the impossible 50-times a day 29

Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 30

Questions? Jeffrey Fredrick Technical Evangelist jtf@urbancode.com 31