Tuesday, August 16, 2016

SCRUM Introduction

SCRUM



On this link you can find the latest SCRUM Guide from 2016. I will try to give here a short and simple description of what SCRUM is. SCRUM is simply put a framework for developing complex projects. It is important to mention that it was created by developers. It's aim is to advance productivity and give better products in the end.

SCRUM TEAM
SCRUM recognizes 3 types of roles:
Product Owner is a person who is in charge of specification (product backlog items) and can represent a committee of stakeholders.
Scrum Master is a person who takes care that SCRUM is being used and is there to help the Product Owner and the Development Team.
Development Team are the people actively working on implementing the features from the product backlog items. Officially there are no different roles being recognized in the Development Team. Development Team as a whole is supposed to know everything and is able to make any part of the functionality (which is rare in reality) and together they are supposed to have enough know how to be able to implement the entire product. By SCRUM the Development Team should be between 3 and 9 people.

SCRUM ARTIFACTS
Scrum artifacts are the things provided in the SCRUM for everyone to understand the process and status of the product that is being developed.
Product Backlog Item can be a User Story, Task, Subtask, Incident, Bug etc...
Product Backlog is basically a list of of functionalities that need to be developed so that product can be finished or in other words product specification. It consists of well explained items by Product Owner, that can be understood and further refined and divided by the Development Team into the smaller units of work.
Sprint Backlog (a bit afterwards will be explained what a Sprint is) is a list of product backlog items that the Development Team has chosen to do in a certain time frame, usually between 1 and 4 weeks.
Burndown Chart is a graphical presentation of the progress of the tasks in a Sprint. We can see on it how much work should (mathematically calculated) ideally be done in every point of time of the Sprint.
Increment is the final list of fully working and accepted by the Product Owner functionalities (tasks) that are being developed in the Sprint.

SCRUM EVENTS
If Scrum Artifacts were the things, Scrum Events are the processes that are continually repeated.
Scrum Planning is a process in which we are planning which product backlog items are going to be included in the coming Sprint Backlog. Amount of items that will be inserted depends on the experience from the previous Sprints and how much work was actually done by the end. No item from the Product Backlog is allowed to enter into the Sprint Backlog until all the necessary criteria have been met, that are defined by the Development Team. It should take up to 8 hours for a 4 week Sprints and less for shorter ones.
Daily (Standup Meeting) Scrum is as it name says meeting that is being conducted on a daily basis by a Development Team, whose purpose is to clarify 3 things mainly. What has each developer done on a previous day, what are his plans for the current day and if there are any impediments that are blocking any member of the team from further progressing with their work.
Sprint Review is a demo that is being shown to the Product Owner of the Increment. It is being done at the end of the Sprint.
Sprint Retrospective is a process in which Development Team is discussing together with a Scrum Master what went good, what went wrong and how it can be improved in the following Sprint.

There are other two things that I find very important in the SCRUM framework. Definition of Ready and Definition of Done.
Definition of Ready: During the Scrum Planning when we are choosing which Product Backlog Items to put into Sprint Backlog we have to make sure that the Development Team has all the necessary information they need in order to implement the Backlog Item. SCRUM Team makes a deal about which all things need to be provided by the Product Owner so that the Product Backlog Item can be inserted into the Sprint Backlog. Definition of Ready can be updated during time when Sprint Retrospectives are done.
Definition of Done is a list of conditions that need to be fulfilled in order that Product Owner can accept some finished part of Increment (Sprint Backlog Item implementation).

I have tried to explain SCRUM in short and simply written text... There is much more to it and as they say SCRUM is easy to learn but difficult to master!

No comments:

Post a Comment