Wednesday, August 31, 2016

Scrum certification

There are 2 kinds of certificates existing for Scrum. One is from Scrum Alliance and one is from Scrum.org

CSM Certified Scrum Mater certificate from Scrum Alliance: https://www.scrumalliance.org/certifications/practitioners/certified-scrummaster-csm is not so good as it allows basically everyone to pass it. This organisation REQUIRES you to take a 2 day course and it costs around 1200$, but it really depends on where you are taking it. Up to 2012 everyone who was taking the course was getting a certificate, regardless of the test score. Nowadays it is still an easier option to pass.

PSM I Professional Scrum Master certificate from Scrum.org: organisation founded by Ken Schwaber. It takes a lot less money to take an exam than the above mentioned one, but that is just the exam fee (course is not required). From what I have heard, this one is also harder to get.

How should you prepare for the exam then? Basically you should study the Scrum Manual, a 16 page document and then test your knowledge with an Open Assesment https://www.scrum.org/Assessments/Open-Assessments and do until you can score 100% more times in a row. Next to this it is not bad to read some basic book about Scrum like Succeeding with Agile or some similar resource I will write about. It is of course good, not sure if necessary to practice Scrum for some time before taking an exam, but my personal opinion would be that you can pass the first level exam also without having an active practice.

Here are good articles from the scrum.org founder about why he has started the second organisation. He will just write what I have written above in more details.

How do I build an Agile organisation PART1 PART2 PART3

Enjoy on your path of becoming a certified Scrum Master!

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!