DevOps Talk in the Tech Pub

Plan

  • What DevOps is
  • How to implement DevOps
  • The 3 ways
  • The 1st way
  • The 2nd way
  • The 3th way
  • The Phoenix Project
  • The DevOps Hand Book
  • The Goal

What DevOps is ?

There is not a given definition about DevOps, however I will borrow an idea from Ben Lambert

DevOps is the philosophy of the efficient development, deployment and operations of the highest quality software possible

There is no a right way to implement DevOps

What no to do

The First Way : The pinciples of Flow

  • Make our work visible
    • Use Boards
  • Limit Work in progress
    • Avoid multi tasking
  • Reduce Batch Size
    • Why is it better to make an envelope first rather than a single process first
  • Reduce the number of handoffs
    • Avoid unnecesary steps even more if those include other people or areas like authorizations
  • Continually Identify and elevate our constraints
    • Pinpoint those bottlenecks and work on improve them as much as possible
    • Environment creation
    • Code deployment
    • Test setup and run
    • Overly tight architecture
  • Eliminate hardships and waste in the value stream
    • These are some of the stuff that can be considered as waste
      • Partially done work
      • Extra processes
      • Extra features
      • Task switching
      • Waiting
      • Motion
      • Defects
      • Nonstandard or manual work
      • Heroics

The Second Way : The principle of Feedback

  • Working safely within complex systems
    • Complex work is managed so that problems in design and operations are revealed
    • Problems are swarmed and solved, resulting in quick construction of new knowledge
    • New local knowledge is exploided globally throughout the organization
    • Leaders create other leaders who continually grow these types of capabilities
  • See problems as they occur
    • Encourage feedback
  • Swarm and solve problems to build new knowledge
    • prevent the problem to spread
    • prevent the work center to start new work
    • solve the problem right away
    • this can be accomplish with proper testing, once a test is failing it will ring the bell
  • Keep pushing quality closer to the source
    • Quality must be on the hands of the people that is directly related to the feature
    • Avoid validation form high command managers that do not have idea about the feature itself
  • Enable optimizing for downstream work centers
    • architecture
    • performance
    • stability
    • testability
    • configurability
    • security

The Third Way : The Principles of Continual Learning and Experimentation

  • Enable an organizational learning and safety culture
  • By removing blame, you remove fear, by removing fear you encourage honesty and honesty is the mother of clarity and improvement
  • Institutionalize the improvement of daily work
    • If there is we do not improve then we are moving backward
    • Even more important than daily work is the improvement of daily work
  • Transform local discoveries into Global improvements
    • share documentation so that everyone could gain benefit from it is a key component for this tenent
  • Inject resilence patterns into our daily work