DevOps 011: Let's Talk Agile
In this episode of the Adventures in DevOps podcast, the panelists talk about Agile. Nell starts the discussion by mentioning that Agile came out of the Scrum movement and gives a brief history of how it started. She reads out the Agile Manifesto, and Scott explains what it is. They agree that “move faster slowly” can be considered as a motto of Agile. Scott talks about the testing aspect of it from a philosophical perspective, and Nell chimes in with comparison to how things were being done in the past versus now.
They discuss the 12 principles behind the Agile manifesto. One - Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Two - Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage, basically valuing learning and improvements. Three - deliver working software frequently, from a couple of weeks to a couple of months with a preference for a shorter time scale, the focus being on the code being in a working state. Four - Business people and developers should collaborate daily through the project. Scott elaborates on the point further, and shares his experience where it was challenging to work with the business side of the project.
Five - Build projects around motivated individuals, give them the support they need and trust them to get the job done, trust being the most important factor here. Six - The most efficient method of conveying information is having a face-to-face conversation, here the panelists provide a counter-argument that in the era of online platforms and remote work, this is not necessarily essential. Seven - Working software is the primary measure of progress. Eight - Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. ‘Sustainable’ is key here, avoiding overworking and burnout is important anyday. Nine - Continuous attention to technical excellence and good design enhances agility. This means doing the full set of code reviews and tests and still deploy software quickly and making sure that it doesn’t break things, if it does, it has to be rolled back.
Ten - Simplicity - the art of maximizing the amount of work not done - is essential. This highlights the need for focus in the product, and not writing a lot of code that could eventually be unusable. Eleven - The best architectures, requirements, and designs emerge from self-organizing teams. Panelists talk about people involved in open source projects as an example of such self-organizing teams, where they work on their own schedule and have great interest in what they are building. Twelve - At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Retrospectives, reflecting where you are, how the team works together and documenting results as some sort of a learning exercise, are some of the practical examples of this.
Nell then talks about the three layers of Agile infrastructure by Patrick Debois - considered as the father of DevOps. These constitute of technical - the hardware and software, project - the process that introduces changes in the environment, and the operations - the process of keeping the environment working.
They state that we can build effective technology if we can relate to each other as humans, and discuss how Agile is perceived in certain controlled environments, if it’s possible in an Agile fashion and still have prescriptive solutions. They end the show with picks.
- Nell Shamrell-Harrington
- Scott Nixon
- The Agile Manifesto
- Principles behind the Agile Manifesto
- Kubernetes co-founder Craig McLuckie is as tired of talking about Kubernetes as you are