Table of Contents
Introduction of Agile Methodology
Agile methodology was formally launched in 2001 when 17 technologists drafted Agile Manifesto by listing its 4 core values:
- Individual and team interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change by following a plan
Why do we use Agile now and what was used before it?
Before Agile, people used the Waterfall model inspired by Henry Ford’s 1913 assembly line innovations, which provided certainty in each step taken that guaranteed the final product would match the one specified in the first place.
But Waterfall technology over the years proved inefficient. There are a couple of reasons and some of them are listed below:
- The waterfall model assumed requirements will not change over time but in the Internet era flexibility and speed became everything.
- In the Waterfall model, the product was seen only at the end of the project. This meant that even a small bit of change in the product would require years of planning and implementation.
- The product is tested only at the end and this means that if any errors or bugs were detected during the testing phase then the project would have to start from scratch again.
These disadvantages and many more called for a more efficient Agile development methodology. Agile software development methodology is one of the simplest and most effective processes to change requirements to the software solutions phase.
How does Agile methodology work?
An agile framework consists of three roles:
- User: Agile processes begin with the end user or customer in mind. The product is built keeping this role in mind.
- Product owner: This role represents the voice of the customer. His or her responsibility is to define a vision for the product or software and then work with the development team to make it a reality.
- Development Team: The team is composed of a diverse group of people with different skills to get the job done. These team members collaborate with each other and meet frequently to make sure everyone is aligned on what they are building, who is doing what, and how is the software being developed.
There are many frameworks available in the Agile methodology. The most common ones are Scrum and Kanban.
Scrum functions as below:
- Each iteration of software delivery is called a sprint.
- All the items that need to be delivered end-to-end are entered in the Product Backlog.
- During each sprint, top user stories are selected on priority and turned into Sprint Backlog.
- The team works on the defined Sprint Backlog.
- At the end of the Sprint, the product gets delivered.
Kanban functions as below:
- Kanban processes in a way where the team pulls user stories from an intake board and lets them pass through stages like To Do, In Progress, Completed, Reviewed, and so on.
- There is no team size prescribed, prioritization is optional and is not time-boxed.