Scrum and Agile
There are various software development methodologies currently in practice. Some of them are listed below
• Waterfall development
• Incremental development
• Agile development
• Extreme programming (XP)
Each of them have their own strengths and weaknesses. In this article we will discuss about agile development methodology and specifically on scrum.
What is Agile?
Agile software development describes a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams.
• Adaptive planning
• Evolutionary development
• Early delivery
• Continuous improvement
• And it encourages rapid and flexible response to change
Agile is a collection of values & principles that teams can use in making decisions about the process of developing software’s.
Through Agile Manifesto people have started to value,
Responding to change over following a plan.
Working software over Comprehensive documentation.
Customer collaboration over Contract negotiation.
Individuals and Interactions over Processes and tools.
Scrum in Software Development
Scrum is an iterative (relating to) agile software development framework for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal". In other words scrum is a part of Agile.
A key principle of Scrum is its recognition that during product development, the change requests that customers can appeal/changes on the product on what they want and need (often called requirements volatility) even at the last stages of the procedure.
To understand it better we have broken it’s components into 3 areas
Roles in Scrum
1. Product Owner
- Person responsible for defining the features needed in the product. Product Owner fuels the firm with fantastic ideas that later may develop into a product/service.
2. Scrum Master
- Servant leader to the team. Responsible for leading the team, keeping things intact and running the meetings Team
- Can be made up of Developers, Testers, Writers, or anyone who helps in building the product. They may take several roles during the procedure
Artifacts of Scrum
1. Product Backlog
- This is where product owner’s create a list of features knows as “User Stories”. User Stories are a way of describing a feature set which follows the “As a ……….... I need ……………. So that ……………” This list evolves and changes priority with every sprint.
- This way of phrasing allows the Product owner to clearly identify and enumerate the right amount of details in the team to estimate the time & size
2. Sprint Backlog
- The highest priority stories go to the sprint backlog. These are estimated for size and are committed to the next sprint.
3. Burndown Chart
- It is a run chart of outstanding work. It is useful for predicting when all of the work will be completed. This shows the progress during a sprint on the completion of tasks in the sprint backlog. It should approach 0 points as the task is being accomplished.
Ceremonies of Scrum
1. Sprint planning
- This is where the product owner, scrum master & team meet to discuss the requirements of the users & estimate their mass/sizes.
2. Daily Scrum
- This is a brief stand up meeting where the team discusses what they have completed since the previous meeting, what they are working on or anything that might be blocked or need help.
3. Sprint Review
- This occurs at the end of the sprint. This is where the team demonstrates the completed work to the product owner and then the team discusses what they can to do improve the process going forward.