DevOPS Methodologies

DevOPS teams have embraced Agile, Scrum and Kanban methodologies to decrease development and deployment times, while increasing code quality.  While broadly fitting under the umbrella of Agile, both Scrum and Kanban are quite different from each other. A few of the most notable differentiators include:


=====

Agile Methodology


Agile is a term used to describe approaches to software development emphasizing incremental delivery, team collaboration, continual planning, and continual learning. The term "Agile" was coined in 2001 in the Agile Manifesto. The manifesto set out to establish principles to guide a better approach to software development. At its core, the manifesto declares 4 value statements representing the foundation of the agile movement. 

As written, the manifesto states:


=====

Kanban Methodology


Kanban is a Japanese term meaning signboard or billboard. An industrial engineer named Taiichi Ohno is credited with having developed Kanban at Toyota Motor Corporation to improve manufacturing efficiency

While Kanban was created to help with manufacturing, software development teams share many of the same goals, including wanting to increase their flow and throughput. Using some of the guiding principles of Kanban listed below, teams can often improve their efficiency and deliver value to their users faster.

=====

Scrum Methodology


Scrum is a framework used by teams to manage their work. Scrum implements the principles of Agile as a concrete set of artifacts, practices, and roles. The following diagram details the Scrum lifecycle. Scrum is iterative. The entire lifecycle is completed in fixed time-period called a Sprint. A Sprint is typically 2-4 weeks long.

Scrum prescribes three specific roles: