Sí, pero con mucho cuidado!
Déjame aclarar eso.
Debe esforzarse por mejorar la habitabilidad del software. Si observa el código / equipo / negocio / proyecto / administración y su primera respuesta es darse una ducha, entonces no es habitable. Si su primera respuesta es gritar, ¡sí! ... y luego quejarse cuando está fuera de la oficina, entonces debe hacer que su hogar sea más habitable. Es un sentimiento, y lo sabrás.
Dicho esto, estás trabajando en una complicada síntesis . Es probable que todo lo que hagas salga mal y probablemente empeore las cosas al menos a corto plazo, porque un simple cambio tiene ondas. Así que, en primer lugar, sé humilde, no me refiero a ser un empujón o aceptar que las cosas deben ser malas, me refiero a aceptar el hecho de que tus buenas intenciones te atacarán brutalmente.
El problema
Con la mejor de las intenciones, puede sentir que es necesario un cambio amplio y amplio, y no estoy en desacuerdo con la existencia de estas situaciones, pero tómese un momento para pensarlo. El sistema actual está funcionando, usted y su equipo están produciendo código, quizás sea lento, quizás sea doloroso, pero está funcionando y todos ustedes tienen experiencia en cómo hacerlo. Usted sabe aproximadamente qué esperar, en resumen, son profesionales con experiencia en este sistema.
Después del cambio radical, nadie, excepto quizás el implementador, sabe qué esperar. En resumen, todos se han restablecido a un nivel neófito en esta parte del sistema. Eso no es bueno. Los neófitos tienen que aprender las nuevas reglas que llevan tiempo. En ese tiempo, los neófitos cometen errores porque no se practican. Esos errores se vuelven parte del sistema, con el que ahora tienes que vivir y ahora no es tan brillante.
Un camino a seguir
Hay momentos en que cortar, quemar y reconstruir es, con mucho, lo mejor que puedes hacer. Es particularmente atractivo si no se practica a nadie en el sistema antiguo, porque lo único que se pierde es el conocimiento codificado. Si este conocimiento es completamente incomprensible, entonces ya está perdido, y comenzar de nuevo es la única opción. Por el contrario, si el método de codificación, o cómo se usa es problemático pero funciona, ese conocimiento aún es accesible, y quizás valga la pena mantenerlo, tal vez no lo sea. Simplemente no tome la decisión a la ligera.
La otra opción es trabajar con el sistema para que todos tengan un marco de referencia, pero cambiar pequeñas partes del sistema para que todos en el equipo estén al tanto, o si no están al tanto del cambio, es fácil Aviso y fácil de aprender. Esta es la base de las prácticas llamadas Kaizen . En la presentación Shaving the Golden Yak se presenta una fórmula más orientada al desarrollador. Recomiendo verlo y pensarlo detenidamente.
Así que encuentre algo pequeño que se pueda cambiar que mejore su vida y, con suerte, la de algunos otros. Arreglar o mejorar la situación. Esto le dará práctica y experiencia para poner en práctica los cambios. Asegúrese de recibir comentarios: ¿podría haberlo discutido mejor, si fue realmente útil, si molestó a otra parte del sistema? Desarrolle su sensación de lo que se puede hacer y cómo hacerlo.
Ahora han sucedido tres cosas:
- has mejorado el sistema,
- has obtenido experiencia sobre cómo cambiar el sistema
- el equipo te ha visto cambiar con éxito el sistema.
Ahora elija otra cosa para mejorar, a medida que su experiencia crezca y a medida que elimine los problemas bajos comenzará a enfrentar los problemas más difíciles del sistema, pero al menos ahora cuando dice que tenemos que cambiar X:
- Sabes cómo afectará el cambio al sistema
- Usted sabe qué problemas generará (qué reglas necesitan volver a aprender)
- Conoce algunas formas inmediatas de solucionar o mejorar los problemas que introducirá el cambio
- las personas que lo rodean son conscientes de que conoce el sistema y es capaz de cambiarlo con éxito