Kilka organizacji, które znam, wykorzystują cele SMART dla swoich programistów. SMART jest akronimem określającym konkretne, mierzalne, osiągalne, odpowiednie i określone w czasie. Są dość powszechne w dużych korporacjach.
Moje wcześniejsze doświadczenia z celami SMART nie były aż tak pozytywne. Czy inni programiści uznali je za skuteczny sposób pomiaru wydajności? Jakie są przykłady dobrych celów SMART dla programistów (jeśli istnieją).
management
metrics
Craig Schwarze
źródło
źródło
Odpowiedzi:
Jednym słowem
Nie
Po pierwsze: moje projekty nigdy nie były na tyle stabilne, że mogłem ustalić cele SMART o dowolnym znaczeniu. Przedziały czasowe między momentem zmiany moich ról w projekcie a momentem wykonania doskonałych recenzji są zbyt daleko od siebie.
Po drugie: Mierzenie indywidualnych wyników to świetny sposób na stworzenie mentalności „nie mojej pracy” i negatywnej konkurencji między osobami i / lub różnymi podgrupami w organizacji. Gra w system jest bardzo łatwa i upewnij się, że uważasz na siebie i nie pomagasz całej drużynie. Powinniśmy zachęcać ludzi do gry zespołowej, ale wtedy nasze organizacje robią dokładnie odwrotnie.
Większość tego rodzaju systemów przeciwdziała budowaniu zespołu. Mary Poppendieck wykonała o wiele lepszą robotę, wyrażając to niż kiedykolwiek w LeanEssays: Team Compensation .
źródło
Wykorzystaliśmy cele SMART w dużej korporacji, w której pracuję. W większości są bez znaczenia.
Cele pochodzą od kierownictwa wyższego szczebla i są wzniosłe i abstrakcyjne. Odnoszenie ich do konkretnych projektów i rozwoju to zwykle żart. Większość projektów wchodzących w skład grupy pochodzi z firmy i ma zaspokoić konkretne potrzeby biznesowe. Więc kodujesz projekt, wprowadzasz go do produkcji i wykonujesz niesamowitą robotę jak zwykle. Jak to się ma do celu, który wymyślił ktoś z wyższej kadry kierowniczej?
Jako grupa radzimy sobie znacznie lepiej, gdy wymyślamy własne cele. Czasami obejmują one szkolenie na określony temat lub wdrożenie nowej zmiany procesu, coś, co faktycznie może być powiązane z tym, co robimy. Wciąż nie są tak naprawdę związane z codziennym działaniem kodowania, ponieważ są przynajmniej rzeczami, które pomagają przenieść grupę w przyszłość w środowisku korporacyjnym.
EDYTOWAĆ
Jak słusznie zauważył Mnementh, moja odpowiedź opiera się na tym, że cele SMART nie są, no cóż, SMART. Chciałbym dodać do mojej odpowiedzi, że jeśli jesteś menedżerem programistów i chcesz wdrożyć cele SMART, upewnij się, że są oni SMART. Użyj przykładu moich menedżerów jako sposobu, aby NIE realizować celów SMART. Jeśli nie zarządzasz programistami, a ktoś mówi Ci, że zaczniesz używać celów SMART, a oni skończą tak, jak my, zrozum, że masz ludzi z wyższej kadry kierowniczej, którzy lubią głośne słowa i są w stanie sprawdzić z listy rzeczy, które zaimplementowali.
źródło
Istnieje wiele badań, które pokazują, że programiści wykonają świetną robotę, bez względu na przedstawione im kryteria, kosztem innych możliwych celów.
Oznacza to, że dobrze sobie radzą w osiąganiu konkretnych i mierzalnych celów, a gorzej w czymkolwiek nieokreślonym na liście. Oznacza to, że musisz być bardzo ostrożny w ustalaniu celów.
Nie chcesz ustawiać wierszy kodu jako celu. Zaufaj mi. Naprawianie błędów prowadzi na początku do napisania błędnego kodu. Pytanie o poprawki błędów w istniejącym kodzie spowoduje powstanie bardzo liberalnych definicji „błędu” (i być może „poprawki”). (Również część „osiągalna” zależy od tego, jak błędny był kod.) Pytanie o kompletność funkcji w określonym czasie, cóż ...
To, co chcesz, aby twoi programiści zrobili, to pisanie użytecznych rzeczy w rozsądnym czasie z dobrą jakością kodu oraz ulepszanie i modyfikowanie go przy zachowaniu jakości kodu. Nigdy nie widziałem konkretnych i mierzalnych celów, które byłyby dobrymi kryteriami.
źródło
Wykonujemy to ćwiczenie każdego roku. Problem polega na tym, że tutaj programiści mają niewielką autonomię w zakresie tego, co robią (zadania określone przez menedżera produktu). Mamy szczęście, że przynajmniej na papierze poświęcamy czas na realizację naszych celów. Jednak realistycznie otrzymujemy znacznie mniej.
W tych ramach ustaliłem, że ustalanie celów samorozwoju działa naprawdę dobrze. Na przykład dwa z moich celów z ubiegłego roku to:
Tak, skorzystałem i dobrze się przy tym bawiłem.
Szczerze mówiąc, myślę, że w naszej firmie brak dobrych celów SMART dla deweloperów ma więcej wspólnego z awersyjną niechęcią do wypowiedzi korporacyjnych.
źródło
Tak, jeśli ustawione poprawnie.
Przy prawidłowym ustawieniu cele mogą poprawić zarówno zespół, jak i poszczególne osoby. Powinny być również dostosowane do pracy i zaprojektowane dla danej osoby.
Byłem w miejscach, w których cały zespół DBA ma takie same nijakie cele, jak również wysokie poziomy rąk, takie jak „zgodność z globalnymi i regionalnymi KPI określonymi przez komitet KPI”. Które nikt oczywiście nie wie ...
Z drugiej strony byłem w miejscach, w których menedżer z indywidualnym nastawieniem ustalał indywidualne cele.
Edytować:
Przeczytałem artykuł Mary Poppendieck i nie dotyczy on SMART. Na przykład „Percepcja niemożliwości” zawodzi „Osiągalne”.
Należy ustalić cele dla jednostki, dzielić się jej mocnymi stronami, pomagać w usuwaniu słabości, przyczyniać się do zespołu. Pomiar jest dla osoby fizycznej.
Nie powinno być porównania x vs y.
Cele dla xiy powinny być jednak proporcjonalne do ich rangi lub pozycji w systemie: nie stawia się takich samych celów dla seniorów i juniorów. To nie w porządku.
Potrzebny jest jakiś test porównawczy, aby ustawić bonus lub wypłaty z ograniczonej puli: czy zamiast tego powinniśmy liczyć wiersze kodu? Ocena współpracownika?
I pokaż mi ważne alternatywy, które nie będą wymagać ode mnie zmiany globalnego etosu korporacyjnego. Nie mam krytykę SMART: ja zrobić mieć krytyczne piss ubogich menedżerów ...
źródło
Jako ramy wydajności, SMART jest tak skuteczny, jak ściśle twoje cele są zgodne z celami twoich menedżerów. Czasami twoje cele SMART muszą najpierw ZMNIEJSZYĆ, tj. uczyń je:
Może to zabrzmi dziwnie.
źródło
Ustalanie celów typu SMART może być przydatne w kontekście programowania, ale musi być wykonane inteligentnie lub, jak wskazano w innych odpowiedziach, może to być strata czasu (lub gorzej).
Aby uzyskać przydatne cele, pomaga uzgodnić, co oznacza skrót SMART: w szybkim wyszukiwaniu Google znaleziono różne definicje :
Po pierwsze, obie strony negocjacji w sprawie ustalania celów powinny działać na podstawie wspólnego zrozumienia procesu.
Następnie należy wyjaśnić i zrozumieć ogólne cele organizacji, działu, grupy, zespołu (lub dowolnej odpowiedniej hierarchii). W tym momencie jednostka (IMO, cele muszą być ustalone na poziomie indywidualnym, aby były opłacalne) powinna mieć możliwość uzgodnienia niewielkiej liczby celów, które powinny informować o dalszych działaniach tej osoby.
Jeśli na tym się skończy, nadal będzie to strata czasu każdego. Cele należy poddawać regularnym przeglądom i dostosowywać - tam, gdzie zostały osiągnięte, należy rozważyć ewentualną potrzebę ustanowienia nowych celów, a jeśli nie zostały osiągnięte, należy wskazać przyczyny i w razie potrzeby zalecić działania naprawcze.
Wszyscy zainteresowani powinni mieć świadomość, że tego rodzaju ćwiczenie nie jest opłacalne, jeśli nie jest traktowane poważnie, a może bardziej algorytmicznie, wartość, która ma zostać uzyskana, jest proporcjonalna do włożonego wysiłku.
Warto dowiedzieć się, co ludzie uważają za przydatne / wartościowe cele SMART. Zadałem tutaj pytanie ...
źródło
Problem z celami SMART polega na tym, że muszą wybrać to, co jest wymierne. Ponieważ to, co jest mierzalne i to, co ważne dla sukcesu organizacji, często nie jest tym samym (i praktycznie nigdy nie zajmuje się programowaniem), cele SMART zawsze zawodzą w ocenie wyników z mojego doświadczenia. Czasami rzeczy wydają się mierzalne, ale nie są bez większego wysiłku (tak jak cel SMART, miałem jeden raz odpowiedzieć na wszystkie e-maile w ciągu 4 godzin. Naprawdę, kto chce spróbować przejrzeć tysiące e-maili, które dostaję rok, ustal, czy to był informacyjny lub potrzebował odpowiedzi, a następnie spójrz na moje wysłane e-maile, aby zobaczyć, czy odpowiedziałem, a następnie słuchaj nagrań wszystkich połączeń telefonicznych, aby zobaczyć, czy odpowiedziałem, sprawdź mój dziennik czatu, aby zobaczyć, czy odpowiedziałem itp. I co z tym e-mailem, który został do mnie wysłany w sobotę wieczorem o północy ...)
źródło
Wszystkim osobom, które odpowiedziały NIE, Twoje Cele prawdopodobnie NIE były wystarczająco INTELIGENTNE.
Korzystałem z nich i uważam je za niezwykle przydatne. Możesz spróbować czegoś, co działa dla nas:
Jest to niezwykle potężne, stwarza odpowiedzialność przed Deweloperem. Ludzie, którzy chcą znaleźć wymówki z kurczaka po około 6 miesiącach.
PS: Rozumiem, że ludzie głosują na odpowiedź, ale proszę wstawić co najmniej odpowiedni komentarz, dowiem się czegoś, czego nie wiem :-)
źródło
SMART to akronim zapamiętywania niektórych kryteriów lepszych celów. Zatem wprowadzenie SMART oznacza, że twoje kierownictwo musi lepiej postępować zgodnie z tą zasadą. Bez SMART zarządzanie i tak ustalałoby cele, ale byłyby one prawdopodobnie zbyt trudne.
Tak więc, dla programistów nie powinno być żadnych zmian, zarząd musi zmienić swój styl, aby wdrożyć SMART. A jeśli zrobią to dobrze, praca programisty może być łatwiejsza, ponieważ kierunek projektu jest bardziej przejrzysty, ramy czasowe są ustawione i tak dalej.
Jeśli zarząd nie zrobi tego dobrze, niewiele się zmieni.
źródło