Agile is a methodology that outlines guidelines for iterative and incremental approaches to the software development lifecycle (SDLC). It involves adapting the software to continuously changing requirements as well as bringing the users into the development process.
Scrum is an implementation of the agile methodology. It is not a methodology or a process; instead, it is a framework used by modern software development teams.
Scrum is one of the most popular approaches to implementing the agile methodology. It consists of fixed-length iterations (called sprints) that roll out a working software with new features at the end of each sprint. A sprint can last anywhere between one and four weeks. After each sprint, the stakeholders and developers meet to discuss the plan, and any new requirements, for the future.
There are three main roles in Scrum:
The product owner oversees the development side, the marketing side, and the business side of the software.
The scrum master is responsible for organizing meetings, dealing with challenges, and resolving bottlenecks. These individuals are responsible for collaborating with the product owner to ensure that the product backlog is ready for the next sprint. The scrum master also makes sure that the team follows the scrum cycle efficiently and correctly.
A scrum team is a group of people who work on a specific task within a sprint. The team is generally comprised of five to seven members who work together to complete the set of tasks they are assigned.
The flow followed in the scrum cycle is illustrated below:
Free Resources