Saturday, 9 May 2015

Scrum - Agile software Development Methodology

Difference between Agile and Waterfall development model.
Before I say anything about agile, let me explain few things about traditional waterfall model. In waterfall model, phases of software development cycle (Requirement gathering, Plan, build, test, deploy) for entire product (All features) are carried out sequentially. So this is very risky approach and costly as well. Because if the any critical bug surfaces in testing phase, we need to follow all phases in the same sequence again. The cost of fixing the bug surfaced in later stages is always very high.
On the other hand, Agile software development model tries to eliminate this risk by trying to deliver the product in small increments which are tested thoroughly. Focus is on delivering small but important features in the software in iterations (Sprints). So if a product has to be built with 100 features, we will not deliver all 100 features (requirements) in one cycle. But We will select only few features (say 15) and try to deliver it in first iteration(Sprint) and repeat the process for other features in next sprints.

All right. So What is agile software development?
Agile software development model is the one in which large software product is delivered in small iterations with each iteration delivering the upgraded version of the product. Scrum is one such agile development model.

Definition of Scrum.
Scrum is a agile software development model wherein entire software product development team works in collaboration with other with daily stand up meetings (scrums) of up to 15 minutes to discuss the progress of the project, identify any hurdles in the process and share the action plan for the day.

Below image will give the clear picture of how scrum model works. Please note that product backlog contains all the features (requirements) that the end product should have. Out of these features, only few features (based upon customer expectations) are pushed into sprint backlog and intended to be completed in the next sprint.

What is Sprint?
Sprint is also called as an iteration. In scrum model, a project can have many sprints. Each sprint is usually of 2 weeks duration. Duration of the sprint could be varying. But it is always less than a month.

Each sprint has below phases.

  1. Sprint planning - Sprint backlog and work items for next sprint are identified.
  2. Actual Sprint Work of say 2 weeks - Involves daily stand up meetings (scrums) and effort
  3. Sprint retrospection - At the end of each sprint, project progress is reviewed, positive things are noted down, discussions are done to improve the process further
Stakeholders of Scrum 
There are 3 kinds of stakeholders in Scrum software development model.
  1. Software Product Owner - Customer or someone who closely works with customer 
  2. Scrum Master - the person who drives the daily stand up meetings (scrums)
  3. Software development team 

What do you think on this topic? Please express your opinion or ask any question through comment below. You can write to me at

Sponsored Links

Popular Posts



Google+ Followers

Google+ Badge