Tuesday, April 23, 2013

Wstęp do mierzenia efektywności zespołu

Szerszy artykuł na ten temat możesz przeczytać w bieżącym numerze programista.pl.

Środowisko pracy

Kluczowym czynnikiem wpływającym na efektywność zespołu jest środowisko, w którym pracuje. A zatem:
  • Wymagania
  • Klient
  • Architektura
  • Typy zadań
  • Charakterystyka zespołu
  • Technologia

Aby poprawić efektywność zespołu, w pierwszej kolejności pracuj nad poprawą środowiska pracy. Nawet najefektywniejszy programista będzie nieefektywny w nieefektywnym środowisku.

Nie porównuj ze sobą zespołów, które pracują w różnych środowiskach.

Efektywność zespołu

Efektywność zespołu to jego zdolność do zrealizowania celów, z których rozliczany jest lider zespołu przez swojego przełożonego. Właśnie tak, nie wierzymy w bezwzględne miary efektywności. Takich miar zostało zdefiniowanych setki. Każdy lider ma taki pogląd na efektywność, który wspiera realizację celów, z których on sam jest rozliczany.

Lider chce, aby zespół zrealizował jego cele. Sposób wpływania na zespół zależy od lidera, definicja efektywności i miary również. Dwóch różnych liderów (np.: transakcyjny i transformacyjny) realizujących te same cele, będzie miało inne pomysły na zespoły.

Jeżeli w ogóle można porównywać ze sobą zespoły to nie za pomocą miar, lecz poprzez to czy i jak realizują cele swoich liderów.

Ponieważ cele wyznaczane liderom się zmieniają zatem i definicja efektywności wraz z miarami musi się zmieniać. Miary mają sens "teraz", "później" mogą już go nie mieć.

Dostajesz więcej tego, co mierzysz

Jeśli mierzysz ilość linii kodu, otrzymasz więcej linii kodu. Czy aby na pewno o to chodziło? Dobieraj miary tak, abyś dostawał więcej porządanych zachowań.

Miary skupiają uwagę

zespołu na tym, co jest mierzone. Czasem, choć nie jest to regułą, czynność mierzenia może sprawić, że ludzie staną się uważniejsi i zmniejszą ilość określonych zachowań.

Miara agreguje wiele czynników

Miara to wynik zagregowany. Najczęściej zawiera w sobie kilka informacji, nie tylko jedną.

Rozliczanie rozpoczyna grę

Każda forma rozliczania ludzi z osiągnięcia współczynników skutkuje stworzeniem gry, której celem jest uniknięcie kary lub zdobycie nagrody, a zasady gry polegają na osiągnięciu określonych wartości współczynników. Więcej o powstawaniu gry znajdziesz w artykule W co gra się w projektach?

Tworzenie miar dla osób zwiększa ryzyko rozpoczęcia gry. Tworzenie miar dla zespołu zmniejsza to ryzyko.

Używanie miary

Używaj miary do obserwowania postępu, jako przesłanki do zadania pytania "dlaczego?", wskazówki do rozpoczęcia coachingu. Nie używaj miary do oceniania ludzi.

Weryfikowanie miary

Gdy już zdefiniujesz miarę, która pomoże ukierunkować zespół na osiąganie przydzielonych Ci celów, zadaj następujące pytania:
  1. Co właściwie mierzy miara? Jakie wielkości agreguje?
  2. Czego otrzymam więcej?
  3. Jakie gry mogą się rozpocząć?

A następnie zastanów się, co należy zrobić, aby zminimalizować negatywne skutki wprowadzenia miary.

Od czego zacząć?

Od mierzenia. Jeśli nie masz żadnej miary dla zespołu, zacznij od określenia niezmienników. Niezmienniki to pewne ustalone wielkości, które dla zespołu i projektu będą zawsze stałe. Niezmienniki są bazą względem której będą odbywać się pomiary. W pierwszej kolejności rozważ następujące niezmienniki:
  1. Fazy procesu dostarczania
  2. Typy zadań
  3. Długość iteracji
  4. Granulacja zadań

