Powinieneś zrobić lekcje dla wszystkich projektów, które zakończyły się niepowodzeniem lub sukcesem. Z dobrego projektu można się wiele nauczyć.
Prawdziwie nieudane projekty były dla mnie bardzo rzadkie. Oprócz zrozumienia, co się stało, robię „pytaj, dlaczego 5 razy”, aby spróbować dotrzeć do podstawowych przyczyn. Jest także kwestia tego, dlaczego nie zauważyłem, co się dzieje i albo coś z tym zrobiłem, albo przynajmniej się wydostałem.
Myślę, że pierwszym zadaniem każdego jest obwinianie wszystkiego - klienta, technologii, rozwiązywanego problemu biznesowego, metodologii, członków zespołu, języka, platformy, a nawet sposobu, w jaki przyjmujemy kawę rano. Zaletą retrospektywy (nawet jeśli dzieje się to tylko we własnej głowie) jest szansa na pogodzenie się z niektórymi lub wszystkimi tymi czynnikami i uświadomienie sobie, że to nie problem.
W mojej jedynej prawdziwej porażce ostatnich 30 lat projekt wymagał dosłownie lat, kiedy przyjechaliśmy. Wymagania zostały spełnione. Jeden pochodził z zarządzania, a setki od użytkowników końcowych. Napisaliśmy kod, dużo kodu, trochę świetny. Były testy i testy akceptacyjne oraz zmiany i argumenty oraz prośby o zmianę, nieopłacana praca i płatna praca i rygorystyczne last minute, surrealistyczny humor i eskalacje do wiceprezesów i tak dalej. W końcu wszystko się potknęło. Przyczyną niepowodzenia było to, że pojedynczy wymóg zarządzania był nie do przyjęcia dla użytkowników końcowych. I bez względu na to, ile rzeczy założyli, nie mogli tego uniknąć i nigdy nie zaakceptowaliby systemu. Ale kierownictwo nie byłoby inaczej. Tak było i chociaż dostaliśmy dużo pieniędzy, w końcu było
Nadal pracuję w tej technologii, nadal używam tych procesów i nadal pracuję z tymi samymi ludźmi. Zrobiłbym nawet inny projekt dla tego klienta. Ale kiedy użytkownicy końcowi powiedzą, że nie podoba im się coś, co własne zarządzanie wprowadziło do wymagań, przypomnę sobie, że pisanie dobrego kodu, który działa, nie chroni cię przed nieudanym projektem. I wtedy coś z tym zrobię, nie rok czy dwa później.