The Doppler Quarterly Winter 2019 | Page 25

DEV OPS Practices to continuously improve your software development life cycle (SDLC) model: • Always seek to increase flow. If the process is well defined, then the team can analyze and find efficiencies. • Always seek to achieve profound understanding of the system. Like a craftsman or an athlete honing their skills to unconscious levels, repeated exercises and knowledge of your value stream leads to well informed and expert flow-improvement decisions. Practices to continuously improve your automation: • Ensure each step is built in a repeatable way. Repeat- able procedures replace ad hoc and one-off steps. • Never pass defects to the next step. Fix problems immediately, as they become visible. Do not pass the problem downstream. • Never allow local optimization to create global degra- dation. Do not introduce shortcuts that impact other workstations or process steps in the value stream. Practices to continuously improve your collaboration: • Embed knowledge where it is needed. Source control, documentation and any specialized knowledge should remain inside the loop and not outside. • Allocate time to spend on improvement. Dedicate resources and projects to “technical debt,” which includes fixing bugs and refactoring code and processes. • Establish rituals to reward risk taking. In annual employee reviews have managers focus less on bug fixes and more on “how many experiments or new tools did you try this year?” • Introduce faults to test resiliency. Fire drills and failover exercises test the system’s ability to endure failures. • Set ambitious stretch goals. Try reducing one-week application release cycles to one day. Where can a company start building its continuous improve- ment muscles early? Using a tool like value stream mapping is a good start. This helps an organization understand its processes end to end, and gets all stakeholders involved in the software development life cycle. This exercise creates a visual map of the whole process – identifying where the lag times and bottlenecks are. Using this information, stake- holders at all parts of the process can work together to strengthen the loop. Continuous improvement is a concept that has been around a long time yet is still driving change in modern times. It is not a program that is just implemented, wrapped up and reported on. To work well, a continuous improvement initia- tive has to be continuous – ongoing, without a formal end. It is a journey, and it is everybody’s job to make that journey a success. WINTER 2019 | THE DOPPLER | 23