DevOps Principles and Practices - Increase the flow of work and reduce lead time Make our work visible. Limit work in progress. Reduce batch sizes. Everything in Source Control. Automate Everything . http://itrevolution.com/books/phoenix-project-devops-book /
Make our work visible Our work is Invisible. We cant see where flow is being impeded. We cant see when work is piling up, where is the waste, & why wait. Not all the team members has up-to-date information of work.
Make our work visible http://itrevolution.com/books/phoenix-project-devops-book / we need to make our work as visible as possible. Have Visual work boards, such as kanban boards or sprint planning boards. we can also manage our work so that it flows from left to right as quickly as possible. Helps us to measure metrics – WIP, Lead time and throughput.
Limit work in progress Too many items in In-Progress state. Multitasking. Context switching. Interruptions
Limit work in progress(WIP) Set WIP limit. Unless item is done we cant take more items. One piece flow from left to right. Queues Buffers Swim lanes https://theagileist.wordpress.com/2015/06/22/the-arrow-advanced-kanban-board /
Reduce batch sizes Waterfall type release. Big bang release. Skyrocketing levels of WIP. Long lead time. Poor quality Late release W ait
Deploy small amount quickly and Frequently Single-piece flow, where each operation is performed one unit at a time. T iny batches needed for continuous deployment. Use Trunk-based development. Faster feedback Reduce risk Less overhead Detect and resolve faster E ach change committed to version control is integrated, tested, and deployed into production
Everything in Source Control
Reduce the number of handoff Long deployment lead time months or quarters. Hundreds (or even thousands) of tasks to deploy. M ultiple departments to work on a variety of tasks. Too much of WAITS Knowledge loss
Reduce the number of handoff Automate Everything
Automate Everything Jez Humble says – Computers Perform Repetitive Tasks, People Solve Problems Code deployment should be automated, repeatable, and predictable Production-like environments at every stage. Enable Continuous integration of code Enable Continuous delivery pipelines Treat Infrastructure as code Environments must be created in an automated manner Make infrastructure easier to rebuild than to repair Environments should be stable, reliable, consistent, and secure . Build a fast and reliable automated validation test suite
DevOps Culture - Communication & Collaboration, Trust, Decreasing silos, Fast Feedback loops, Systems thinking, LEAN, Automation, Measurement & Continuous Improvement Make our work visible. Limit work in progress. Reduce batch sizes. Everything in Source Control. Automate Everything. Takeaways