Suelte ahora si puede
Su pregunta sobre cuándo comienza a publicar el código es excelente. Creo que se aplican dos condiciones. Primero, que tiene "calidad suficientemente buena", y segundo que cumple con los requisitos para un MVP (producto mínimo viable).
Roma (y ágil) no se construyeron en un día
Tal vez esté listo con un equipo ágil llave en mano para hacerse cargo el primer día. Para la mayoría de las organizaciones, existe el trabajo y el gasto de la capacitación, la reestructuración y el ciclo habitual de formación, asalto y normalización de la creación de un equipo. Sea directo sobre los riesgos y los costos, tenga cuidado de establecer expectativas realistas, y esté preparado para defender su enfoque.
Sé un Bootstrapper de reutilización
Al igual que el poder de fusión, la reutilización de código es y siempre será la solución futura a nuestros problemas económicos. Creo que los desarrolladores a menudo dicen que creen en la reutilización, pero solo en el tipo de reutilización que comienza después de construir un nuevo marco, en lugar del tipo en el que construyen sobre lo que otra persona ya ha hecho. ¿Cómo puede funcionar eso hasta que alguien esté dispuesto a elegir construir sobre los cimientos de otra persona? En el mejor de los casos, significa una reescritura cada pocos años cuando cambia el liderazgo del equipo.
¿Por qué liberar temprano y con frecuencia?
Salir temprano y con frecuencia es un mantra por muchas razones. Da vida a nuestras discusiones sobre en qué debería convertirse el producto, hace real dónde estamos y nos da una base para cambios iterativos / incrementales. El ritmo de los lanzamientos es prácticamente invariable para ágil, con la diferencia de quién recibe los lanzamientos (sustitutos del cliente o usuarios finales). Antes de ágil, se estimaba que el mantenimiento representaba el 60% del costo de los sistemas de software. Esta es una fuente de mucha consternación para los gerentes y otros, algunos que sienten que el lanzamiento del producto es donde el software va a morir. Para ellos, todo después del lanzamiento es volver a trabajar y pagar para arreglar un producto que ya pagaron una vez.
El prelanzamiento no es natural
Kent Beck escribe que el prelanzamiento es un estado antinatural para los productos de software. Ciertamente es un momento inconveniente porque es un momento en el que no tiene clientes y está pagando por el producto en lugar de que el producto lo pague por usted.
No critiques al equipo anterior
Si bien podría configurar a los desarrolladores que se hacen cargo de la reescritura como héroes y salvación del proyecto, creo que hay un costo en criticar los logros del equipo anterior.
- Primero, si dejas que las personas decidan sobre el equipo anterior, tienes más tiempo y energía para tu verdadera misión.
- Será incómodo si necesita trabajar con miembros del equipo anterior, tanto desarrolladores como partes interesadas, como gerentes de producto, gerentes de proyecto o clientes.
- Si puede hacer que funcione, puede encontrarse recibiendo (o peor aún, tomando) crédito por lo que hizo el equipo anterior.
- En promedio, el equipo anterior fue probablemente promedio. En promedio, puede ser promedio. Tiene más trabajo que el equipo anterior porque tiene una nueva metodología para implementar además de un proyecto.
- Si el equipo anterior era horrible, a menos que usted también sea horrible, eventualmente obtendrá crédito por ser mejor que horrible. Si fueron mejores que horribles, y usted no es notablemente mejor, decir que fueron horribles puede provocar comparaciones desagradables.
- Si el equipo anterior era mejor de lo que pensabas, y te metes en problemas porque la organización está rota o el problema está mal definido o es muy difícil, las cosas te irán mejor si no has elevado significativamente las expectativas.
- Si esperan lo que estaban obteniendo, pero lo haces mejor, es una victoria para ti.
- Abstenerse de criticar es a la vez buenos modales y demuestra que tienes clase.