DeMarco i Lister (Peopleware) sugerują stworzenie „kultu jakości” w zespole programistycznym. Frustrujące jest to, że nie sugerują, jak to zrobić!
Czy ktoś zastanawiał się, jak to osiągnąć?
DeMarco i Lister (Peopleware) sugerują stworzenie „kultu jakości” w zespole programistycznym. Frustrujące jest to, że nie sugerują, jak to zrobić!
Czy ktoś zastanawiał się, jak to osiągnąć?
Odpowiedzi:
Z mojego doświadczenia wynika, że zespoły programistów (ale ogólnie każdy zespół) składają się z 3 rodzajów osób:
Ostatnia grupa jest największa i zwykle podążają za partią rządzącą. Jeśli w zespole jest wystarczająco dużo ludzi wysokiej jakości, mogą pociągnąć większość ze sobą, tworząc silną spiralę w górę ducha zespołu i motywacji. Jeśli jednak jest zbyt wielu zwolenników, mogą łatwo stworzyć odwrotny efekt, spiralę śmierci.
Dlatego głównym zadaniem menedżera jest wybór i utrzymanie odpowiednich ludzi oraz pozbycie się złych jak najszybciej . Jednak nie te „przeciętne” - można na nich wpłynąć, aby zacząć się poprawiać, wspierać dobre pomysły innych, a niektórzy z nich mogą nawet samodzielnie stać się pozytywnymi trendami.
[Update2] zastanawiając się nad odpowiedzią Alb : IMO nie ma potrzeby, aby programiści ds. Jakości stanowili zdecydowaną większość w zespole (chociaż to nie boli :-). Istnieje „próg wyznaczania trendów” , powyżej którego poglądy i zachowanie podgrupy mogą szybko stać się „głównym nurtem” w społeczności , więc inni zauważają ją i zaczynają podążać. Widać to przez cały czas w pracy w większym społeczeństwie (np. (Nie) nawyki palenia, zdrowie i diety, moda pop, żywność ekologiczna). Moje bardzo przybliżone oszacowanie jest takie, że może wynosić około 25-30%, ale zależy to od wielu czynników. Tutaj źli ludzie mogą bardzo zranić. Nawet kilka złych osób w twoim zespole może znacznie podnieść ten próg. [/ Update2]
Oczywiście nie zawsze jest możliwe zatrudnienie wystarczającej liczby najlepszych ludzi. Kiedy więc pierwsza frakcja nie jest wystarczająco silna, by prowadzić własne rzeczy, zarząd musi im pomóc. Kilka przemyśleń na ten temat:
Myślę, że Scrum ma na to dobry pomysł, prezentując produkty. Demonstracja funkcji, którą wdrożyłeś przed publicznością składającą się nie tylko z twoich kolegów z drużyny, ale być może deweloperów z innych zespołów, zarządzanie, a nawet użytkownicy aplikacji mogą być ogromnym źródłem dumy, a także silnym czynnikiem, który pomaga zespołowi galaretowemu.
Inną sprawą jest, aby kierownictwo poważnie wysłuchało zespołu deweloperów na temat jakości. DeMarco i Lister wspominają nawet, że istnieją firmy / działy, w których zespoły deweloperów mają weto co do tego, co może trafić do produkcji. Jeśli uważają, że aplikacja nie jest jeszcze gotowa na najwyższy czas, mogą odłożyć wydanie bez względu na to, co chciałby zarząd. Teraz jest to trudne do zarządzania, ale mogę sobie wyobrazić, że buduje ducha zespołu i silnie przekazuje przesłanie, że jakość jest tutaj naprawdę ważna, nie tylko na poziomie słów.
Prowadzi to do następnego punktu: aby stworzyć „kult jakości”, kierownictwo musi dokładnie zrozumieć to, co wiedzą już najbardziej doświadczeni programiści: ta jakość nie jest kwestią późniejszą - musi być wbudowana w produkt od samego początku. Dlatego należy zachęcać ludzi do (i nagradzanych za!) Myślenia o długoterminowej łatwości konserwacji, dążeniu do dobrych rozwiązań zamiast szybkich .
@Machado w swoim komentarzu zmienił pytanie (przynajmniej dla mnie):
Co, jako członek zespołu, a nie menedżer, mogę zrobić, aby poprawić jakość kodu mojego zespołu?
Kilka myśli:
I na koniec: znajdź miejsce, w którym możesz być „najlepszym facetem” . Jeśli jesteś teraz w grupie „przeciętnej”, staraj się rozwijać - mam nadzieję, że powyższe pomysły w tym pomogą. Ale jeśli zdarzyło Ci się być w „niższych warstwach” w obecnym zespole, zalecamy przeanalizowanie przyczyn. Co cię motywuje? Złe warunki pracy? Koledzy z drużyny? Zarządzanie? Rodzaj pracy? Co cię podnieca i interesuje? Być może będziesz musiał porozmawiać o tym ze swoimi współpracownikami i / lub szefem. Możesz też poszukać lepszej pracy - a nawet nowego zawodu - w którym możesz zacząć lśnić. Naprawdę nie warto spędzać znacznej części życia na czynnościach niezadowalających lub przygnębiających.
Może się zdarzyć, że będziesz zmuszony kontynuować swoją obecną, nieoptymalną pracę z powodu czynników zewnętrznych (brak lepszych możliwości pracy, konieczność płacenia rachunków itp.) - zdarza się to od czasu do czasu. Nawet w tym przypadku postaraj się z tego jak najlepiej wykorzystać. Wykonywanie wysokiej jakości pracy (na ile pozwalają na to okoliczności) jest nagrodą samą w sobie, która pomaga utrzymać poczucie własnej wartości oraz zachować rozsądek i otwartość na dłuższą metę. Kiedy więc pojawia się okazja na coś lepszego, jesteś lepiej przygotowany na to.
Świetna odpowiedź Pétera Töröka, aby podkreślić, że poradzisz sobie z tym tylko z większością dobrych ludzi. Gdy masz dobrych ludzi, musisz bardziej celować w marchewkę niż w kij. Wzmocnij pozycję programistów, pozwól im przejąć na własność projekty / zadania i zachęcaj do konkurencji pod względem jakości, być może poproszę ludzi o krótkie prezentacje na temat tego, jak poprawili jakość projektów. Dobrzy programiści będą motywowani do wywarcia wrażenia na swoich rówieśnikach.
Oprócz komentarzy Petera (które są naprawdę głównym problemem), musisz upewnić się, że jakość nie jest funkcją dodaną później.
Dokładniej:
Powiedziałbym, że najlepszym sposobem jest zwiększenie jakości zamiast wydajności. Jest to jedna z przesłanek ruchu Lean Software (opartego na Lean Manufacturing). Napisałem długi post na blogu omawiający, o co chodzi w Lean . Mówię ci, jak stworzyć kult jakości. Zainwestuj w swoich pracowników i pozwól im zainwestować w Twoją firmę (nie inwestycja pieniężna, ale inwestycja osobista).
Dan Pink wygłosił świetną rozmowę na TED o tym, co nas motywuje. Chociaż nie odnosi się to konkretnie. Hierarchia potrzeb Maslowa doskonale wyjaśnia obserwowane zjawisko. Tak długo, jak pracodawca zaspokoi pierwsze dwie potrzeby (tj. Zapłać wystarczającą ilość pieniędzy, aby pieniądze nie stanowiły problemu), wszystko, co pozostaje, to Należenie, Szacunek i Samoaktualizacja.
Jakość nie jest czymś, co można dyktować ... raczej jest włączona. Zaufaj swoim pracownikom, aby robili to, co najlepsze, i zejdź im z drogi. W końcu będziesz musiał powiedzieć im, że muszą odejść. Zamiast prosić ich o poświęcenie większej liczby godzin