from xp and continuous integration to devops
DESCRIPTION
Agile and Automation have been growing up together over the past decade. Neither practice nor toolset evolves in a vacuum. Rather, they inform each-other. This presentation looks at this history, with an eye towards where the current trends are pushing us.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 toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiationResponding 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
A Historical Perspective
4
90’s: Daily Build and Smoke Test
5
Tinderbox
6
1999: “Daily builds are for wimps”
7
2001: First open source “CI” tools
8
2003: We know CI works
• 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
9
Agile & Automation in 2001-2004
Agile (XP)• Small teams• Developer-centric• High discipline• Co-located
Automation(Continuous Integration)
• Build focused• Developer testing• Open source• Lava lamps
10
2005-2010: To the Enterprise!
11
The Ken Schwaber Index
20012004
2010
12
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/
13
Agile & Automation in 2006-2011
Agile (Scrum)• Small & large teams• Cross Functional• Standardized• Distributed
Automation(Continuous Delivery)• Self-service• Builds, tests &
deployments• Enterprise• Shared infrastructure
14
Invention and Innovation
15
The difference
• Invention: proven to work in the laboratory• Innovation: it can be replicated reliably on a
meaningful scale at practical costs.
• For an idea to move from invention to innovation requires an ensemble of critical components. Peter M. Senge, The Fifth Discipline
16
Scrum: Innovation for Agile
• Predictable delivery, comfortable pace
• Agile with fewer objectionable demands
• Certifications and Training
17
CI: Innovation for Automation
• Automation• Instant feedback on quality• Easy setup with off the shelf tools• Self-service• Transparency/Visibility
18
Innovations are disruptive
19
CI Builds
Purpose: determine quality of latest changes
Audience: development team
Source: Build is traceable to latest changes and “latest” source
Artifacts: Throw away builds, tests are important
Build Management Builds
Purpose: produce artifacts for 3rd parties
Audience: 3rd parties outside development
Source: Build is traceable to source
Artifacts: Important builds, artifacts are important and primary
20
Agile has conquered App-Dev
21
Today: Failure in the last mile
22
Valuing “Working Software” means working in Production
23
DevOps: Agile reaches Ops
*image from Dev2Ops.org
24
DevOps is…
• Agile & Lean applied to the whole software delivery chain, not just developers– BizDevQaSecReleaseOps
• Driven by efficiency and consistency
• Optimizing software delivery end-to-end
25
DevOps is also disruptive
Dev
• Very High Tempo
• Can rebuild database / app from scratch– No need for Rollbacks
• Audit is nice to have– Security, traceability,
separation of duties.
• New Environments are common
Ops
• Slower Tempo
• Incremental updates to Database and App– Rollbacks are huge
• Audit Critical– Security, traceability,
separation of duties.
• New environments are rare
26
DevOps: the Implementation, Convergence
• IaaS on a private cloud
• Environment provisioning as a service.
• Application Deployment (CD) to provisioned environments.
27
Agile & Automation in 2012+
Agile (Scrumban + DevOps)• Small & large teams• Business to Ops• Standardized• Distributed• RM build to Prod
Automation(Provision -> Monitor)• Platform as a Service• Provision, build, test,
deploy, monitor• Enterprise• Shared infrastructure
28
Where are the tools headed?
• 2001-2006: CI tools
• 2006-2010: CI becomes Continuous Delivery
• Now: DevOps– CI is commodity.– Integrated CD tools focus on point solutions
deployment and pipeline management. – Expanding integrations with private cloud
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 toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiationResponding 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
What do I do Tomorrow?