the coevolution of agile and continuous integrationdownload.101com.com › pub › adtmag › files...
TRANSCRIPT
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.