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

Post on 25-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

The Co-Evolution of Agile and Continuous Integration

Jeffrey FredrickTechnical Evangelistjtf@urbancode.com

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. 

3

Ch 18: Daily Build and Smoke Test

4

Tinderbox

5

“Daily builds are for wimps”

6

2001: First open source “CI” tools

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

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”

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

10

Technology Adoption Lifecycle

11

G. Moore: Crossing the Chasm

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

13

CI feedback used to support agile adoption

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

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

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/

17

The Ken Schwaber Index

• 2002Agile Software Development with Scrum

• 2004Agile Project Management with Scrum

• 2007The Enterprise and Scrum

18

2009: Enterprise CI Maturity Model

19

ECI Maturity: Building

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

20

ECI Maturity: Deploying

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

21

ECI Maturity: Testing

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

22

ECI Maturity: Reporting

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

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

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/

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

26

Manual processes become bottlenecks

27

End-to-end automation removes bottlenecks

28

Continuous Integration on a Dollar a Day

29

Doing the impossible 50-times a day

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. 

31

Questions?Jeffrey Fredrick

Technical Evangelistjtf@urbancode.com

top related