Introduction
Man has constantly strived to reinvent himself from the beginning of the industrial era. The way we carry out tasks and projects has also evolved over the years, driving constant improvements. The work and the projects that we take up today are highly complex, involving many teams and several resources. For a project to be successful, all these resources need to be managed most efficiently, making the project or task run like a well-oiled machine.
The agile methodology became popular in 2001 with the Manifesto for Agile Software Development. It was introduced as a software development model based on other frameworks like Scrum and Kanban.
In short, Agile Methodology is a set of practices that allow teams to be highly efficient and productive, using iterative and collaborative approaches to development.
Agile today is applicable in any discipline that involves using multiple resources, like manpower, time and money. In this blog, we will limit our scope to agile software development methodologies.
Contents
5 most important types of Agile methodology
Kanban
Today, Kanban is the oldest and simplest agile methodologies in practice. It was developed in the late 1940s by a Japanese engineer named Taiichi Ohno. The goal with Kanban is to enable collaboration between teams by keeping the project progress and development as transparent as possible. It enables teams to share one single view of the progress of a project, allowing a clear view of tasks completed and tasks that are pending.
Kanban uses the Kanban board to visualise the entire project and its progress. The board indicates:
- The tasks that are pending.
- The tasks that are being carried out currently
- The tasks that are completed
All three are listed in separate columns side by side in that order. The tasks move through the columns from left to right as the project progresses, and tasks from the left-most column are pulled into the rightmost column. Kanba is about the status of tasks, unlike other methodologies like Scrum.
Scrum
Agile Scrum is a relatively new methodology, and has seen wide adoption due to its highly collaborative and iterative nature. Scrum was designed to address key issues in software development, one, the changing client requirements and two, the speed of development.
In Scrum, the entire project timeline is broken down into smaller, quickly achievable parts called Sprints. Each sprint is worked on by a small team of not more than 5 or 6 individuals. The Scrum methodology mandates regular meetings that require teams to update on the status of the current task. Any changes in client requirements can be easily accommodated in these regular meetings, avoiding any major project disruptions, while also closely adhering to client expectations.
Extreme Programming
Having a rather intriguing name, Extreme Programming (XP) is all about taking the best practises prevalent in software development to extreme levels with a rather intriguing name. Like Scrum, it involves quicker, shorter sprints through the project. Like Scrum, the intent in XP is to accommodate changing client requirements while maintaining software quality. Although, unlike Scrum, XP advocates rapid software development by adopting multiple incremental releases. The stand out aspect of XP is the development and testing of code in pairs, where groups of at least two programmers work to belt out a quick release after performing extensive code review and unit testing.
Dynamic Systems Development Method
DSDM was developed as part of efforts to standardise Rapid Application Development. The goal in DSDM is to try and deliver as much as possible in the quickest time possible. It was developed well before the Agile Manifesto and encourages collaborative and iterative models of development. DSDM requires development teams to react quickly throughout the development cycle, while also swiftly incorporating client changes. Team interaction workshops bring on board collaborative efforts that make it possible to deliver faster in a transparent way. With transparency, any changes in client requirements are easily incorporated.
Lean
The Lean methodology in the Agile Manifesto believes in reducing wastage and cutting down excesses while building in quality to deliver quickly. Lean also believes in continuous improvement, constantly reviewing the product development cycle for cutting down unjustified consumption of resources like time, manpower and finances.
It all boils down to the five guiding principles of lean agile types, which are,
- Value
- Value Stream
- Flow
- Pull
- Perfection
Conclusion
This was a quick and simple introduction to Agile methodologies. The scope of this blog did not permit elaboration on each of these methodologies, but you can lap up all the knowledge on these Agile methods at Jigsaw Academy. Jigsaw Academy also brings to you well-curated project management courses designed leading by industry experts.
References
https://www.easyagile.com/blog/lean-agile/
https://www.digite.com/agile/dynamic-system-development-method-dsdm/