Upgrade to Pro — share decks privately, control downloads, hide ads and more …

4 months to 1 day sans buzzwords -Devops Days - India 2013

4 months to 1 day sans buzzwords -Devops Days - India 2013

http://devopsdays.org/events/2013-india/program/

Talk about frequent releases in software devlopment. The 'why', 'why not' and 'how' with the "Theroy of constraints" premise.
By -
@pavanks - Pavan KS
@anandhak - Anandha Krishnan

Mavenhive - www.mavenhive.in

Anandha Krishnan

November 16, 2013
Tweet

More Decks by Anandha Krishnan

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. What is in it for me? → Why should software

    be released often? → Why not? → How frequently? → How do we release faster?
  4. So, what’s wrong with buzzwords? Every buzzword inherently sounds important.

    It seems like something that you absolutely need.
  5. So, what’s wrong with buzzwords? → Focus on solutions, not

    problems → Tend to be much more than “Just Enough”
  6. Frequent releases... Why should anyone even do it? PS: Lets

    not just say - For “fast feedback” :)
  7. 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
  8. → 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!
  9. 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)
  10. How to go faster... → Critical Chain → Fail fast,

    learn fast → Less becomes more → Enough is enough → Production - Holier than thou?
  11. How to go faster... → Critical Chain → Fail fast,

    learn fast → Less becomes more → Enough is enough → Production - Holier than thou?
  12. Critical Chain → Helps identify bottlenecks → Time taken for

    a line of code to go to prod → Assumption: Only one way to deploy to prod ◦ Makes optimizing straightforward → Workflow leading up to prod itself could be complex
  13. How to go faster... → Critical Chain → Fail fast,

    learn fast → Less becomes more → Enough is enough → Production - Holier than thou?
  14. → Failure is great! It tells you what not to

    do. ◦ 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=Fpmse9PpDZE Fail fast, learn fast
  15. → Critical Chain → Fail fast, learn fast → Less

    becomes more → Enough is enough → Production - Holier than thou? How to go faster...
  16. 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
  17. How to go faster... → Critical Chain → Fail fast,

    learn fast → Less becomes more → Enough is enough → Production - Holier than thou?
  18. Enough is enough → Enough in the eye of the

    stakeholder → As a kid, how long did you take to clean your room? ◦ 40 minutes? ◦ 2 hours? ◦ A whole day?
  19. 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
  20. How to go faster... → Critical Chain → Fail fast,

    learn fast → Less becomes more → Enough is enough → Production - Holier than thou?
  21. Production - Holier than thou? → Most Customers don’t care

    about prod issues. ◦ They care more about turn around on fixing issues → Adding gates to prevent issues from creeping into prod is not smart ◦ There are many more issues hiding, you just don’t know them → Audit, don’t restrict. Avoid bottlenecks → Respect, not fear!
  22. Recap... → Critical Chain → Fail fast, learn fast →

    Less becomes more → Enough is enough → Production - Holier than thou?