The most popular agile methodologies include such names as Scrum, and Kanban. In reality, there are many more methodologies that differ from one another, but all follow the same Agile mindset of continuous improvement.
Scrum
Probably the most well-known methodology of the agile family, Scrum is characterized by having small development cycles called sprints. Transparency, inspection, and adaptation are the three core principles of Scrum.
Advantages:
- Constant focus on quality results in fewer mistakes
- Helps to reorganize priorities, bringing forward the sprints that haven’t been completed yet
- Smaller sprints motivate software developers to meet the deadlines
Disadvantages:
- The roles within the team are not well-defined which can confuse team members
- Focusing on the smaller parts may lead team members to lose track of the project as the whole
Kanban
The main focus of Kanban methodology is continuous delivery. Kanban uses transparency and open communication to maintain the “just-in-time” workflow and not overload the software engineering team with development tasks.
It helps to improve the workflow and optimize the processes thanks to its visual information interpretation.
Advantages:
- Very helpful in task organization
- Shorter cycle times can deliver features faster
- Possible to make changes mid-cycle
- Allows balancing the numbers of tasks every team member carries out
- Helps to implement sudden changes in requirements
Disadvantages:
- The tasks in the Kanban board can be misunderstood or misinterpreted
- No time frames associated with each cycle can lead to delays in delivery