Agile and Scrum Methodology - Introduction
In this post (and a a few more to come), I will be writing about Agile methodology and how it works.
In Waterfall model, we perform the following:
Now, lets say it is a huge project and took around 6 months to complete. At the end of six months, when the product is released, the team realizes that this is not what the customer wanted or the market conditions have changed and the customer wants lot of modifications to the product.
There is only one shippable deliverable in this process and that was produced at the end of 3rd step, which took months together.
Clearly, there is a problem with this process.
This process focuses on smaller iterations and each iteration produces an increment of shippable deliverable.
So, an agile process looks like:
Iteration 1:
At end of Iteration 1 :Inspect and adapt
Iteration 2:
So, after every iteration, all the stakeholders introspect on what went wrong and what could be made better and also take stock of the market conditions etc.
So, at the end of 6 months, agile process will produce a product which is in line with what the customer wanted.
There are different subsets of agile methodology like 'Extreme programming', 'Feature driven development', 'Scrum' etc. So Scrum is one subset of Agile methodology.
At the end of each sprint, all the stakeholders meet to evaluate the team's progress and plan their next sprint.
What is agile?
Agile is a methodology, a way of managing projects which is emerged as an alternative to traditional software management (also termed as "Waterfall" model).In Waterfall model, we perform the following:
- Team gathers requirements
- Team comes up with design and architecture
- Team implements (coding)
- Release it to market
Now, lets say it is a huge project and took around 6 months to complete. At the end of six months, when the product is released, the team realizes that this is not what the customer wanted or the market conditions have changed and the customer wants lot of modifications to the product.
There is only one shippable deliverable in this process and that was produced at the end of 3rd step, which took months together.
Clearly, there is a problem with this process.
Why Agile?
Agile as the name suggests is a process which allows the stakeholders of the project to quickly adapts to the changing conditions.This process focuses on smaller iterations and each iteration produces an increment of shippable deliverable.
So, an agile process looks like:
Iteration 1:
- Team gathers requirements
- Team comes up with design and architecture
- Team implements (coding)
- Release it to market
At end of Iteration 1 :Inspect and adapt
Iteration 2:
- Team gathers requirements
- Team comes up with design and architecture
- Team implements (coding)
- Release it to market
So, after every iteration, all the stakeholders introspect on what went wrong and what could be made better and also take stock of the market conditions etc.
So, at the end of 6 months, agile process will produce a product which is in line with what the customer wanted.
There are different subsets of agile methodology like 'Extreme programming', 'Feature driven development', 'Scrum' etc. So Scrum is one subset of Agile methodology.
What is Scrum?
The idea of scrum (as derived from the Rugby game) is to take the entire team take smaller steps towards a common goal. Projects are divided into smaller units of work called 'Sprint' which are typically one week, two weeks, or three weeks in duration.At the end of each sprint, all the stakeholders meet to evaluate the team's progress and plan their next sprint.
Comments
Post a Comment