Scrum is one of many Agile frameworks. It is the by far the most popular implementation, with 66% of all Agile frameworks being scrum or scrum variants.
In contrast, Agile is a continuous iteration methodology of development and testing in the software development process, whereas, Scrum is a framework or implentation of the Agile process that focuses primarily on delivering business value in the shortest time. Scrum is an Agile framwework, and is therefore not a replacement for the Agile development methodology.
Agile methodology delivers the software on a regular basis for the purpose of gaining immediate feedback, while Scrum breaks this down and delivers that piece of software software on a per sprint basis.
Scrum a very popular methodology for software developement and proposes a simple framework for effective team collaboration on complex projects. Scrum is a methodology that allows a team to self-organize and make changes quickly, in accordance with agile principles.
The scrum framework focuses primarily on enabling developers to address complex problems, while productively and creatively delivering them in the shortest amount of time.
Every team is lead by a scrum master who ensures that every project is guided by scrum principles.
Tasks are rapidly prioritized, responsibilities are deivided efficiently and every element of the project is time-boxed. A scrum master is the facilitator for agile development teams. The scrum master manages the process for how information is exchanged.
With complex projects, teams working with this methodology hold daily Scrum meetings, keeping track of done and pending tasks with the best available project management tools and software.
During these brief and efficient meetings, teams focus on the 3 essential questions of Scrum:
What did you accomplish since the last meeting?
What are you working on until the next meeting?
What is getting in your way?
In short sprints, teams are able to continuously re-prioritize tasks and reduce the product backlog with consistent efficiency.
Advantages of Scrum:
There is a lot of motivation in teams, because programmers want to meet the deadline of every sprint
The transparency allows for the project to be followed by all members of a team or even an organisation
The focus on quality is a constant in the scrum method, resulting in fewer mistakes.
The dynamics of this method allow developers to reorganise priorities, ensuring that sprints that have not yet been completed get more attention.
Disadvantages of Scrum:
The segmentation of the project and the search for agility of the development can sometimes lead the team to lose track of the project as a whole, focusing only on one part
Each developer’s role may not be well defined, resulting in some confusion amongst team members.