We are in the latest stage of revolution called Information Revolution. The software projects have fast-moving, complex and frequently changing environment. This has led to the call for an agile approach. There are more than ten agile methodologies. The common agile methodologies are Scrum, Extreme programming(XP), Kanban, lean product development, feature-driven development and so on. Among these, Scrum and XP are prominently used.
Agile Methodologies: Scrum:
Scrum is easy and popular agile among agile methodologies. In the agile scrum, software is developed in the several incremental releases called as a sprint. In every sprint, few requirements are considered for implementation of the potentially shippable product. The duration of each sprint can be two to four weeks. The product backlog and sprint backlog documents are used for tracking. The key roles in agile scrum are the product owner, the scrum master and the team.
Agile Methodologies: Extreme programming(XP):
Extreme programming is another widely used Agile methodology. It is often known as XP. Extreme programming focuses on best practices of software development. The software is developed using an iterative approach. Each iteration can be of two weeks duration. The user stories are used to plan the iterations. User stories are two line description of the features. The extreme programming is characterized by test-driven development, pair programming, and simple design. Each software release is followed by approval from the client. ‘Spikes’ are work periods for reducing risks. The key roles are the coach, customer, programmers, and testers.
Agile Methodologies: Kanban:
The Kanban agile methodology is developed at Toyota. The term ‘Kanban’ is a Japanese word meaning ‘signboard’. The signboard or Kanban shows the work items under each stage of production. The Kanban agile method is a task-based approach. Each item is pulled to the next stage of progress when there is a free slot in the Kanban (a signboard). The importance is given to limiting WIP(work in progress). It is important to limit WIP because it increases the productivity and work is done faster.
Agile Methodologies: Lean Product Development:
The lean agile method was developed in Toyota. It was developed for product based industry and later applied to software projects. According to PMI, lean agile method focuses on core concepts like eliminating waste, empowering the team, fast delivery, optimizing the whole, build quality, defer decisions and amplify learning.
Agile Methodologies: Feature Driven Development:
In Feature Driven Agile Development method, the software is developed based on a list of features. The further activities of the software development are based on the list of features. The small and dynamic teams consider a feature at a time for the software development. The cumulative flow diagrams and parking lot diagrams are commonly used tracking and diagnostic tools.
All the Agile methodologies have the same basic concept of situation based approach. They are suitable for projects of a new type and new technology for quick releases.
Check your understanding:
1. Name and explain(in at least 5 sentences) the Agile methodologies NOT listed in the article.