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

[2016.09 Meetup #5] [TALK #2] Antonio Ferreira - Release and Relax

DevOps Lisbon
September 12, 2016

[2016.09 Meetup #5] [TALK #2] Antonio Ferreira - Release and Relax

How do software development teams deliver their software? Is it possible to "simply" release the software and disconnect? Most software development teams would answer: "No way!". And why? Because of a lack of confidence in their software. Lack of confidence that the software addresses user wants and needs, lack of confidence the software was correct, lack of confidence in deployment methods, lack of confidence on the stability of production environments, and so on... But, we can do better. We can change the way we deliver software, and that's what we would like to show. How we can build confidence in software delivery so that we can simply deliver and relax.

DevOps Lisbon

September 12, 2016
Tweet

More Decks by DevOps Lisbon

Other Decks in Technology

Transcript

  1. Who we are 2 A small consultancy “boutique” Focused on

    helping software development organizations Focused on improving performance through: smart engineering techniques collaborative and inclusive software development environments Very broad experience: healthcare, telecommunications, insurance, industry
  2. Purpose of software development teams What is our purpose? Why

    do we exist? Deliver value to our clients through software We can do this the hard way. Or we can do it the relaxed way! 3
  3. Release and Relax In order for me to release and

    relax, I must truly have confidence that: 1. I’m delivering the right piece of software 2. I have implemented software in accordance to whatwas expected 3. The software has (nearly) zero defects 4. All the dependencies have been taken in account 5. I can deliverit anytime, from any machine 6. The change will notbreak the environment 7. I will be able to leave the environment in a coherent, controlled state 5
  4. 6 How we see software development Define Value driven specification

    Well known acceptance criteria Business oriented The Team
  5. 7 How we see software development Define Build Value driven

    specification Well known acceptance criteria Business oriented Open specification Engineering driven decisions Open communication Trust Strong configuration management principles If something is hard, do it frequently Automate everything: testing, integration Code sharing Quality built in Consistent but notpersistent environments The Team
  6. 8 How we see software development Define Build Deploy &

    Release Value driven specification Well known acceptance criteria Business oriented The Team Open specification Engineering driven decisions Open communication Trust Strong configuration management principles If something is hard, do it frequently Automate everything: testing, integration Code sharing Quality built in Consistent but not persistent environments Well known build mechanisms Deterministic deployment Release and Relax
  7. When principles meet practice ✓Non-existent principles or ceremonial in nature

    ✓“Works on my machine” – “Works in QA environment” ✓ “Its with the testing team now” – “Can’t deploy, freeze for QA” ✓Cannot reproduce the behaviour – Don’t even know which version client A is using ✓No Product Teams – “Structure Teams” – devops, qa, support, etc 9
  8. How does this work? ✓Let’s see an example that uses

    this tooling: 10 Create Branch Pull Request Analysis Deployment Notification
  9. Let’s optimize teamwork ✓High-performing IT organizations deploy 30x more frequently

    with 200x shorter lead times; ✓60x fewer failures and recover 168x faster ✓Lean management and continuous delivery practices create the conditions for delivering value faster and reliable ✓High performance is achievable whether your apps are greenfield, brownfield or legacy. 20 From 2015 State of DevOps Report