Dzień 3 – Diabeł tkwi w szczegółach

Ten post jest częścią cyklu Pierwsze Dni Scrum.

W pierwszym odcinku skoncentrowaliśmy się na tym, jak duży wpływ na efektywność ma motywacja zespołu, wczoraj rozmawialiśmy o tym co o motywacji mówi współczesna nauka. Dzisiaj skoncentrujemy się na drugim krytycznym czynniku efektywności jakim jest właściwa organizacja pracy.

Współpraca dużych grup działających w złożonym środowisku zwykle charakteryzuje się dużą nieefektywnością. Problem ten dotyka nawet firmy doskonalące się od dziesięcioleci, takie jak Toyota, która jest źródłem nowego sposobu myślenia, na bazie którego powstał Scrum. Tam efektywność (rozumiana jako stosunek działań bezpośrednio tworzących wartość do wszystkich niezbędnych prac) wynosi około 50%. W wielu gorzej zorganizowanych firmach analiza efektywności (np. metodą Value Stream Mapping) daje wynik jednocyfrowy. Jest zatem dużo do ugrania.

Nie ma niestety uniwersalnego wzorca efektywnej organizacji, które można by bezrefleksyjne zaimplementować. Istnieje natomiast dużo dobrych praktyk, które warto wypróbować. Co najważniejsze: źródłem ulepszeń w sposobie zorganizowania bieżącej pracy jest w Scrum sam zespół, który w toku otwartej dyskusji jest w stanie najlepiej zidentyfikwać co go blokuje i co można ulepszyć. Ulepszenia narzucone z zewnątrz są w zasadzie z góry skazane na niepowodzenie.

Przyjrzyjmy się bliżej kilku przykładom, gdzie relatywnie łatwo udało się osiągnąć wyraźną poprawę efektywności:

Przykład 1: Sposób przydzielania zadań

Pozornie drobne poprawki w stosowanych metodach pozwalają czasem osiągnąć zaskakująco dużą poprawę. Weźmy przykład jednego z zespołów, któremu niedawno pomagaliśmy. W trakcie jednego z kolejnych sprintów członkowie zespołu postanowili nieco zmienić metodę planowania zadań. Zamiast z wyprzedzeniem rozdzielać prace między poszczególnych członków zespołu każdy brał kolejne zadanie dopiero po zakończeniu poprzedniego. W ten sposób wykorzystane zostały dwa mechanizmy: po pierwsze położony został większy nacisk na samo domykanie zadań według uzgodnionych kryteriów akceptacji a po drugie żmudne zadania były realizowane dużo szybciej, w nadziei na doczekanie się atrakcyjniejszych prac czekających niżej w kolejce. Ta drobna zmiana spowodowała w subiektywnej opinii Scrum Mastera tego zespołu potrojenie jego efektywności!

Przykład 2: Unikanie błędów

Błędów programistycznych nie da się całkowicie wyeliminować. Można natomiast minimalizować ich liczbę dzięki odpowiednim praktykom technicznym i organizacyjnym. Czy opłaca się w to inwestować? Czy nie lepiej oszczędzić czas na testach automatycznych, programowaniu w parach czy szczegółowych przeglądach kodu, skoro w tym czasie można zbudować dodatkową funkcjonalność?

Odpowiedź może zależeć od konkretnego przypadku, jednak warto poważnie zastanowić się nad tym pytaniem: błąd odkryty od razu można naprawić relatywnie tanio. Z kolej błąd odkryty po dostarczeniu funkcjonalności Klientom kosztuje dużo, dużo więcej, szczególnie jeśli między zakończeniem zadania a odkryciem uchybienia minęło więcej niż kilka dni.

Sprawdźmy w Twojej sytuacji:

Porozmawiajmy!Jak obsługa błędów wpływa na Waszą pracę?