14 comments:

  1. Być może zamiast rozliczać lidera z prac zespołu należałoby rozliczać zespół z prac zespołu, a lider (jeśli w ogóle jest potrzebny) powinien być co najwyżej doświadczonym kolegą. Chyba, że mówimy o korporacyjnej hierarchi, w której nie do pomyślenia jest, że nie ma pojedynczej osoby, którą możemy obarczyć odpowiedzialnością.

    ReplyDelete
  2. Michale, "mają", a nie "ma ją" ;). Usuń ten komentarz jak przeczytasz - uznałem, że tak będzie szybciej dać Ci znać o błędzie.

    ReplyDelete
  3. Bardzo dobry tekst, środowisko to klucz, także w analizie: tu ciekawy o tym tekst :) http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/2474/10-Ways-Documents-and-Spreadsheets-Sabotage-the-Business-Analysts-Career.aspx

    ReplyDelete
  4. A gdyby tak Michale zostawić w spokoju ten biedny zespół i zacząć mierzyć środowisko? Dokładnie tak jak napisałeś w pierwszym punkcie - środowisko wpływa na pracę.
    Można mierzyć :

    - ilość odrzuconych wniosków urlopowych

    - ilość narzutu biurokratycznego na proces developmentu

    - ilość historyjek z Dilbertem wywieszonych na ścianach.

    - ilość silosów kompetencji w dziale ( im mniej tym lepiej)

    - ilość tajnych narad (Im więcej tym gorzej - ostatnio takie ładne słowo zaczyna funkcjonować - transparency)

    itd.

    A lider to mogłaby być tylko rola sytuacyjna jakkolwiek tak jak wspomniał Tomek Pająk - korporacja wymaga. Trzeba zbudować adapter, który z jednej strony zadba o to aby nie przeszkadzać w tworzeniu produktu a z drugiej udobrucha rytuały korporacyjne. Może coś takiego : http://en.wikipedia.org/wiki/Servant_leadership

    ReplyDelete
  5. @Tomek Pająk
    Tak, tak by było najlepiej. Podejmowanie odpowiedzialności przez zespół jest super tyle, że gdy robi się gorąca, to mamy tendencję nie do szukania przyczyn, lecz winnych.

    @PaSkol
    Dzięki. Zostawię komentarz, żeby nie było, że cenzuruję :)

    @ToJaJarek
    Interesujący tekst o nieużytecznej dokumentacji. A jakie są alternatywy? Ja jestem fantem kartki długopisu i zakreślaczy

    @Paweł Włodarski
    Dot. mierzenia środowiska

    Czyli chodzi o to, żeby przede wszystkim skupić się na stworzeniu takiego środowiska, w którym programiści będą pracować maksymalnie efektywnie? Kupuję!
    Tylko jest to trochę sprzeczne z intuicyjnym myśleniem o kiju i marchewce. Zmiana mentalności i przyzwyczajeń organizacji do duże wzywania. Pewnie lata.


    Dot. http://en.wikipedia.org/wiki/Servant_leadership

    "Kto z Was chce być największym niech będzie sługą wszystkich" - chyba gdzieś czytałem o takim stylu leadershipu:)

    Podobnie ze słowem minister (http://pl.wikipedia.org/wiki/Minister).
    Przypomina mi się tu fragment ocenzurowanego przez PRL wiersza Tuwima pt. "Kwiaty polskie":
    "Biegłymi zrób łacinnikami,
    Ministrów naszych by wiedzieli,
    Że są sługami, nie panami,
    A księży naucz Ewangelii"

    Paweł, może rozwinął być swój komentarz i ideę ServantLeadership w jakimś poście i/albo spotkaniu na JUGu?

    ReplyDelete
  6. Ja również jest za tym, aby zamiast zwalać winę na zespół, że wolno pracuje i próbować opisac go jakimiś miarami, zmierzyć środowisko. Obecnie jestem naocznym świadkiem (i uczestnikiem zamieszania), że coś jest jak najbardziej technicznie możliwe i sensowne do wykonania, ale ze wzglęgu na pewne "reguły korporacyjne" nie można tego zrobić, co blokuje moją pracę, irytuje i w konsekwencji demotywuje.
    Jak chcemy zmieniac świat, to czeba zaczać od siebie (czytaj: od korporacji).

    ReplyDelete
  7. @Michał
    Gdy rozlicza się zespół z prac zespołu, to nie jest w jego interesie szukanie od razu winnych tylko jak najszybsze rozwiązywanie problemów. Jak mają z tym problem i sami nie są w stanie do tego dojść, to można im to zasugerować. Mam szczęście tego doświadczać na codzień, aczkolwiek jest to ciężki proces dla ludzi, by dojść w to miejsce.

    Z kolei środowisko, w którym są sztywne, hierarchiczne struktury, pojedyncze osoby odpowiedzialne za grupy ludzi, rodzi właśnie patalogie, w których pierwszym etapem rozwiązywania problemu jest ustalenie winnych. Widziałem to i w dużych bankach, i w dużych telekomach - straszna polityka i duża nieefektywność pracy, na którą stać tylko dużo firmy.

    ReplyDelete
  8. Idea ServantLeadership - lider to taki ktoś do pomocy zespołowi.

    Ten temat nie wymaga tłumaczenia a raczej rozbicia muru mentalnego. Często gdy mówię, że u mnie w praktyce zespół nie potrzebuje proxy do kontaktów z tzw. "biznesem" to często słyszę najprostszą z możliwych wymówek :"ah gdybym tylko ja miał u siebie Roberta Lewandowskiego... ale u mnie to nie zadziała..."

    ReplyDelete
  9. @Paweł Włodarski
    >Ten temat nie wymaga tłumaczenia a raczej rozbicia muru mentalnego

    Jak? :)

    ReplyDelete
  10. @Paweł Włodarski
    >>Ten temat nie wymaga tłumaczenia a raczej rozbicia muru mentalnego

    >Jak? :)

    Ciągle powtarzając, że można inaczej.

    Jest taki cuś - http://pl.wikipedia.org/wiki/Reifikacja, co tłumaczy jak rodzą się przekonania o absolutnej naturze pewnych podejść. I tak pomysły z fabryk przełomu 19 wieku są traktowane jako prawa absolutne IT 21 wieku (musi być lider, musi być odgórny proces itd.) - bo po prostu ludzie wychowali się na tych prawach.

    O tym akurat napiszę post i może zrobię prezentację.

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. Lider, to osoba bezwzględnie potrzebna! Jej zadaniem jest przewodzenie zespołowi, trzymanie pieczy nad wytwarzanym produktem, dobieranie wewnętrznych priorytetów, motywowanie,(!) pchanie całości w dobrym kierunku.
    Jakiś czas temu, twitter obeigła poniższa grafika, która doskonale obrazuje zjawisko:
    https://twitter.com/alextoul/status/328037359985774592/photo/1

    Zespół może pozwolić sobie na brak lidera, jednakże musi to być dojrzały, doświadczony zespół, który jest w stanie poradzić sobie w każdych, nawet ekstremalnych sytuacjach.

    ReplyDelete
  13. @Łukasz Kurzyniec

    Hej. Jak rozumiesz sformułowania "bezwzględnie potrzebna" czy oznacza to, że:

    1. lider jest lepszy niż boss
    2. bez lidera zespół nie działa

    Jeśli jeden 1 to się zgadzam:)
    Jeśli 2 to polecam rozmowę z Pawłem Włodarskim - ma ciekawe doświadczenia i przemyślenia w tym temacie

    ReplyDelete
  14. Zdecydowanie lider jest lepszy. To nie podlega jakiejkolwiek polemice. Choć przyznać należy, iż zdarzają się osobniki, na których przysłowiowy bat przydałby się jak złoto. Lecz to raczej skrajne przypadki.

    Wychodzę z założenia, że lepiej kiedy w zespole jest lider, niż jak go najzwyczajniej brak. Dlaczego? Zawsze jest to osoba decydująca, której zdanie/głos przeważa w sporach/ustaleniach.

    ReplyDelete