Take advantage of new trends in agile: Iterationless Kanban and Continuous Deployment
1.
2. Take advantage of new trends in agile:
Iterationless Kanban and Continuous
Deployment
Lean Startup Meets Lean Development: A Case Study
Erik Huddleston
2
3. Who Am I?
• CTO, Dachis Group • World’s largest Social Business Strategy Company, one of the
world’s largest group of Preferred Facebook Developers, Social
• Ran Development, Product Management, Operations at SaaS Business Intelligence technology
companies from startups to hundreds of millions in revenue
• AustinVentures backed, $30M B round in January
• Teams from 5 to hundreds
• 11 Acquisitions, 10 Offices, 6 Countries
• Recognized Agile Practitioner (Gartner case study, regular
conference speaker)
4. What am I going to talk about?
• Latest trends in software development: Lean Startup and Lean
Development
• How Dachis Group has successfully integrated these, including process
specifics and the technology we used to do it
• Three key areas of focus if you want to do the same
• Broadly applicable key learnings and insights from our process and
development technology innovation
Note: Reading material will be available in the appendix. The slides will be available online.
5. The Lean Startup Movement and the
Lean Development Movement are the two
methodologies at the leading edge of innovation in
Software Development
Lean Startup is a concept coined (and trademarked) by Eric Ries. Ries Lean software development is a translation of Lean manufacturing and Lean IT principles
writes that lean startups are born out of the following three trends: and practices to the software development domain. Adapted from the Toyota Production
System, a pro-lean subculture is emerging from within the Agile community.
1. use of free and open source software,
2. application of agile software development methods, and Lean development can be summarized by seven principles, very close in concept to lean
3. ferocious customer-centric rapid iteration, as exemplified by Steve manufacturing principles:
Blank's Customer Development process[1]. 1. Eliminate waste
2. Amplify learning
3. Decide as late as possible
4. Deliver as fast as possible
5. Empower the team
6. Build integrity in
7. See the whole
Definition Sources: Wikipedia
5
6. Both appear to be the heir apparents for both
startups and new ventures inside of existing
companies.
That means everyone who develops software
needs to know how to implement them together.
6
7. Unfortunately, while everyone prescribes using
an Agile or Lean development methodology with
"Lean Startups", very little is available to describe
HOW the two intersect
7
8. At Dachis Group, we have married the two.
There are three key areas of focus for others wanting
to do the same
• Building a Backlog
• Structuring your Kanban Flow
• Continuous Deployment
8
9. Qualifying Dachis Group, YMMV
• Large Scale SaaS Development, Rapid Growth
• Time/Place shifted development (9 time zones, 8 countries)
• Bleeding Edge Technology, Rapidly Evolving Market
YMMV: your mileage may vary. (idiomatic) It may work differently in your situation, or be different
in your experience.
9
http://en.wiktionary.org/wiki/your_mileage_may_vary
10. First, let’s meet the players
Customer Development Iterationless
Kanban
Organic Architecture
DevOps
10
12. Building the Backlog: How we did it
• Housed in JIRA/GreenHopper
• MVP features modeled in Epic/Feature/Story hierarchy
• Epic: Product X MVP Implementation
• Feature: Login
• Story: "As a user I would like the ability to reset my password so that I can
recover from a forgotten password without emailing support."
• Architectural Runway and Spikes captured during feature planning sessions
12
13. “ Lean Startup drives it's own development cadence
to the beat of customer and devops continual
”
learning, not iterations.
#summit11
13
17. Structuring your Kanban Flow:
How we did it
• GreenHopper
• Mercurial
• Custom WIP limit plugin (per developer working limit)
• Jenkins, Gradle, Artifactory, Ant, Maven based build
• Custom code to move stories through Kanban based on empirical data
17
18. “ Crucible turns changesets into social objects,
substituting for pair programming/local teams
”
for distributed dev.
#summit11
18
21. Continuous Deployment:
How we did it
• Chef for all environment changes
• Forward/backward compatible schemas for MySQL/RDS and Cassandra
• Log monitoring, Nogios, Mixpanel for rollbacks
“ The Next 6 Months Worth Of Features Are In
Facebook’s Code Right Now (But We Can’t See)
-- TechCrunch
” 21
22. “ Decoupling deployment from releases maximizes
”
G2M flexibility AND minimizes operational risk.
#summit11
22
23. How can you get started?
• Read the background material found in the appendix
• Talk to your product management organization about Lean Start Up
My Contact Details:
erik@erik.net
@ehuddleston
23
27. Background Book Reading
• Business Model Generation by Alex Osterwalder
• Four Steps to the Epiphany by Steve Blank
• Kanban by David Anderson
• Continuous Delivery: Reliable Software Releases through Build,
Test, and Deployment Automation by Jez Humble