ECI Maturity

Document Sample
ECI Maturity Powered By Docstoc
					    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

                      Continuous Integration
Agile (XP)            (CruiseControl)
• Small teams         •   Build focused
• Developer‐centric   •   Developer testing
• High discipline     •   Open source
• Co‐located          •   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‐so‐
                             what‐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       The Seven Wastes of 
waste, Amplify learning,          Software Development
Decide as late as possible,     Partially Done Work
Deliver as fast as possible, 
Empower the team, Build         Extra Processes
integrity in, See the whole.    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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:9/28/2012
language:English
pages:31