the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › files...

31
1 The Co-Evolution of Agile and Continuous Integration Jeffrey Fredrick Technical Evangelist [email protected]

Upload: others

Post on 25-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

1

The Co-Evolution of Agile and Continuous Integration

Jeffrey FredrickTechnical [email protected]

Page 2: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

2

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. 

Page 3: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

3

Ch 18: Daily Build and Smoke Test

Page 4: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

4

Tinderbox

Page 5: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

5

“Daily builds are for wimps”

Page 6: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

6

2001: First open source “CI” tools

Page 7: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

7

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

Page 8: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

8

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”

Page 9: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

9

CI improves productivity and quality

• 90% rise in LOC output/programmerwhen performing builds at least daily

• 36% reduction in defect ratewhen integration/regression testing at each code check‐in

“Trade‐offs between Productivity and Quality in Selecting Software Development Practices”, IEEE Software, Sept‐Oct 2003

Page 10: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

10

Technology Adoption Lifecycle

Page 11: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

11

G. Moore: Crossing the Chasm

Page 12: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

12

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

Page 13: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

13

CI feedback used to support agile adoption

Page 14: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

14

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 2005http://www.methodsandtools.com/dynpoll/oldpoll.php?Agile

Page 15: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

15

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 AdoptionForrester Research, Nov. 2005

Page 16: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

16

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‐so‐what‐and‐why‐do‐i‐care/

Page 17: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

17

The Ken Schwaber Index

• 2002Agile Software Development with Scrum

• 2004Agile Project Management with Scrum

• 2007The Enterprise and Scrum

Page 18: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

18

2009: Enterprise CI Maturity Model

Page 19: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

19

ECI Maturity: Building

http://www.anthillpro.com/html/resourcesEnterprise Continuous Integration Maturity Model

Page 20: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

20

ECI Maturity: Deploying

http://www.anthillpro.com/html/resourcesEnterprise Continuous Integration Maturity Model

Page 21: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

21

ECI Maturity: Testing

http://www.anthillpro.com/html/resourcesEnterprise Continuous Integration Maturity Model

Page 22: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

22

ECI Maturity: Reporting

http://www.anthillpro.com/html/resourcesEnterprise Continuous Integration Maturity Model

Page 23: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

23

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.”

Page 24: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

24

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/

Page 25: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

25

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 WorkExtra ProcessesExtra FeaturesTask SwitchingWaitingMotionDefects

Page 26: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

26

Manual processes become bottlenecks

Page 27: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

27

End-to-end automation removes bottlenecks

Page 28: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

28

Continuous Integration on a Dollar a Day

Page 29: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

29

Doing the impossible 50-times a day

Page 30: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

30

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. 

Page 31: the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › Files › the... · 23 Our enterprise continuous integration system • “... provides

31

Questions?Jeffrey Fredrick

Technical [email protected]