Thursday, July 11, 2024

Agile is Not Scrum

Agile is a mindset for software development. This mindset can be implemented using different framework methodologies such as Scrum, XP, Kanban, etc.

Agile software development does not necessarily prescribe the concept of Sprints or Scrums. Sprints and Scrums are primarily related to a specific implementation of Agile, called Scrum.

Waterfall

In the early days of software engineering, when mainframes were the primary form of computing, Waterfall was the key form of software project management. It treated software product development like physical product development in long cycles where each step only flowed in one direction. At the time, this made sense.


Scrum

Before the advent of cloud computing, in 2006, software development and deployment (operations) were completely separate practices. The software engineers who developed code were not the engineers who distributed the software on media or servers. Breaking down software into Sprints, especially via Scrum, gave software development teams a fast, responsive, and iterative way of producing working software in short intervals and small chunks (versions) that was ready to ship (package) or deploy (on servers).


Kanban

Since the advent of cloud computing, both hardware infrastructure provisioning and software development can all be performed virtually. This gave rise to the integration of development and operations (DevOps) into a single practice. Software engineers can now provision, deploy, and monitor hardware. This led to continuous software development through automation and, specifically, continuous integration/continuous deployment (CI/CD).

Agile is a flexible and iterative approach to software development that can be tailored through different frameworks. The shift from Waterfall to Agile methodologies, such as Scrum and Kanban, has allowed for more responsive and efficient software development. The integration of DevOps practices, facilitated by cloud computing and automation, has further streamlined the process through continuous integration and deployment.

Just don't confuse the software development mindset with a specific implementation. Agile is not Scrum.



No comments: