Scrum w Polsce: Sprezentuj.pl i HolonGlobe

Z przyjemnością ogłaszam publikację pierwszych dwóch studiów przypadku opisujących doświadczenia polskich firm związane z wdrożeniem i stosowaniem Scrum i powiązanych metod.

Zapraszam do zapoznania się z historią:

  • Sprezentuj.pl – startupu internetowego, który zastosował Scrum, by efektywnie zorganizować rozproszony zespół developerów.
  • HolonGlobe – trójmiejskiej firmy doradczej i dostawcy oprogramowania specjalizującego się m.in. w optymalizacji procesów biznesowych.

Kolejne przypadki będą sukcesywnie publikowane na stronie projektu.

Zapraszam!

Narzędzia wspierające Scrum

Na rynku dostępnych jest wiele narzędzi informatycznych wspierających pracę zespołów Scrum. Oto ich krótki przegląd, który pomoże Ci wybrać narzędzie najlepiej pasujące do Twoich potrzeb:

Biała tablica i żółte karteczki

Tablica Scrum
Tablica Scrum

Najprostsze rozwiązania często przynoszą najwięcej korzyści. Dlatego wszystkim zespołom rekomendujemy śledzenie przebiegu kolejnych sprintów na dużej tablicy ustawionej w widocznym miejscu. Na tej tablicy przyklejamy karteczki reprezentujące historyjki użytkownika i zadania służące ich realizacji. Dzięki temu cały zespół, oraz inni zainteresowani, zawsze mają przed oczyma aktualny status prac i mogą na jego podstawie podejmować najtrafniejsze decyzje.

Stosowanie narzędzi informatycznych, zamiast zawsze i dla wszystkich widocznej tablicy, zmniejsza tą przejrzystość. Rozbudowany system może też wpędzić zespół w tryb pracy pasujący do do tego konkretnego systemu bardziej niż do Scrum jako takiego. Dlatego każdy zespół powinien, szczególnie na początku, wypróbować to klasyczne rozwiązanie.

Microsoft Excel

Excel nie jest stricte narzędziem wspierającym Scrum, ale duża elastyczność i powszechna dostępność spowodowały, że używany jest przez ponad 50% zespołów deklarujących się jako zwinne (według State of Agile Development Survey 2010).

Najpopularniejsze narzędzia dla Scrum

Wiodącymi na rynku rozwiązaniami tworzonymi wprost z myślą o Scrum i podobnych metodach agile są:

Inne narzędzia

  • Trello – prosta, wygodna w użyciu i darmowa “tablica z karteczkami”. Nie wspiera wprost Scrum, ale w wielu przypadkach jest wystarczającym narzędziem o wspaniałym współczynniku jakości do ceny.
  • AgileZen – narzędzie wspierające kanban – inną popularną metodykę zarządzania projektami, która może uzupełniać lub zastępować Scrum.

Jeśli żadne z powyższych narzędzi nie przypadło Ci do gustu, być może znajdziesz coś odpowiedniego na liście wielu innych narzędzi wspierających Scrum na stronach AgileScout.

Skąd czerpać wiedzę o Scrum?

Wiesz już co to jest Scrum, a teraz chcesz dowiedzieć się więcej? Nic trudnego: w sieci znajdziesz nieprzebrane bogactwo materiałów. Niestety w gąszczu informacji trudno szybko zidentyfikować te najbardziej wartościowe. Dlatego wybraliśmy kilka źródeł, które według nas pozwolą najszybciej zorientować się w temacie:

Strony WWW:

  • Scrum Guide – referencyjny opis Scrum według jego twórców: Kena Schwabera i Jeffa Sutherlanda
  • Mountain Goat Software – mnóstwo wysokiej jakości materiałów i narzędzi wspomagających Scrum
  • Money for nothing, changes for free – model kontraktów między klientem a dostawcą pozwalający zmaksymalizować korzyści jakie przynosi Scrum, poprzedzony testem zgodności z najlepszymi praktykami Scrum/agile

Blogi:

  • Ken Schwaber – blog jednego z ojców Scrum – obowiązkowy punkt programu
  • All About Agile – agregator blogów związanych ze Scrum, agile i powiązanymi tematami
  • Esther Derby – nie tylko o Scrum – dobre artykuły z naciskiem na czynniki ludzkie

Książki:

Video:

Narzędzia:

Historyczne korzenie Scrum:

  • The New New Product Development Game – Hirotaka Takeuchi, Ikujiro Nonaka – artykuł wywodzący się z teorii produkcji przemysłowej, który zainspirował ojców Scrum do zastosowania podobnych metod do tworzenia oprogramowania
  • Agile Manifesto – manifest stworzony, gdy Scrum był już znany, ale doskonale ujmuje idee, którymi jest on zainspirowany
  • Zbiór klasycznych artykułów zebranych przez Jeffa Sutherlanda

Na żywo:

  • Szkolenia Fluid Circle – jeśli chcesz w uporządkowany sposób zapoznać się z najważniejszymi aspektami Scrum oraz dzięki praktycznym ćwiczeniom szybko zyskać operacyjną znajomość jego metod zapraszamy na nasze szkolenia
  • Konferencje – dobrą metodą na szybkie rozeznanie w aktualnym stanie wiedzy o Scrum (lub szerzej – agile) oraz poznanie ludzi z nim związanych jest udział w konferencji np. Agile by Example lub Agile CE
  • Dla osób z okolic Warszawy ciekawe mogą też okazać się spotkania Agile Warsaw

Mamy nadzieję, że powyższe materiały ułatwią stawianie pierwszych kroków w świecie Scrum. Po lepszym zapoznaniu się z podstawami Scrum polecamy sprawdzenie swojej wiedzy za pomocą wolnodostępnego testu wiedzy o Scrum przygotowanego przez Scrum.org.

W razie wątpliwości służymy pomocą 🙂

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.

Asking the user

Software apps often ask their users to confirm (potentially destructive) actions. The method most often used are dialog boxes with a message and yes/no buttons.

Unfortunately this is often bad design because it:

  • slows the user down and
  • doesn’t guarantee safety (there are so many dialog boxes popping-up all the time that many users develop a kind of dialog blindness and sometimes mechanically click “yes” without reading the details).

The worst kind of dialog is that with a long message worded so that it’s not immediately obvious which answer does what (see leftmost dialog in figure).

We can improve upon that by simplifying the message as much as possible and putting meaningful labels on the buttons (save/discard instead of yes/no, middle dialog).

An even better solution would be to have a really short message and big, meaningful buttons (dialog on the right).

yesnosavediscard

That way we can minimise both confusion and delay and have happier, safer users.

But if the overall design (and budget) allows we can go even further: why waste the user’s time at all? Instead provide a robust undo feature and do away with the dialog altogether 😉

Note: the picture was created with Balsamiq Mockups, a great little app for sketching UIs.

Update January 2012: I’ve recreated the example dialog boxes as they were missing after I moved this post from udreka.pl to this site. I’m not sure what the exact wording was on the originals and I feel as though the current version is somewhat less convincing, but I can’t seem to come up with a better one right now so this is going to be it for the time being.

Update December 2016: Moved post from ziggurat.wordpress.com to fluidcircle.net, which is currently my main professional site / blog.