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.
1. From CI to DevOps
Agile and Automation evolution
Eric Minick
Technical Evangelist
eric@urbancode.com
1
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.
2
8. 2003: We know CI works
• 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
8
9. Agile &Automationin 2001-2004
Automation
Agile (XP) (Continuous Integration)
• Small teams • Build focused
• Developer-centric • Developer testing
• High discipline • Open source
• Co-located • Lava lamps
9
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.”
12
http://blogs.gartner.com/david_norton/2010/01/20/enterprise-agile-in-2010/
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
15
16. Scrum: Innovation for Agile
• Predictable delivery, comfortable pace
• Agile with fewer objectionable demands
• Certifications and Training
16
17. CI: Innovation for Automation
• Automation
• Instant feedback on quality
• Easy setup with off the shelf tools
• Self-service
• Transparency/Visibility
17
19. CI Builds Build Management
Builds
Purpose: determine quality Purpose: produce artifacts
of latest changes for 3rd parties
Audience: development Audience: 3rd parties outside
team development
Source: Build is traceable Source: Build is traceable to
to latest changes and source
“latest” source
Artifacts: Throw away Artifacts: Important
builds, tests are builds, artifacts are
important important and primary
19
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
24
25. DevOps is also disruptive
Dev Ops
• Very High Tempo • Slower Tempo
• Can rebuild database / app • Incremental updates to
from scratch Database and App
– No need for Rollbacks – Rollbacks are huge
• Audit is nice to have • Audit Critical
– Security, traceability, separ – Security, traceability, separ
ation of duties. ation of duties.
• New Environments are • New environments are
common rare
25
26. DevOps: the Implementation, Convergence
• IaaS on a private cloud
• Environment provisioning as a service.
• Application Deployment (CD) to provisioned
environments.
26
27. Agile &Automationin 2012+
Agile Automation
(Scrumban + DevOps) (Provision -> Monitor)
• Small& large teams • Platform as a Service
• Business to Ops • Provision, build, test,
• Standardized deploy, monitor
• Distributed • Enterprise
• RM build to Prod • Shared infrastructure
27
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
28
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.
30