Antes de que puedas preocuparte por dónde estás ahora, concéntrate en cómo llegaste allí. Lo más probable es que si reescribió esta aplicación desde cero con el mismo equipo y luego en otros 4/5 meses estaría en el mismo lío con un conjunto de características ligeramente diferente.
- ¿Por qué se agregaron funciones a esta aplicación?
- Cuando se agregaron características, ¿por qué no se consideró su impacto en la experiencia del usuario? ¿Por qué no se eliminaron las funciones cuando causaron problemas?
- ¿Por qué se permitió que las funciones con errores llegaran a la producción? ¿Por qué todavía están en producción?
- ¿Por qué nadie observaba la complejidad de su interfaz o la experiencia general del usuario?
Un ejercicio de “5 por qué” podría ser útil aquí. Realmente reflexione sobre cómo llegó a la posición en la que se encuentra. Hasta que identifique al menos algunas de las causas fundamentales en el trabajo aquí y deje de hacerlo, no puede tomar ninguna medida para solucionar los problemas que identificó anteriormente. Paso uno: deja de empeorarlo .
Si supera el paso 1, puede comenzar a priorizar las mejoras. Esto casi seguramente significa eliminar características. Identifique los pocos que son importantes, o que realmente funcionan, o que realmente le hacen ganar dinero. Haga una lista de tareas para eliminar o corregir el resto. Prioriza esa lista. Encuentre la pequeña cosa más importante que podría hacer para mejorar el sitio. Más pequeño es mejor. No permita que grandes refactores de barrido lo distraigan, haga el mínimo absoluto necesario para mejorar ligeramente la deficiencia más importante en el sitio. Paso dos: arregla solo una cosa .
- ¿Por qué hay tan pocas personas que discuten sus experiencias como ingenieros de software (pasante / tiempo completo) en Apple, mientras que hay tantas publicaciones en Internet sobre compañías como Google / Facebook / Microsoft?
- ¿Cuál es su opinión sobre la programación de pares?
- ¿Cómo serán las pruebas de software?
- ¿Qué hace para aumentar su nivel de habilidad u otras cosas para que su ingreso aumente de 120K a 200K como desarrollador de software si vive en el área de Seattle?
- ¿Cuáles son algunos ejemplos de software que salió terriblemente mal?
¿Tienes una pequeña cosa arreglada, ojalá incluso hayas escrito una prueba? Bueno. Ahora envíalo. Aunque solo sea para una versión interna provisional de su sitio, implemente ese cambio. No intentes arreglar nada más, solo asegúrate de que puedes liberar incluso la mejoría sin repetir los errores que identificaste en el paso 1. Paso tres: envíalo .
Repetir.