When comparing development methodologies, from DevOps to Agile, Kanban and Scrum, to Lean Startup and MVPs, it...
can be difficult for product professionals -- project managers, user experience designers, engineers, quality assurance experts and operations professionals -- to know exactly how each relates to one another.
In this two-part article, I will separate the jargon from the underlying principles to help you better understand and apply these concepts to your product development process. I will focus first on identifying the critical takeaways of these different approaches to product development and then look at how these processes work together to continuously discover, validate, create and launch successful products.
Comparing development methodologies
Because it is such a widely used phrase, let's start first with Agile. At its essence, "Agile" is a philosophy that aims to eliminate unnecessary and burdensome development software processes (think Office Space "TPS reports"), which may limit the speed and quality of customer-facing features.
The two most popular Agile methodologies, Scrum and Kanban, both strive to focus development teams on rapid feature iteration by breaking down complex tasks and simplifying the process of developing, testing and launching new products in a complex system.
Scrum vs. Kanban: While continuous improvement and transparency of work are at the heart of both processes, Scrum is more oriented toward a highly disciplined schedule of work. The Scrum "sprint" defines a time-boxed effort and is a core aspect of the Scrum process that can successfully constrain work and limit scope creep within a dedicated time period. Scrum helps teams estimate work accurately and allows product teams to better manage multiple projects and teams simultaneously.
Kanban, however, has no time management component. Instead of time boxing by sprint, Kanban teams agree upon the number of stories that can be in each phase (discovery, development, testing, etc.) at any one time. New stories, therefore, may require that old stories be completed or discarded, creating a more self-enforced and flexible type of efficiency that may be better for the innovation and discovery phases of product development.
When comparing development methodologies, you can't ignore DevOps. In recent years, Scrum methods have been complemented (and, surely, improved) by the holistic philosophy of DevOps, which accounts not just for more efficiency in customer-facing feature requirements, but also requires teams to account for the necessary system requirements (SRs) that encompass everything needed to handle new features in a production system -- at a level where the feature will be successful in front of customers. Examples of SRs may include proper documentation, analytics, analysis of dependent systems, automation and so on.
What is Lean Startup? Isn't this just more jargon for Agile?
Layered on top of these various product development practices, we often hear about the concept of "Lean Startup," which was pioneered by Mary Poppendiecks, Tom Poppendiecks, Eric Reis, Ash Maurya, Marty Cagan, Jeff Patton and many others. Speaking broadly, while Agile methods focus on the "how, when, who and where" of rapidly iterating through features and eliminating waste, Lean methodologies focus much more on product validation; the "what" and "why" of these new features we're building and whether they will be successful.
Lean methodologies are centered around learning: from your customers, your data and from every line of code you build and put in front of customers.
Specifically, "The Lean Startup" idea was born during the throes of angel-funded technology companies, when competition was fierce and budgets were small. Such Lean methods aimed to address only the problems worth solving and to build only as much as was required.
The Minimum Viable Product, or MVP, embodies this process of "build, measure and learn." Every time you build and launch new features, you also need to have a plan to track and measure customer impact and interaction, in addition to having a process to learn from the data so you can build and launch a new iteration of the product. No more, no less, and repeat as fast as possible.
So how does this all fit together?
While different in approach and focus, the common thread running through Lean Startup, Agile and DevOps methods is building continuously, eliminating wasteful efforts and optimizing work that benefits customers. Now that we understand how these processes are distinct from one another, in Part 2 of this series comparing development methodologies, we'll look closely at how these processes work together to continuously discover, validate, create and launch successful products.
Do we still need the Agile manifesto?
Agile and DevOps -- a 2016 scorecard
When Lean meets big data
Learn how to make BizDevOps happen