You hear a lot about various agile approaches. Things like Lean, Scrum, Kanban, and Devops seem to be important but it’s hard to sort them out. How do they relate to each other and where to start? Let me try to structure these ideas for you.
Lean is the basis of Agile
Lean tells you to optimize the end-to-end process which creates value for your customer – from the initial idea to collecting cash. Lean principles focus on flow more than anything else: bottlenecks in the process must be removed and wasteful activities need to be identified and avoided.
Build product development flow on top of Lean
Creating value for your customers is all about finding and verifying product ideas, implementing these ideas, and running them to benefit your users. There are several excellent schools of thought you can use for structuring your processes: Lean Startup and Running Lean to hash out product ideas, Scrum, Kanban, and XP for building features in an adaptable way, and Devops to create a culture of focusing on delivering value for the customer instead of only caring for technical issues.
The three aspects of product development flow
- Lean Startup or Running Lean: here Eric Ries and Ash Maurya talk about how to create a learning cycle during feature discovery. From validating ideas to testing possible solutions, they teach you to only attack problems worth solving and keep your solutions focused.
- Scrum, Kanban, and XP: the typical agile processes showing you how to setup adaptive software development for fast feedback cycles through early customer involvement.
- Devops: the cultural aspect of concentrating on business results rather than technical details. Devops incorporates a lot of lean principles, focusing on improving the collaboration between developers and operations folks.
A word of warning: individually, none of these agile processes is able to optimize the entire flow. You need to address all three to truly improve your business.
Lean principles are the basis of your entire product development flow. As you start down the path of improvement, make sure you consider the whole as sub-optimizing just one part will hurt your business.
What are your thoughts on the interplay of these ideas? Please let us know in the comments below…
9 thoughts on “How are Lean, Agile, and Devops related to each other?”
Nice, but I do think this is minimizing the soft skills emphasized in dev and ops communication, collaboration, and cooperation: https://www.agileweboperations.com/devops-these-soft-parts 🙂
You’re right. I fully agree with everything you said in your article.
I tried to focus on the various processes only. The three Cs you mention are not part of this picture. I’ve not found a way to depict everything in one picture yet. I’ll keep trying 🙂
Thanks for the post, makes it clearer where the various parts fit together. I’ve read loads about DevOps and Agile but none that linked them so simply.
Nice post! One minor comment: Scrum and Kanban are mainly process frameworks and only XP is more focused on best engineering practices. Keep in mind that solid software developemnt skills are still necessary for sucessfull product development. In one training session Ken Schwaber mention that idealz Scrum should be combined with additional engineering practices from XP.
Thanks Mitko. You’re absolutely right. I did not focus on this necessary distinction in this article.
I see you describe DevOps as “containing” or transcending Agile as the broader term. However, if the Agile Manifesto does NOT apply to IT operations, it is difficult to see how DevOps can succeed in its goals.
The Agile Manifesto is written for Software Development only. DevOps builds on those principles. I’ve even written a post where I try to adapt the manifesto to web operations: https://www.agileweboperations.com/the-12-principles-behind-the-agile-manifesto-adapted-to-web-operations
Thanks for the post