Scrum – wprowadzenie

Data ostatniej modyfikacji: 27 września 2013

Scrum jest jednym z najszybciej zdobywających popularność sposobów realizacji zwinnego (ang. agile) podejścia do produkcji oprogramowania. Jest prostym w zamyśle, lecz stosunkowo trudnym do wdrożenia rozwiązaniem złożonych problemów związanych z produkcją oprogramowania (m.in. terminowości i zbieżności końcowego produktu z potrzebami klienta).

Jego twórcy – Ken Schwaber i Jeff Sutherland – nie nazywają go metodyką, paradygmatem czy nawet procesem, lecz ramą metodyczną lub strukturą (ang. framework) wokół i dzięki której organizuje się praca. Struktura ta wyznaczona jest zestawem praktyk i zasad mających swoje korzenie w Lean Thinking, wspierających podstawowe założenia zwinności czyli przyrostowy proces wytwórczy, adaptacyjność procesu i samoorganizację zespołu.

„Scrum”?

Scrum jest terminem pochodzącym z rugby (polska nazwa tej formacji to „młyn”). Po raz pierwszy analogię do rugby i określenie „scrum” w odniesieniu do procesów wytwórczych zastosowali akademicy japońscy Ikujiro Nonaka i Hirotaka Takeuchi w artykule „The New New Product Development Game” (Harvard Business Review 86116:137-146, 1986) opisując holistyczne (całościowe) procesy produkcyjne w firmach Fuji Xerox, Canon, Honda, NEC, Epson, 3M i Hewlett-Packard.

Termin „scrum” został przeniesiony na grunt produkcji oprogramowania przez Jeffa Sutherlanda, Johna Scumniotalesa and Jeffa McKenna w 1993. W 1995 roku Ken Schwaber przedstawił Scrum Development Process na konferencji OOPSLA.

Scrum wypunktowany

Charakteryzując Scruma w kilku punktach można powiedzieć, że:

  • jest opartym o empiryzm, zwinnym (ang. agile) sposobem planowania i kontrolowania przebiegu prac projektowych
  • jest iteracyjnym i inkrementalnym sposobem wytwarzania oprogramowania (szczególnie o wysokim stopniu złożoności i/lub ryzyka)
  • jest narzędziem porządkującym i kontrolującym interesy osób zaangażowanych w realizację projektu
  • jest narzędziem porządkującym komunikację i maksymalizującym stopień współpracy wewnątrz– i pozazespołowej
  • jest opartym o samoorganizację sposobem zwiększania produktywności zespołu
  • prowadzi do głębokich strukturalnych przemian organizacji mających na celu jej uzwinnienie i wyszczuplenie
  • nie wprowadza nowych i nie interferuje z już stosowanymi praktykami inżynierskimi (często stosowany w tandemie z eXtreme Programming Scrum nie traktuje o praktykach inżynierskich, skupiając się na zagadnieniach związanych z organizacją pracy)
  • jest skalowalny od pojedynczych zespołów do całych organizacji i przedsiębiorstw

Elastyczność i ciągłe doskonalenie

Scrum przełamuje utarte schematy, wyzwala innowacyjność w zespole, jednocześnie zapewniając solidne narzędzia kontroli przebiegu projektu. Umożliwia tworzenie i dostarczanie wysokiej jakości oprogramowania w krótkich odstępach czasu (zwykle co kilka tygodni). Scrum, podobnie jak inne zwinne metody, realizuje adaptacyjne podejście typu wizja–eksploracja, w odróżnieniu do podejścia tradycyjnego typu plan–wykonanie.

Takie podejście umożliwia pracownikom i kadrze kierowniczej ciągłą weryfikację planów projektowych na podstawie rzeczywistych danych. W metodzie Scrum podstawowym kryterium decyzyjnym są kolejne, działające (potencjalnie zbywalne) wersje produktu (oprogramowania).

Zastosowanie podejścia typu wizja–eksploracja do produkcji oprogramowania nie jest nowością. Od kilkudziesięciu lat znane i stosowane są narzędzia ułatwiające realizację złożonych projektów m.in. wiele wariantów modelu przyrostowego, model spiralny i prototypowanie. Jednakże zwinne metody (a szczególnie Scrum) w swoich założeniach idą o krok dalej, ustanawiając proces przyrostowy (iteracyjny i inkrementalny), adaptacyjność i samoorganizację fundamentem działania przedsiębiorstwa.

To zmiana, której wiele organizacji nie może podołać, mimo iż jej wprowadzenie prowadzi do radykalnego poprawienia zbieżności finalnego produktu z potrzebami odbiorcy oprogramowania, redukcji kosztów, poprawy organizacji pracy, zwiększenia produktywności oraz zaangażowania pracowników i ich zadowolenia z wykonywanej pracy.

Samoorganizacja

Określenia samoorganizacja i samostanowienie odnoszą się do struktury organizacyjnej zespołu tworzącego oprogramowanie i powierzonego mu zakresu odpowiedzialności. Niezbyt liczny, interdyscyplinarny zespół zyskuje swobodę decyzyjną w zakresie niezbędnym do wytworzenia wysokiej jakości produktu, w tym wyboru stosowanych procedur i narzędzi. Zespół projektowy z założenia jest hiper-komunikatywny, a zasadą tą objęty jest również klient, bądź jego reprezentant, biorący aktywny udział w procesie wytwórczym.

Samoorganizacja sprawdza się najlepiej w środowiskach o przejrzystych granicach odpowiedzialności, w których możliwe jest wytyczenie jasnych celów. Z tego powodu konieczny jest bliski kontakt z klientem i umiejętność delegowania obowiązków, co oznacza odejście od nakazowo–rozdzielczego stylu zarządzania w kierunku modelu przywództwo–współpraca. Otwartość, szczerość i przejrzystość są w Scrumie najbardziej pożądanymi zachowaniami na wszystkich szczeblach hierarchii i pomiędzy wszystkimi osobami zaangażowanymi w produkcję.

Ryzyko warte poniesienia

Choć w pierwszej chwili głęboka zmiana związana z wdrożeniem Scruma może wydawać się ryzykowna i kosztowna, organizacje odrzucające ciężkie, zdefiniowane procesy stają się automatycznie bardziej elastyczne i otwarte na zmienne realia rynkowe, zwiększając tym samym swoje szanse w walce z konkurencją.

Organizacje wdrażające Scruma głównie jako narzędzie porządkujące chaos organizacyjny, obserwują obniżenie kosztów i zwiększoną efektywność pracy zespołów projektowych. Dla tych którzy dokonali przełomu i w pełni zaadaptowali Scruma i jego filozofię, tradycyjne sposoby prowadzenia projektów wydają się być niewyobrażalnym marnotrawstwem czasu i energii.

Bibliografia

  1. Schwaber Ken, Sutherland Jeff, „The Scrum Guide” - przewodnik po Scrumie w języku polskim, 2013
  2. Schwaber Ken, Beedle Mike, „Agile Software Development with Scrum”, Prentice Hall, 2001
  3. Schwaber Ken, Sutherland Jeff, „Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, And Leave Competitors In the Dust", Wiley, 2012
  4. Schwaber Ken, „Agile Project Management with Scrum”, Microsoft Press, 2004
  5. Schwaber Ken, „The Enterprise and Scrum”, Microsoft Press, 2007
  6. Wikipedia: Scrum - development
  7. Wikipedia: Software Development Process

Komentarze (0)

Zapraszam do komentowania.

Komentujesz jako Gość. Opcjonalny login poniżej.