Agile Methodology and Frameworks
Agile is an umbrella term which encompasses many frameworks and approaches to delivering value in a complex environment. It centres around incremental and iterative steps to completing projects.
Agile is a buzzword which has become increasingly popular since the Agile Manifesto was created in 2001. The concept was born when a group of software practitioners required a more structured, human approach to complex work. The term is widely used to refer to Agile Frameworks which include Scrum.
In this article, we will take a closer look at some of those specific methodologies and frameworks and how they are used to guide Scrum Teams.
What is Agile Methodology?
Despite its name, Agile Methodology does not explicitly outline methods. It instead intends to guide teams using a set of principles and frameworks to deliver high quality results. The processes which a team uses are dependent on what they choose suits them best, which in turn allows them to remain agile.
Agile Methodology is a way of managing projects by breaking them up into iterations. In addition, the emphasis is on providing incremental builds of working products rather than one significant release. It involves constant collaboration with stakeholders and continuous improvement at each stage. Once the work begins, teams cycle through a process of planning, executing, and evaluating in each iteration.
What are Agile Frameworks?
Agile Frameworks are a specific approach to planning, managing and executing work. Some of the most common Agile Frameworks include:
* Extreme Programming (XP)
* Feature-Driven Development (FDD)
* Domain-Driven Design (DDD)
* Dynamic Systems Development Method (DSDM)
* Agile-Waterfall/Hybrid Agile
* Scrum XP Hybrid
There is no one single best framework, however, Scrum and Kanban are the most widely recognised and used amongst Scrum Teams. Considering they are the two most popular frameworks, let’s have a look at each in more detail:
Scrum is a methodology where a small team collaborate in a timeboxed manner. It is facilitated by a Scrum Master, whose main responsibility is to eliminate any obstacles which might impact the team’s ability to complete the work. During Scrum, work is done in short cycles which are known as “Sprints”, however, the team meets daily to discuss tasks and any potential roadblocks.
Kanban, on the other hand, is a flow based approach to project management. Teams are expected to visualise the work and individual tasks at hand. This is often using either sticky notes on a whiteboard or it can be done digitally using online apps. To track progress tasks are then progressed through predetermined stages reflecting the workflow of the team. This method can also be beneficial in helping to identify any roadblocks.
Both Scrum and Kanban have advantages. Which one is used should be determined by the type and the specific requirements of the team. For example, it’s said that Scrum is best suited to development teams, while Kanban is more suited to Operations Support teams.
The remaining methodologies, again, provide different qualities and advantages that will benefit some teams more than others.
Summary of Agile Methodology and Frameworks
Agile Methodology provides guidance on how to choose methods and procedures that work best for a team. The most suitable option will vary depending on the nature of the work, the team and varying requirements. In Agile, the focus remains on the team being able to decide what is most useful for them.