Tradeoffs in the Software Workflow with Titus Winters
Software becomes valuable when it is released to users. DevOps methodology and works like “The Phoenix Project” rightfully point out that a major goal is to reduce the amount of “work in progress” - features that are in development but not released aren’t providing value, and tend to be less stable. Research from DORA in works like “Accelerate” provide a statistical justification: high performing software organizations ship small changes constantly, and have higher velocity and stability as a result. And yet, when we conceptualize the software workflow it seems like we have a lot of steps and processes: design, development, unit testing, code review, presubmit testing, submission, post-submit CI, integration tests, release qualification tests, canarying, monitoring, release.
In this talk we’ll try to make sense of two forces that seem to be in tension: fast workflows and release processes vs. the ever-expanding galaxy of workflow best practices. Along the way we’ll propose mechanisms to compare the value of defects spotted before release, and tie all of this back to fundamental definitions of software engineering: programming mixed with time and other programmers.
Titus Winters Bio
Titus is a Senior Staff Software Engineer at Google, where he has worked since 2010. At Google, he is the library lead for Google’s C++ codebase: 250 million lines of code that will be edited by 12K distinct engineers in a month. He served for several years as the chair of the subcommittee for the design of the C++ standard library. For the last 10 years, Titus and his teams have been organizing, maintaining, and evolving the foundational components of Google’s C++ codebase using modern automation and tooling. Along the way, he has started several Google projects that are believed to be in the top 10 largest refactorings in human history. That unique scale and perspective has informed all of his thinking on the care and feeding of software systems. His most recent project is the book Software Engineering at Google (aka “The Flamingo Book”), published by O’Reilly in early 2020.