J'ai participé à trois projets qui ont clairement échoué. C’était assez douloureux, mais avec le recul, deux des trois n’ont pas eu de conséquences négatives sur ma carrière, et même le troisième n’a pas été la fin du monde.
Voici quelques observations dont je me souviens.
Les développeurs aux postes de niveau junior ("code par spécification", "correction du bogue", etc.) ne sont pas trop affectés, à moins qu'ils ne se relâchent en raison du moral bas de l'équipe. À des postes comme ceux-ci, une stratégie de survie judicieuse et parfois même réussie pourrait consister à faire de son mieux.
- Par exemple, l’un des échecs que j’ai connus a été surmonté par la résolution simple et méthodique de plus de cent bugs connus qui (associés à une approche particulièrement intelligente de promotion de cette avancée par le responsable technique) ont finalement amené la direction à la décision de récupérer le projet et une nouvelle chance avec une nouvelle version, qui à son tour a fait un succès raisonnable.
Les programmeurs occupant des postes plus importants et plus influents seraient mieux préparés à partager les conséquences négatives de l'échec d'un projet. Un architecte, un responsable technique et un développeur principal sont généralement censés avoir un impact suffisamment important pour être considérés comme responsables du succès ou de l'échec du projet.
À un poste de direction, on serait mieux préparé à gagner «indirectement» d'un échec en analysant ce qui n'allait pas et ce qui aurait pu être mieux fait.
Ces connaissances élémentaires, les leçons post-mortem, peuvent être inestimables si elles sont bien apprises. La carrière très réussie à des postes de responsabilité peut dépendre de la qualité de ces connaissances, comme expliqué dans cette réponse brillante de WP :
Le jugement ne vient pas du succès, mais des échecs. La plupart des entreprises veulent embaucher des personnes dont les échecs ont été payés par des entreprises précédentes ...
Sur une note plus pratique, on peut envisager l’approche «version suivante / mise à jour» comme solution possible à l’échec. Par coïncidence ou non (je pense que non ), mais les échecs qui n'ont pas nui à ma carrière ont suivi des scénarios très similaires: la libération a N
été un désastre total, la libération N+1
était tolérable, les versions N+2
et plus tard ont été un franc succès.
En marchant dans vos chaussures, je ferais très probablement quelques efforts pour préparer / promouvoir l'idée de "prochaine version". Créez (et communiquez !) Quelque chose comme une liste provisoire des problèmes connus que vous voudriez résoudre après la publication prévue. Préparer une feuille de route informelle et approximative pour la ou les prochaines versions.
Pensez à la manière dont vous pourriez communiquer ces idées à votre entourage, comment vous pourriez influencer la direction pour qu’elle envisage ce plan. Si le projet compte des personnes possédant de bonnes compétences en marketing, essayez de les impliquer dans l’amortissement des dommages liés à l’échec en résumant la publication à venir en termes plus lisses, telles que "accès anticipé", "version bêta", "aperçu du client", "publication préliminaire", etc. cette.
Pensez à un plan de secours au cas où des personnes plus élevées sembleraient sourdes à cette idée. Rappelez-vous l'histoire ci-dessus à propos de "la correction de plus de cent bugs connus"? il y a une chance pour que les choses changent, vraiment.
La direction peut sembler sourde aux idées de la prochaine publication maintenant, mais il y a une bonne occasion pour elles de reconsidérer face à de solides preuves convaincantes de la progression de la qualité du projet.
- Il est fort probable qu'il y aura un délai assez long entre le gel du code pour la publication prévue et la décision de la direction de le supprimer complètement. Ce temps est votre chance: si vous concentrez vos efforts sur la résolution des problèmes connus et sur une "évangélisation" des progrès, cela pourrait faire la différence (comme cela m’a été fait une fois pour moi).