While the phrase “Play it again, Sam” never occurs in the film Casablanca, the sentiment does. Sam is asked to play “As time goes by”, a song about how some things remain the same despite the passage of time. The song was originally part of a 1931 Broadway musical, and perhaps ironically due to a musician’s union strike when Casablanca was released, the studio were unable to release a new version of the song as a record. Instead, they re-issued the original version, recorded over a decade earlier.
DevOps is the “play it again, Sam” of software methodologies. Its central message is that development and operations staff should work together closely on the shared goal of producing working software, and that other activities should be subordinate to that goal.
This echoes very closely the earlier principles from the Agile manifesto, that working software should be the primary measure of progress, and that the best systems arise from self-organizing teams. These principles came to Agile from other, earlier sources: Extreme Programming, Crystal, DSDM, Rapid Application Development.
DevOps also borrows from the Lean Software Development movement, using ideas like empowering the whole team, optimizing the whole, and deciding as late as possible. Lean Software Development in turn got these ideas from lean manufacturing, a movement developed from the Toyota Production System worked out in Japan during its post-war industrial reconstruction.
We can draw a shorter line from the manufacturing industry to DevOps. The business novel, The Phoenix Project, which tells a fictional example of an IT department transformed through discovery and implementation of the DevOps principles, is a straightforward retelling of an earlier book. Eliyahu Goldratt’s business novel The Goal tells the story of a manager at a failing manufacturing plant who turns it (and, bizarrely, his marriage) around by applying Goldratt’s Theory of Constraints to his operation. Perhaps the biggest difference between the two novels is that Goldratt’s protagonist gets promoted after demonstrating the success of his techniques, while Kim’s is promoted while it’s still clear to him and his manager that he has no clue what he’s doing. This ass-backwards career progression is necessary to make the book realistic in a software development context.
And DevOps is not the end of this chain of retellings. DevSecOps tells us exactly the same thing as DevOps, but with security in the mix. It reminds us that security is not achieved by adding a penetration test or compliance-ticking activity at the end of our development process, but is part of the design, implementation, delivery and operation of a successful software system.
We will see this again. Perhaps the blog post that is seen as the seed of the next post-DevSecTestDocBlockchainUXAIOps revolution has already been published, and hasn’t been recognised yet. The thing is, this repetition is necessary. It’s necessary for multiple reasons.
- Contexts change. The world in which DevOps was introduced was not the world in which Agile was introduced. Through the prism of distance, people understanding software development methodology now wouldn’t necessarily see what the big deal is about Agile and what was so bad about what we were doing before, after all don’t Windows, Macintosh, Unix, the web, the Internet, and everything all predate it?
- People change. Plenty of programmers now weren’t alive when the Agile manifesto was published. Almost all of us weren’t around to watch Japan being rebuilt after 1948. Some of us who were once junior engineers are now senior, or have moved into QA or documentation, or out of in-house teams into shrinkwrap product development, and need to understand how to apply our principles to our new environments.
- Stories grow stronger through repetition. If one person tells you about a new way of doing things, they’re a crackpot. Ten people are a cult. A thousand are a movement. A million are a revolution. A story told today is a flash in the pan. If it’s still being told next year, it’s a school of thought. If it’s still being told in two thousand years, it’s a culture.
So here’s to DevOps, to DevSecOps, and to whatever comes next. And to Lean, Agile, Toyotism, and whatever came before. Long may we keep retelling our stories, and listening to others’.