Co to jest Scrum?

W Scrum samo-organizujący się, interdyscyplinarny Zespół, pracujący w rytmie krótkich sprintów, zamienia wymagania biznesowe, określone przez Właściciela Produktu, w działający fragment systemu.

Pod koniec każdego sprintu zespół demonstruje wyniki swoich prac odbiorcom oraz we własnym gronie planuje ulepszanie procesu do wykorzystania w następnym sprincie.

Nad przestrzeganiem zasad Scrum czuwa Scrum Master, którego zadaniem jest też usuwanie przeszkód organizacyjnych utrudniających pracę Zespołu, ale już nie kierowanie i kontrolowanie decyzji i działań poszczególnych jego członków.

Scrum jest oparty o empiryczną teorię kontroli procesów, zakładający częstą inspekcję i adaptację procesu wytwórczego i jego produktów. Scrum określa podstawowe role w procesie, zasady komunikacji oraz ramowe reguły organizacji pracy, nie opisuje natomiast konkretnych praktyk technicznych, zostawiając ich dobór samemu zespołowi.

Scrum ma szereg przydatnych cech pokazujących jego przewagę nad tradycyjnymi podejściami:

  • Krótkie sprinty do działającego produktu – praca w Scrum podzielona jest na krótkie (od jednego do czterech tygodni) sprinty, w ramach których zespół tworzy działający fragment finalnego produktu.
  • Szybkie i częste dostarczanie realnej wartości – pod koniec każdego sprintu odbiorca oprogramowania dysponuje działającym fragmentem produktu realizującym najbardziej wartościowe funkcje (według oceny Właściciela Produktu).
  • Skrócenie czasu oczekiwania na informację zwrotną i wykorzystanie jej do ulepszenia produktu i samego procesu.
  • Wgląd w realny postęp prac – działający fragment produktu (lub jego brak) pod koniec każdego sprintu zastępuje pośrednie wskaźniki oparte o mniej lub bardziej abstrakcyjne wyobrażenia (“produkt jest w 90% gotowy” – pozostałe 10% trwa często drugie tyle).
  • Szybka walidacja założeń biznesowych, technicznych i organizacyjnych – jeśli zespół nie jest w stanie dostarczyć działającego fragmentu produktu lub produkt nie spełnia prawdziwych potrzeb odbiorcy to możliwe jest szybkie zareagowanie poprzez zmianę lub re-prioretytezację pozostałych wymagań, usunięcie przeszkód organizacyjnych utrudniających pracę lub renegocjację zbyt pochopnie powziętych zobowiązań.
  • Przejrzystość i powtarzalność procesu zachęca do zwiększenia (samo)dyscypliny wszystkich uczestników procesu i ciągłego udoskonalania wszystkich jego aspektów.
  • Samo-organizacja zespołu (w ustalonych ramach) sprzyja zwiększonemu poczucie zaangażowania i odpowiedzialności jego członków za jakość i efektywność wykonywanej pracy.
  • Stabilna hiper-produktywność – wysokie zaangażowanie oraz wbudowane w Scrum mechanizmy ciągłego udoskonalania pozwalają zgranym zespołom osiągnąć stan produktywności wielokrotnie przekraczającej produktywność tymczasowych grup projektowych pracujących według tradycyjnych metod. Grupy takie nie są zespołami w pełnym tego słowa znaczeniu i ich organizacja oraz sposób zarządzania i śledzenia pracy nie sprzyja synergicznej współpracy, na której opiera się hiperproduktywność.

Te cechy sprawiają, że żadna organizacja tworząca złożone oprogramowanie nie może sobie pozwolić na zignorowanie Scrum i innych zwinnych metod. Nawet jeśli nie w formie pełnej implementacji to chociaż poprzez wszycie najlepszych pomysłów w swoje procesy.