Swarming – technika dla zespołu pomagająca kończyć zadania

Swarming w praktyce

Swarming w praktyce

Pomagałem ostatnio nowo powstałemu zespołowi podczas ich drugiego Sprintu. Kiedy się u nich pojawiłem – dzień przed Sprint Review – na tablicy korkowej wisiało 10 zadań, z czego tylko 1 było zakończone. Co więcej, było to zadanie znajdujące się na ostatniej pozycji ich Sprint Backlogu.

Podczas rozmowy ze Scrum Masterem tego zespołu dowiedziałem się, że mają problem z finalizowaniem zadań oraz, że to kolejny sprint, kiedy dużo pracy jest w trakcie realizacji, a pomimo tego niewiele jest faktycznie skończone.

Co to jest swarming?

Zaproponowałem użycie techniki zwanej swarming (ang. rój). Polega ona na tym, że w danym momencie cały zespół pracuje nad jedną, wybraną historyjką i nie przechodzi do kolejnej, zanim poprzednia nie zostanie zakończona.

Jak podzielić się pracą?

Oczywiście od razu pojawiło się pytanie – „no dobrze, ale jak zorganizować pracę, żeby wszyscy mieli co robić?”. Poniżej kilka przykładów pracy, która może zostać wykonana równocześnie w ramach pracy nad jednym zadaniem:

  • przygotowanie scenariuszy testowych
  • zdobycie brakującej wiedzy biznesowej potrzebnej do realizacji zadania
  • napisanie unit testów
  • konfiguracja środowiska testowego (zapewnienie danych, połączeń do zewnętrznych systemów, konfiguracja)
  • nagranie testów automatycznych (początkową będą świecić na czerwono)
  • opracowanie planu prezentacji przyrostu na Sprint Review
  • przyglądnięcie się zadaniu z perspektywy Definition of Done
  • programowanie w parach
  • konsultacja rozwiązania z innymi deweloperami (spoza zespołu)

Na co zwrócić uwagę?

  • rozmiar zadania – zbyt małe zadanie może powodować, że trudno będzie sensownie podzielić się pracą; z drugiej strony zbyt duże może spowodować, że w rzeczywistości każdy zajmie się swoim, niezależnym fragmentem większej historyjki
  • liczba jednocześnie realizowanych zadań – spotkałem się z wariantem „dwie historyjki na raz” oraz „tyle historyjek na raz, ilu testerów w zespole”

Fotografia użyta na licencji Creative Commons od użytkownika SidPix.

Share on Facebook0Tweet about this on TwitterShare on LinkedIn0Share on Google+0

4 myśli nt. „Swarming – technika dla zespołu pomagająca kończyć zadania

  1. Ciekawe podejście do kończenia.
    Dotychczas, w naszym zespole, mieliśmy tyle „odpalonych” historyjek, ilu dostępnych developerów, zgodnie z założeniem, by każdy miał coś, nad czym mógł pracować.
    Czasami jednak zdarza się, że pomimo blisko 2 tygodni pracy nad jedną rzeczą, cały czas nie jest ona dokończona.
    Czy masz doświadczenie ze swarmingiem oraz większą liczbą zespołów? Jak to wygląda?

    • Darek, to co opisujesz, to częsty problem, który obserwuję z zespołach scrumowych. Odnoszę wrażenie, że zespoły planując pracę, zazwyczaj skupiają się na 100% utilizacji swoich mocy przerobowych („każdy ma coś, nad czym mógł pracować”), zamiast skupiać się na szybkim dostarczaniu wartości już w trakcie trwania sprintu. Trafnie opisuje to zagadnienie Tom DeMarco w książce „Slack” (http://agilecoaching.pl/slack-tom-demarco/) – zdecydowanie polecam lekturę.

      Widziałem kilka wersji swarmingu – od najbardziej wymagającego (1 zadanie per zespoł w jednym momencie) do nieco bardziej luźnych wersji (2-3 zadania). Zazwyczaj efekty są zadowalające, zespół pozytywnie wspomina tego rodzaju eksperymenty, jednak nadal jest to rzadko spotykana technika pracy.

      Co konkretnie masz na myśli, pytając o doświadczeniach z większą liczbą zespołów?

  2. W praktyce trzeba mieć trochę odwagi żeby powiedzieć zarządowi NIE – nie możemy więcej rzeczy na raz robić, bo zawalimy. Niezależnie od technologii, kończenie zadań jest celem biznesowym samym w sobie.
    Tak więc w praktyce zarządzania na poziomie zespołu zadaniowego ważna jest też asertywność lidera, bo w korporacji nieustannie odbywają się próby nałożenia zbyt wielu tematów jednocześnie. Ryba psuje się od głowy :)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *