Brałem udział w trzech projektach, które były wyraźnie porażką. Były to dość bolesne, ale patrząc wstecz, dwie z trzech nie miały negatywnych konsekwencji dla mojej kariery, a nawet trzecia nie była końcem świata.
Oto niektóre spostrzeżenia, które pamiętam.
Deweloperzy na niższych stanowiskach („kod na specyfikację”, „napraw błąd” itp.) Nie mają większego wpływu, chyba że zwolnią z powodu obniżonego morale w zespole. Na takich pozycjach rozsądna, a czasem udana strategia przetrwania może być po prostu jak najlepiej.
- Na przykład jedną z porażek, których doświadczyłem, udało się przezwyciężyć poprzez proste, metodyczne naprawianie ponad stu znanych błędów, które (w połączeniu ze szczególnie inteligentnym podejściem do promowania tego postępu przez lidera techniki) ostatecznie doprowadziły kierownictwo wyższego szczebla do decyzji o odzyskaniu projektu i to kolejna szansa z nowym wydaniem, które z kolei odniosło spory sukces.
Programiści na wyższych, wpływowych stanowiskach byliby lepiej przygotowani do dzielenia się negatywnymi konsekwencjami niepowodzenia projektu. Oczekuje się, że architekt, lider technologii i starszy programista wywrze wystarczająco duży wpływ, aby uznać go za odpowiedzialnego za sukces lub porażkę projektu.
Na wyższym stanowisku lepiej byłoby przygotować się na porażkę „pośrednio”, analizując, co poszło nie tak i co można zrobić lepiej.
Te fragmenty wiedzy, poubojowe lekcje mogą być nieocenione, jeśli zostaną właściwie wyuczone, a bardzo udana kariera na wyższych stanowiskach może zależeć od tego, jak dobrze się je uczy, jak wyjaśniono w tej genialnej odpowiedzi na WP :
Osąd nie pochodzi z sukcesu, ale z porażek. Większość firm chce zatrudniać osoby, za które wcześniejsze awarie opłacały ...
Mówiąc bardziej praktycznie, można rozważyć podejście „następna / aktualizacja wydania” jako możliwe wyjście z awarii. Przypadkowo lub nie (chyba nie ), ale obie niepowodzenia, które nie zaszkodziły mojej karierze, przebiegały według bardzo podobnych scenariuszy: wydanie N
było całkowitą katastrofą, wydanie N+1
było do zaakceptowania, wydania, N+2
a później były zwykłym sukcesem.
Chodząc w twoich butach, zapewne włożyłbym trochę wysiłku w przygotowanie / promowanie idei „następnego wydania”. Zrób (i przekaż !) Coś w rodzaju wstępnej listy znanych problemów, które chciałbyś naprawić po planowanym wydaniu. Przygotuj nieformalną, przybliżoną mapę drogową dla następnych wydań.
Pomyśl, w jaki sposób możesz przekazać te pomysły ludziom wokół ciebie, jak wpłynąć na kierownictwo, aby rozważyć ten plan. Jeśli w projekcie jest ktoś z dobrymi umiejętnościami marketingowymi, spróbuj zaangażować go do amortyzacji szkód spowodowanych awarią, kończąc nadchodzące wydanie na bardziej płynnych warunkach, takich jak „wczesny dostęp”, „beta”, „podgląd klienta”, „wprowadzenie”, itp. że.
Pomyśl o planie tworzenia kopii zapasowych na wypadek, gdyby wyższy poziom wydawał się głuchy na ten pomysł. Pamiętasz powyższą historię o „naprawieniu ponad stu znanych błędów”? naprawdę jest szansa, że coś się zmieni.
Kierownictwo może teraz wydawać się głuche na pomysły na kolejne wydanie, ale istnieje duża szansa, aby ponownie się zastanowili w obliczu silnych przekonujących dowodów na postęp jakości projektu.
- Jest całkiem prawdopodobne, że pomiędzy zamrożeniem kodu a planowanym wydaniem a decyzją kierownictwa o jego całkowitym usunięciu będzie raczej długi czas. Ten czas jest twoją szansą: jeśli skoncentrujesz wysiłek na rozwiązaniu znanych problemów i właściwej „ewangelizacji” postępu, może to mieć znaczenie (tak jak kiedyś mi to zrobiło).