Scrum is one of the most heavily used agile techniques. It's not about coding; instead, it focuses on organization and project management.
Scrum is an Agile framework project managers can use to streamline their development process. It is most often used in software development. Learn to speak the language of Scrum and utilize this valuable management tool for your company.
Scrum projects deliver software application features iteratively.
Each iteration is called a sprint.
Scrum projects have 4 stages:
-Planning – Definition of the vision, budget, and expectations. The first version of the product backlog should containing enough implementation items for the first sprint.
-Staging – This is the first iteration where the requirements and product backlog created in the planning are refined.
-Development – It is the set of sprints required to implement the project fully. It ends when the product backlog is empty.
-Release – The final product is deployed, training is performed, documentation is finalized, etc.. The release backlog can be used as the product backlog for the next release of the product.
Scrum defines a set of recommendations, which teams are encouraged to follow. It also defines several actors - or roles, if you prefer that terminology - together with an iterative process of production and periodical planning. There are several tools, which accommodate the Scrum process.
The Scrum model suggests that projects progress via a series of sprints. In keeping with an agile methodology, sprints are time boxed to no more than a month long, most commonly two weeks.
Scrum methodology advocates for a planning meeting at the start of the sprint, where team members figure out how many items they can commit to, and then create a sprint backlog – a list of the tasks to perform during the sprint.
During an agile Scrum sprint, the Scrum team takes a small set of features from idea to coded and tested functionality. At the end, these features are done, meaning coded, tested and integrated into the evolving product or system.
On each day of the sprint, all team members should attend a daily Scrum meeting, including the ScrumMaster and the product owner. This meeting is timeboxed to no more than 15 minutes. During that time, team members share what they worked on the prior day, will work on that day, and identify any impediments to progress.
The Scrum model sees daily scrums as a way to synchronize the work of team members as they discuss the work of the sprint.
At the end of a sprint, the team conducts a sprint review during which the team demonstrates the new functionality to the PO or any other stakeholder who wishes to provide feedback that could influence the next sprint.
This feedback loop within Scrum software development may result in changes to the freshly delivered functionality, but it may just as likely result in revising or adding items to the product backlog.
Another activity in Scrum project management is the sprint retrospective at the end of each sprint. The whole team participates in this meeting, including the Scrum Master and PO. The meeting is an opportunity to reflect on the sprint that has ended, and identify opportunities to improve.
The primary artifact in Scrum development is, of course, the product itself. The Scrum model expects the team to bring the product or system to a potentially shippable state at the end of each Scrum sprint.
The product backlog is another artifact of Scrum. This is the complete list of the functionality that remains to be added to the product. The product owner prioritizes the backlog so the team always works on the most valuable features first.
The most popular and successful way to create a product backlog using Scrum methodology is to populate it with user stories, which are short descriptions of functionality described from the perspective of a user or customer.
In Scrum project management, on the first day of a sprint and during the planning meeting, team members create the sprint backlog. The sprint backlog can be thought of as the team's to-do list for the sprint, whereas a product backlog is a list of features to be built (written in the form of user stories).
The sprint backlog is the list of tasks the team needs to perform in order to deliver the functionality it committed to deliver during the sprint.
Additional artifacts resulting from the Scrum agile methodology is the sprint burndown chart and release burn down chart. Burn down charts show the amount of work remaining either in a sprint or a release, and are an effective tool in Scrum software development to determine whether a sprint or release is on schedule to have all planned work finished by the desired date.
Scrum Overview for Agile Software Development
Advantages of Agile SCRUM
-Agile scrum helps the company in saving time and money.
-Scrum methodology enables project’s where the business requirements documentation is hard to quantify to be successfully developed.
-Fast moving, cutting edge developments can be quickly coded and tested using this method, as a mistake can be easily rectified.
-It is a lightly controlled method which insists on frequent updating of the progress in work through regular meetings. Thus there is clear visibility of the project development.
-Like any other agile methodology, this is also iterative in nature. It requires continuous feedback from the user.
-Due to short sprints and constant feedback, it becomes easier to cope with the changes.
-Daily meetings make it possible to measure individual productivity. This leads to the improvement in the productivity of each of the team members.
-Issues are identified well in advance through the daily meetings and hence can be resolved in speedily
-It is easier to deliver a quality product in a scheduled time.
-Agile Scrum can work with any technology/ programming language but is particularly useful for fast moving web 2.0 or new media projects.
-The overhead cost in terms of process and management is minimal thus leading to a quicker, cheaper result.
In a nutshell this means that you can get development started fast, but with the caveat that the project scope statement is "flexible" and not fully defined. Hence this can be one of the major causes of scope creep if not managed properly.
Disadvantages of Agile SCRUM
-Agile Scrum is one of the leading causes of scope creep because unless there is a definite end date, the project management stakeholders will be tempted to keep demanding new functionality is delivered.
-If a task is not well defined, estimating project costs and time will not be accurate. In such a case, the task can be spread over several sprints.
-If the team members are not committed, the project will either never complete or fail.
-It is good for small, fast moving projects as it works well only with small team.
-This methodology needs experienced team members only. If the team consists of people who are novices, the project cannot be completed in time.
-Scrum works well when the Scrum Master trusts the team they are managing. If they practice too strict control over the team members, it can be extremely frustrating for them, leading to demoralisation and the failure of the project.
-If any of the team members leave during a development it can have a huge inverse effect on the project development
-Project quality management is hard to implement and quantify unless the test team are able to conduct regression testing after each sprint.