W gronie zespołu odpowiedzcie na pytania:

  1. Licząc w godzinach pracy, ile kosztuje Twój zespół naprawienie:
    • Błędu odkrytego natychmiast (np. przez automatyczny test lub partnera programującego z Tobą w parze)?
    • Błędu odkrytego przez kogoś innego przed dostarczeniem produktu?
    • Błędu w dostarczonej funkcjonalności?
  2. Uwzględniając liczbę błędów, z którymi mieliście do czynienia przez ostatnie dwa miesiące: ile czasu warto byłoby zainwestować, żeby przenieść błędy z kategorii trzeciej do pierwszej?

Powyższe przykłady koncentrują się na ulepszeniach w pracy samego zespołu. Jeszcze większe korzyści można osiągnać eliminując marnotrawstwo na poziomie całej organizacji:

Przykład 3: Maksymalizuj ilość pracy nie wykonanej

Znowu przykład z życia: zespół od wielu miesięcy zmagał się z katalogiem setek zadań zebranych w systemie śledzenia ticketów. Czy każde z tych zadań niosło ze sobą aktualną wartość dla odbiorców systemu? Oczywiście nie! Gdy zespół zaczął opisywać zadania w formie historyjek użytkownika i wyraźnie odpowiadać na pytanie kto jest beneficjentem danej pracy i jakie korzyści rzeczywiście mu ta praca przynosi, okazało się, że dużą część zadań została po prostu odrzucona.

Od tego momementu zespół po każdym dwutygodniowym sprincie był gotowy dostarczyć kolejne ulepszenia dobrane pod kątem maksymalnej wartości. Ta priorytetyzacja nie wpłynęła bezpośrednio na liczbę zadań realizowanych przez zespół, ale sprawiła, że wartość wybranych zadań była wielokrotnie wyższa w porówaniu z sukcesywnym odhaczaniem zgłoszeń w trackerze. Dodatkowo fakt, że nagle zespół był w stanie sprint po sprincie zobaczyć wyniki swojej pracy w rękach zadowolonych klientów bardzo pozytywnie wpłynął na motywację i pośrednio wpłynął na wzrost także surowej produktywności.

Przykład 4: Dotarcie do Klienta

Kolejnym przykładem jest sytuacja, gdy zespół regularnie przygotowuje nowe funkcjonalności według wymagań Product Ownera, lecz o tych funkcjonalnościach niewiele wiedzą sprzedawcy, którzy bezpośrednio kontaktują się z Klientami. Ten mały szczegół może obniżyć wartość biznesową, skądinąd skutecznego zespołu praktycznie do zera.

Zadanie dla Was:

Porozmawiajmy!Kto jest głównym beneficjentem Waszej pracy? Co jest dla Waszych odbiorców najważniejsze? Co mógłbyś zrobić, żeby dostarczyć im jeszcze więcej tego, czego potrzebują?

  1. Wypiszcie na tablicy beneficjentów czerpiących wartość z Waszej pracy.
  2. Dla każdego z nich wypiszcie co najmniej jedną rzecz, która jest dla niego Ważna.
  3. Jeśli to możliwe, sprawdźcie, czy dobrze rozumiecie ich potrzeby.
  4. Czy rozumiejąc potrzeby odbiorców możecie coś zmienić, żeby dostarczyć więcej wartości, tym samym lub mniejszym wysiłkiem?

Zapraszamy do dyskusji w komentarzach i do zobaczenia jutro!

Podsumowanie:

  1. Większość organizacji nie w pełni wykorzystuje swój potencjał.
  2. Drobne zmiany mogą mieć zaskakująco duży wpływ na efektywność.
  3. Pomysły i decyzje co do organizacji bieżącej pracy powinny pozostać w gestii zespołu. Rolą managerów jest natomiast ukształtowanie organizacji, by stworzyć dobre warunki dla efektywnego zespołu i zmakymalizować biznesową wartość jego pracy.
  4. Koszt błędu gwałtownie rośnie wraz z czasem miedzy jego wprowadzeniem a usunięciem – często warto zainwestować w utrzymanie wysokiej jakości od początku niż zaciągnąć dług techniczny, od którego odsetki zabiją wszelkie bieżące oszczędności.
  5. Klucz do efektywności często leży poza zespołem. Aby dostarczać więcej wartości końcowym odbiorcom musimy przyjrzeć się całemu łańcuchowi (lub sieci) wartości.