Few pointers from the book Accelerate- Science of lean software and devops
- People are organisation #1 Asset, but that is not how organisation operate
- Can Devops solve the problem to build secure,resilient,rapidly evolving distributed systems at scale?
- 31% of the industry is not using continuous integration and delivery
- Focus on capabilities not maturity which doesnt allow continuos improvement,Capability models are multi dimensional and dynamic
- Few lines of code for a solution rather more lines which increases maintenance and higher cost of change
- 4 metrics to focus - delivery lead time,deployment frequency,time to restore service(MTTR),change fail rate
- Reducing batch size reduces cycle time,variability in flow,accelerates feedback, reduces risk and overhead
- For High performers deployment frequency in on demand(multiple deploys per day), Lead time to change is < 1 hour,MTTR is < 1 hour,change failure rate is 0-15%.
- Keep branches short lived (less than one day work) and integrate in to trunk/master frequently
- Automated unit and acceptance test should be run against every commit to version control to give developers for fast feedback on changes
- Collaboration is required across teams - UX, developers, testers,product and operations resources
- Version control for Application code,System configuration,Application configuration,Scripts for automating build and configuration is mandatory for developer excellence
- Continuous delivery - Continuous delivery, Deployment automation,Continuous Integration,Trunk based deployment,Test Automation, Test data management, Shift left on security, loosely coupled architecture,Empowered teams,Monitoring and Proactive notification
- Westrum Organisation culture - Risk Shared, Messengers trained,High cooperation,Bridging encouraged,Failure leads to enquiry, Novelty implemented
- Impact of continuous delivery - less deployment pain, less burnout
- Best performers spend 49% of their time in a day for new code, 21% on unplanned work/rework,30% on other work(meetings, maintenance etc)
- TDD(Test driven development) forces developers to create more testable designs
- Focus on short continuous merging and integration time periods
- Security management is often overlooked
- Lean management - Limit work in progress,Visual management,feedback from production,light weight change approvals
- Only high risk changes like data base changes need to go for CAB approval
- Lean Product development -work in small batches,make flow of work visible,generate and implement customer feedback and team experimentation
- Build systems that are designed to be deployed easily in to multiple environments.can detect and tolerate failures in other environments and can have various components of system updated independently
- Burnout - due to work load and value conflicts between individual and organisation
- eNPS - Employee Net promoter score to improve operations efficiency, if employees are treated well, they will take care of the client and customers well
- Transformational leadership - Vision, Inspirational leadership,Intellectual stimulation,Supportive leadership,Personal recognition
- Give flexibility to work on technical debt, create space after releases to learn new tools, capabilities etc, allow employees to work on side projects for creative thinking
It was an interesting read quite while ago, just thought of sharing it after practicing it. Please let me know your views