Co to jest Scrum?

Podczas produkcji oprogramowania jedną z najważniejszych kwestii jest sprawne działanie, czyli spełnienie wymagań klienta, dotrzymanie ram czasowych oraz dobra organizacja pracy zespołu. Projekty informatyczne mogą być skomplikowane. Dwie najczęstsze sytuacje to moment, w którym klient nie jest pewien, czego oczekuje lub wręcz oczekuje wszystkiego. W obu przypadkach najważniejszym zadaniem zespołu projektowego jest przedstawienie klientowi przydatnych biznesowo rozwiązań, przy czym należy również pamiętać o czasie i kosztach wdrożenia. Scrum świetnie sprawdza się właśnie w tego typu projektach IT.

Jak wygląda Proces Scrum?

Tworzymy zespół ludzi o odpowiednich umiejętnościach. Zadania realizowane są w Sprincie (iteracji), który powinien trwać od 1 do maksymalnie 4 tygodni, choć najczęściej spotykaną w praktyce są Sprinty 2 – tygodniowe. Każdy Sprint powinien wnieść nową wartość, która jest zauważalna dla użytkowników.

Zespół Developerski, organizuje sobie prace na dany sprint. W ramach jednej iteracji mamy następujące spotkania:

  • Planowanie – podział zadań,
  • Daily Scrum – codzienne spotkania,
  • Sprint Review – konsultacje planu z klientem lub analiza działającego produktu,
  • Sprint Retrospective – analiza procesu, wykorzystywanych narzędzi i wprowadzenie wszelkich dodatkowych przekształceń.

Role w Scrum

Zespół Scrum (Scrum Team) tworzy 7 do 11 osób, realizujących trzy role: Product Owner, Scrum Master i Development Team (rola zbiorowa). Zakres ich odpowiedzialności definiuje się następująco:

  • Product Owner (Właściciel Produktu) – osoba posiadająca wiedzę biznesową, a także znająca rynek docelowy dla danego produktu. Odpowiada za zdefiniowanie produktu, zarządza też zakresem funkcjonalnym i priorytetami realizacji poszczególnych zadań, odzwierciedlających wartość biznesową przełożoną na konkretne funkcjonalności. Zespół Programistów nie realizuje żadnych prac, które nie były zlecone przez Product Ownera, a Product Owner z kolei nie jest programistą. Warto też mieć świadomość, że Product Owner reprezentuje Interesariuszy (Stakeholders) którzy z kolei dysponują budżetem, niezbędnym do realizacji każdego zadania developerskiego i to nie tylko w Scrum, ale w każdej innej metodyce projektowej.
  • Scrum Master (Mistrz Scruma) – osoba znająca metodykę pracy w Scrum na wskroś. Odpowiada przede wszystkim za komunikacje w Zespole i rozwiązuje ewentualne kryzysy, a także za właściwy przebieg spotkań i zapewnienie komfortu pracy programistom. Jeśli pojawiają się przeszkody procesowe, Scrum Master je usuwa. Niezwykle ważną funkcją realizowana przez Scrum Mastera jest także zbieranie akceptacji (approvals) Product Ownera dla zrealizowanych zadań. Scrum Master ma świadomość znaczenia i praktycznej przydatności poszczególnych praktyk stosowanych w metodyce.
  • Development Team (Zespół Programistów) – zgodnie z metodyką Zespół Programistów Scrum to struktura samoorganizująca się, a kompetencje jego członków zapewniają możliwość realizacji produktu bez udziału osób z zewnątrz. Zespół liczy 7 +/-2 osoby, z pominięciem liczby 8. Dlaczego akurat 8 nie jest dobrym pomysłem? Zachęcamy do samodzielnego zgłębienia tego zagadnienia.

Jakie są zalety Scrum'a?

Jedną z najważniejszych zalet Scrum jest stały kontakt między członkami zespołu. Pozwala to szybko reagować na wszelkie zmiany. Dzięki temu znacznie łatwiej jest przewidzieć zakres prac i ich kolejność. Scrum to przede wszystkim rozwiązanie uniwersalne. Sprawdza się wszędzie tam, gdzie konieczne jest zarządzanie zespołem – pod warunkiem, że jest odpowiednio prowadzony. Daje dużą swobodę działania. Nie jest to gotowe rozwiązanie, ale zarys działań, procedur, narzędzi, dzięki którym można stworzyć najlepszy produkt.
Bardzo ważnym aspektem jest również minimalizacja opóźnień podczas realizacji projektu. Dzięki jasno określonym ramom czasowym realizacji poszczególnych czynności oraz codziennej kontroli możesz łatwo kontrolować postęp prac.

Galeria zdjęć

Wideo

What really Scrum is?

During software production one of the most important issues is efficient operation, fulfillment of customer requirements, keeping the time frame and good organization of the team's work. IT projects can be complicated. The two most common situations are when the client is not sure what he expects or expects everything. In both cases, the most important task of the project, is to present to client useful business solutions, remembering about the time and costs of implementation. Scrum is great for this type of proceeding.

What does the Scrum process look like?
We are a team of people with the relevant skills. Tasks are carried out in a Sprint (iteration), span which should from 1 to maximum 4 weeks, although the most common  are two weeks Sprints. Every Sprint should bring new value for users.


The Development Team organizes work forsprint. In one iteration, we have the following meetings:
-> Planning - tasks division
-> Daily Scrum - daily meetings
-> Sprint Review - reviewing completed work and determine additional changes are needed
-> Sprint Retrospective - discusion what went well during the previous sprint and what can be improved for the next sprint

Roles in Scrum
There are main three roles in Scrum Team: Product Owner, Scrum Master and Development Team (collective role, but members of te the team could be more (from 7 to 11). Their responsibilities are defined as follows:

  • Product Owner - A person who has business knowledge and also knows the target market for a given product. Responsible for product definition, he also manages the functional scope and priorities for the implementation of individual tasks, reflecting the business value translated into specific functionalities. The Programming Team does not carry out any work that was not commissioned by the Product Owner, and the Product Owner is not a developer. It is also worth being aware that the Product Owner represents Stakeholders who, in turn, have the budget necessary to carry out each development task, not only in Scrum, but in any other project methodology.
  • Scrum Master - a person who knows the methodology of working in Scrum thoroughly. He is primarily responsible for communication in the Team and resolves possible crises, as well as for the proper course of meetings and ensuring the comfort of work for programmers. If there are process obstacles, the Scrum Master removes them. An extremely important function performed by the Scrum Master is also collecting Product Owner approvals for completed tasks. The Scrum Master is aware of the importance and practical usefulness of individual practices used in the methodology.
  • Development Team - according to the methodology, the Scrum Programmers Team is a self-organizing structure, and the competences of its members ensure the possibility of product implementation without the participation of external people. The team consists of 7 +/- 2 people, omitting the number 8. Why is 8 not a good idea? We encourage you to explore this issue yourself.

What are the advantages of Scrum?
One of the most important advantages of Scrum is constant contact between team members. This allows you to react quickly to any changes. Thanks to this, it is much easier to predict the scope of work and their sequence. Scrum is primarily a universal solution. It works wherever it is necessary to manage a team - provided that it is properly led. It gives a lot of freedom of action. It is not a ready-made solution, but an outline of activities, procedures and tools thanks to which the best product can be created.
A very important aspect is also the minimization of delays during the implementation of the project. Thanks to clearly defined time frames for the implementation of individual activities and daily control, you can easily control the progress of work.

Gallery

Wideo