Participé en tres proyectos que fueron un claro fracaso. Estos fueron bastante dolorosos, pero mirando hacia atrás, dos de tres no tuvieron consecuencias negativas en mi carrera, e incluso el tercero no fue el fin del mundo.
Aquí hay algunas observaciones que recuerdo.
Los desarrolladores en posiciones junior ("código por especificación", "arreglar el error", cosas así) no se ven afectados mucho, a menos que se relajen debido a la baja moral del equipo. En posiciones como estas, una estrategia de supervivencia sensata e incluso a veces exitosa podría estar haciendo lo mejor que pueda.
- Por ejemplo, una de las fallas que experimenté fue superada por la solución simple y metódica de más de cien errores conocidos que (junto con un enfoque particularmente inteligente de promover este progreso por parte del líder tecnológico) eventualmente llevaron a la alta gerencia a la decisión de recuperar el proyecto y dar Es otra oportunidad con un nuevo lanzamiento, que a su vez tuvo un éxito razonable.
Los programadores en puestos más importantes e influyentes estarían mejor preparados para compartir las consecuencias negativas del fracaso del proyecto. Por lo general, se espera que un arquitecto, líder tecnológico, desarrollador senior tenga un impacto lo suficientemente grande como para ser considerado responsable del éxito o el fracaso del proyecto.
En el puesto superior, uno estaría mejor preparado para ganar "indirectamente", analizando qué salió mal y qué podría haberse hecho mejor.
Estos fragmentos de conocimiento, las lecciones post-mortem pueden ser invaluables si se aprenden bien, la carrera exitosa en puestos de alto nivel puede depender de qué tan bien se aprendan, como se explica en esta brillante respuesta en WP :
El juicio no proviene del éxito, sino de los fracasos. La mayoría de las empresas quieren contratar personas que hayan tenido sus fallas pagadas por compañías anteriores ...
En una nota más práctica, uno puede considerar el enfoque de "próximo / lanzamiento de actualización" como una posible forma de salir de la falla. Casualmente o no (creo que no ), pero las dos fallas que no dañaron mi carrera pasaron por escenarios muy similares: la liberación N
fue un desastre total, la liberación N+1
fue tolerable, las liberaciones N+2
y más tarde fueron un éxito total.
Caminando en sus zapatos, probablemente pondría algo de esfuerzo en preparar / promover la idea del "próximo lanzamiento". Haga (¡y comuníquese !) Algo así como una lista tentativa de problemas conocidos que desearía solucionar después del lanzamiento planificado. Redacte una hoja de ruta informal y aproximada para la próxima versión.
Piense en cómo podría comunicar estas ideas a las personas que lo rodean, cómo podría influir en la administración para considerar este plan. Si el proyecto tiene a alguien con buenas habilidades de mercadotecnia, intente involucrarlo en la amortización del daño por falla al concluir la próxima versión en términos más suaves, como "acceso temprano", "beta", "vista previa del cliente", "versión introductoria", cosas como ese.
Piense en un plan de respaldo en caso de que los superiores parezcan sordos a esta idea. ¿Recuerdas la historia anterior sobre "la corrección de más de cien errores conocidos"? existe la posibilidad de que las cosas cambien, de verdad.
La administración puede parecer sorda a las ideas del próximo lanzamiento ahora, pero hay una buena oportunidad para que reconsideren ante una fuerte evidencia convincente de progreso en la calidad del proyecto.
- Es bastante probable que haya transcurrido bastante tiempo entre el congelamiento del código para la publicación planificada y la decisión de la administración de abandonarlo por completo. Ese momento es su oportunidad: si enfoca el esfuerzo en solucionar problemas conocidos y "evangelizar" adecuadamente el progreso, esto podría marcar la diferencia (como alguna vez lo hizo para mí).