Download - 4 months to 1 day Devopsdays Bangalore 2013
Activities that help go fast
rapid, reliable releases
traceability visibility
SCM continuous integration
release candidates
deployment mechanism and strategy
parallelization
environments configuration management
value stream map
components dependency management
metrics charts trends
faster reduce cycle time
smoke tests functional tests load tests exploratory tests user acceptance
…..…
role separation audit trail
binaries artifact repository
continuous delivery
build and deployment process
collaboration
unit tests code metrics pretty good build
one-click production deployment
path to production
rollbacks
Assumptions
→You have software that has been deployed
to prod
→Your software is under active development
→You have put at least one working software
to production
What is in it for me?
→Why should software be released often?
→Why not?
→How frequently?
→How do we release faster?
Frequent everything!
instead…
Lets do Q&A frequently
Usually, speakers talk Q & A gets “taken offline”
So, what’s wrong with buzzwords?
Every buzzword inherently sounds important.
It seems like something that you absolutely
need.
So, what’s wrong with buzzwords?
→Focus on solutions, not problems
→Tend to be much more than “Just Enough”
Why frequent releases?
→Learn what your customers “actually want”
→Always develop using signed off inventory
→ Integration is no longer an event
→Customers might enjoy constant updates
→Does anyone even care?
→Customer doesn’t know what will work
→Automation is pricey. Build more features?
→Something very small and simple?
Why not?
When not!
How Frequent is “Frequent”?
→Driven purely based on business goals
→4 months might be just as good as 2 days
→Let it evolve. It can change over the life cycle
of the project.
→Do what makes sense! (Seriously)
How to go faster...
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?
How to go faster...
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?
Critical Chain
→Helps identify bottlenecks
→Time taken for a line of code to go to prod
→Assumption: Only one way to deploy to prod
o Makes optimizing straightforward
→Workflow leading up to prod itself could be
complex
How to go faster...
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?
→Failure is great! It tells you what not to do.
o A bug in prod, failed smoke build, customer asking
you to change a feature etc. are all good
→Don’t add gates, add checks
→Build promotion is a good metaphor
→http://www.youtube.com/watch?v=Fpmse9P
pDZE
Fail fast, learn fast
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?
How to go faster...
Less becomes more
→Fast != Burn out
→Breaking down work into pieces is vital
→More the number of iterations, finer the
feedback
→ Its all about course correction quickly
How to go faster...
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?
Enough is enough
→Enough in the eye of the stakeholder
→As a kid, how long did you take to clean your
room?o 40 minutes?
o 2 hours?
o A whole day?
This is how Mark did it - True Story*
“My strategy was to do just enough work and then pull my
mom in so she could pass or fail my room’s tidiness”
- Mark Chang, Friend(http://www.thoughtworks.com/insights/blog/fail-fast-learn-fast)
(*) Barney Stinson, HIMYM
How to go faster...
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?
Production - Holier than thou?
→ Most Customers don’t care about prod issues.
o They care more about turn around on fixing issues
→ Adding gates to prevent issues from creeping into prod
is not smart
o There are many more issues hiding, you just don’t know them
→ Audit, don’t restrict. Avoid bottlenecks
→ Respect, not fear!
Recap...
→Critical Chain
→Fail fast, learn fast
→Less becomes more
→Enough is enough
→Production - Holier than thou?