Lean, Agile, and DevOps: A Focus on Delivering Value

People often try to compare Lean, Agile, and DevOps, attempting to define a line of distinction between the three methodologies. However, the reality is that the strategies are closely connected: Lean led to Agile, which then evolved into DevOps.

All three strategies share a similar set of goals, including faster time-to-market, faster time-to-value, more efficiency, improved quality, increased customer satisfaction, cost savings, real-time user feedback, and constant improvement through continuous delivery.

The relationship between the three can also be defined by an ever-evolving set of definitions, meaning that the methodologies themselves are in a state of constant improvement.

A Brief History of Lean, Agile, and DevOps

While Agile and DevOps are typically associated with software development, lean thinking began decades before the digital era and continues to benefit high-tech and low-tech industries alike.

The road to Lean thinking and manufacturing began back in 1913 and can be traced back to automotive legends, Henry Ford and Kiichiro Toyoda.

Among Ford’s many innovations was a process known as flow production, the first fully-integrated end-to-end manufacturing process.

Flow production allowed Ford to assemble Model Ts rapidly, though the company was only able to produce this kind of output for the one model, in one color — hence Ford’s famous quote, “customers can have any color they wanted, as long as it’s black.”

In the 1930s, Toyoda and his team began building on Ford’s accomplishments, adding innovations that offered not only speed, efficiency, and quality but also variety.

In 1950, the company introduced the Toyota Production System which combined right-sizing, self-monitoring, sequencing, quick setups to facilitate the production of several small parts in small volumes, as well as part numbering and enhancing communication between steps to maintain required inventory levels.

Then in 1990, the book The Machine That Changed the World was published, introducing “the story of Lean Production – Toyota’s secret weapon in the Global Car Wars that is revolutionizing world industry.”

The definition of Lean philosophy had begun with the concept of what Toyoda referred to as “kaizen,” meaning continuous improvement at its core.

Lean Thinking and the Personal Computer Revolution

During the 1990s, the personal computer was becoming ubiquitous. At the time, developers estimated that it took about three years to deliver new applications to market. Business was moving at a much faster rate, presenting a challenge that developers dubbed “application delivery lag.”

In 2001, 17 developers, all Lean practitioners and advocates of Scrum, extreme programming, crystal, adaptive software development, feature-driven development, and dynamic systems development, got together to come up with a better way to accelerate software development. The meeting resulted in a new methodology, dubbed, “Agile.”

The developers formed a non-profit known as the Agile Alliance and wrote the “Manifesto for Agile Software Development” outlining the methodology’s core principles.

Today, the Agile Alliance is a professional association boasting over 30,000 members and subscribers actively participating in the Agile software development movement.

 

Account Maturity Level Assessment CTA

Some consider Agile as a philosophy since it draws from a range of methodologies, including Scrum, Extreme Programming, Kanban, pair programming, and more.

The Rise of DevOps

By 2007, Lean manufacturing and Agile, with its focus on continuous improvement, were replacing the traditional “waterfall” approach to software development.

The move toward rapid, iterative methods dramatically sped up the development cycle, allowing companies to deliver new applications faster than ever.

Around the same time, DevOps began to gain traction and early versions of cloud computing including infrastructure-as-a-service (IaaS) and platform-as-a-service (PaaS) were emerging, presenting incredible implications for integration and software-driven everything.

As cloud-based applications began to gain traction, the relationship between the developers creating the code and the operators managing the infrastructure became increasingly defined by mutual blame and perpetual finger-pointing.

By 2009, infrastructure itself was moving toward a code-driven model, making it more obvious that developers and operators needed to collaborate seamlessly using the same tools and platforms to assure a contiguous path from development to delivery. Adoption demanded an intensive cross-team training, centered on establishing a culture built on the common goal of creating an environment of constant improvement.

A 2013 Gartner report explained that the DevOps movement was born out of a need for faster IT service delivery. It focuses on nurturing a collaborative culture between development and operations teams while removing unnecessary impediments to service and application delivery by applying Agile and Lean concepts. Gartner presented DevOps as a social philosophy with the potential to transform organizations.

DevOps vs Agile: What Is the Difference Between Agile and DevOps? And How Are They Related?

It’s important to understand that DevOps doesn’t exist in a vacuum. The methodology complements Agile development, a process centered on continuous improvement, and Lean management, which encourages enterprises to build environments that support that constant improvement.

DevOps applies the same iterative, constant development, constant delivery, and constant integration concepts as Lean and Agile to achieve constant improvement in the development stage.

But it takes the methodologies a step further, applying those same principles to increase the time it takes to bring a new solution to market and reduce the time it takes for customers to achieve value.

In a Forbes article “Agile versus DevOps: Who Cares?,” writer Duena Blomstrom breaks down the difference between DevOps and Agile. She writes that Agile is either a description of processes and best practices or a set of values that guide how we run projects.

By contrast, DevOps is an umbrella vision that unifies formerly disparate functions within an organization, such as development, testing, and operational functions, and can also leverage the power of automation to redefine the organization.

Her takeaway is that the core difference between Agile and DevOps is that while Agile is more about execution, DevOps is a vision.

The training team at Guru99 agrees, that yes, there are many differences between Agile and DevOps, but they complement each other. They point to the following examples to highlight their symbiotic relationship:

  • Agile keeps teams small so they can move faster, while DevOps includes members of the entire stack which tends to result in larger teams.
  • Agile doesn’t emphasize automation, but it is the primary goal of DevOps.
  • Agile and DevOps often operate on different timelines. In Agile projects, a “sprint,” the term used for a specific period of iterative advancement, might be a month-long process. In DevOps, developers are often expected to deliver new code hourly.
  • Agile prioritizes workflows over detailed process documentation, while DevOps depends on comprehensive documentation to form the bond between development and operations.

The article then points out the symbiotic relationship between the two, noting that Agile is focused on software development, while DevOps promotes fast delivery of the end-to-end business solution, concluding that “DevOps supports Agile’s release cycle.

From another perspective, you might define the difference between Agile and DevOps as follows: Agile uses iterative processes that leverage collaboration, customer feedback, and small, rapid releases.

DevOps extends Agile processes to include the delivery, deployment, monitoring, and feedback that lead to the next iteration.

Ultimately, Agile is one of the ways in which DevOps is done.

Lean, Agile, and DevOps: All Roads Lead to Value

The common thread between Lean, Agile, and DevOps, is “value.” Whether that value is achieved by more frequent improvements to software, increased customer satisfaction scores, or faster time to market, the end game is delivering superior value to customers.

Tiempo has worked with a wide range of clients, planning and implementing successful DevOps initiatives by establishing a strong foundation that ensures the best possible outcomes. Learn more about Tiempo’s DevOps consulting and development solutions.