Welcome to Scrum Tutorials. The objective of these tutorials is to provide in depth understand of Scrum.
In addition to free Scrum Tutorials, we will cover common interview questions, issues and how to’s of Scrum.
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
An introduction to Scrum would not be complete without knowing the Scrum terms you’ll be using. This section in the Scrum overview will discuss common concepts in Scrum.
Scrum team: A typical scrum team has between five and nine people, but Scrum projects can easily scale into the hundreds. However, Scrum can easily be used by one-person teams and often is. This team does not include any of the traditional software engineering roles such as programmer, designer, tester or architect. Everyone on the project works together to complete the set of work they have collectively committed to complete within a sprint. Scrum teams develop a deep form of camaraderie and a feeling that “we’re all in this together.”
Product owner: The product owner is the project’s key stakeholder and represents users, customers and others in the process. The product owner is often someone from product management or marketing, a key stakeholder or a key user.
ScrumMaster: The ScrumMaster is responsible for making sure the team is as productive as possible. The ScrumMaster does this by helping the team use the Scrum process, by removing impediments to progress, by protecting the team from outside, and so on.
Product backlog: The product backlog is a prioritized features list containing every desired feature or change to the product. Note: The term “backlog” can get confusing because it’s used for two different things. To clarify, the product backlog is a list of desired features for the product. The sprint backlog is a list of tasks to be completed in a sprint.
Sprint planning meeting: At the start of each sprint, a sprint planning meeting is held, during which the product owner presents the top items on the product backlog to the team. The Scrum team selects the work they can complete during the coming sprint. That work is then moved from the product backlog to a sprint backlog, which is the list of tasks needed to complete the product backlog items the team has committed to complete in the sprint.
Daily Scrum: Each day during the sprint, a brief meeting called the daily scrum is conducted. This meeting helps set the context for each day’s work and helps the team stay on track. All team members are required to attend the daily scrum.
Sprint review meeting: At the end of each sprint, the team demonstrates the completed functionality at a sprint review meeting, during which, the team shows what they accomplished during the sprint. Typically, this takes the form of a demonstration of the new features, but in an informal way; for example, PowerPoint slides are not allowed. The meeting must not become a task in itself nor a distraction from the process.
Sprint retrospective: Also at the end of each sprint, the team conducts a sprint retrospective, which is a meeting during which the team (including its ScrumMaster and product owner) reflect on how well Scrum is working for them and what changes they may wish to make for it to work even better.
Each of the Scrum terms has its own page within this section, so be sure to check out all the pages in the navigation to the right to better understand the Scrum process.
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.