Tengo un problema con un director sénior que no entiende el desarrollo iterativo (mucho menos ágil). Él insiste en que nuestra especificación de diseño de software (SDS) se complete antes de escribir cualquier línea de código. Completo, para él, significa que todos los detalles funcionales están ahí. Además, al ser un antiguo programador de Cobol, quiere ver "módulos" y diagramas de flujo. Esta es una aplicación web de Java para llorar en voz alta!
De todos modos, estoy tratando de encontrar un lugar simple para señalarlo suavemente para mostrar que la SDS no necesita estar 100% completa antes de comenzar a codificar (ni puede estar completa). ¿Alguna sugerencia?
¡Gracias!
design
agile
specifications
Steven A. Lowe
fuente
fuente
Respuestas:
Como consultor, entiendo una regla simple de consulta:
No puedes hacer que nadie haga nada que no quiera hacer, excepto por la fuerza de la autoridad, que tú no tienes.
Como entrenador, presento a Agile con tres reglas:
Es imposible reunir todos los requisitos al comienzo del proyecto.
Cualquiera que sea requerimientos que hacer recogeréis están garantizados para el cambio.
Siempre habrá más cosas que hacer que el tiempo y el dinero lo permitirán.
y un objetivo:
Eso es todo lo que necesitas para comenzar.
Convencer a su gerente es otra cosa.
fuente
No puede "hacer" que un gerente entienda ágilmente de manera diferente a como puede hacer que un desarrollador lo entienda. Debes presentarle los argumentos (los libros de Kent Beck son un buen comienzo) y dejar que se decida.
Alternativamente, puede pedirle que le permita ejecutar un experimento. Tome un pequeño proyecto y ejecútelo con un desarrollo iterativo y controle el tiempo, el presupuesto, los problemas de calidad y la satisfacción del equipo. Compárelo con proyectos anteriores (o lanzamientos) y vea si fue mejor, peor o neutral.
fuente
Usted no
En primer lugar, ¿por qué un director sénior incluso participa en la elección de la metodología de desarrollo de software? Esa decisión está muy por debajo de su nivel salarial, huele a microgestión y dice mucho desconfianza.
Segundo, ¿por qué necesita entenderlo? Si las especificaciones del software se fijan en piedra, habrá exactamente una iteración. Si no lo están, habrá múltiples iteraciones. Esta no es su decisión .
Si cree que es su decisión, está socavando la autoridad del gerente de TI, el gerente de proyectos, el arquitecto de TI, los líderes de equipo y el equipo de desarrollo. Por lo tanto, él mismo debería escribir el software @ # $% ing, o STFU, y dejar que los profesionales hagan su trabajo sin la carga de cerebros de dinosaurios.
No estoy bromeando. Si no puede confiar en que hagas tu trabajo, debería hacerlo él mismo y tú deberías huir gritando .
fuente
"Hacer un software es como hacer una película, debes planificar por adelantado, pero durante la filmación debes volver a hacer tomas, volver a visitar escenas antiguas y editar el producto final para garantizar un buen resultado"
Por otra parte, él es un gerente, así que en sus palabras:
"Necesitamos aprovechar nuestra flexibilidad sinérgica para generar una solución de servicio completo justo a tiempo"
fuente
Se aplica el viejo dicho: puedes llevar el caballo al agua, pero no puedes obligarlo a beber.
Como otros han señalado, lo que realmente debería importarle a este director sénior es el valor comercial. Podría intentar proporcionar una estimación rápida de cuánto tiempo pasará elaborando sus diagramas de flujo y diagramas de módulos y escribiendo una SDS "completa" (concepto ridículo, pero dele lo que quiere). Si sé algo sobre estas cosas (y cuando comencé a escribir software, así fue como se hizo), entonces su estimación será fácilmente de varias semanas, si no más, para un proyecto considerable. Expresa esa cifra en dinero.
Luego muéstrele cuánta funcionalidad podría ofrecer al mismo tiempo. Hable con algunas personas en el negocio sobre cuánto tiempo les ahorraría tener una aplicación web básica haciendo esas cosas que podría entregar en ese mismo tiempo. Luego multiplique este ahorro por la frecuencia con que usan esta función en, digamos, 3 años. Expresar eso en dinero.
Probablemente hay otros beneficios comerciales que se pueden expresar en dinero. Mi favorito es siempre la prevención del "bobo". Si su software puede ayudar a minimizar los desastres o evitarlos por completo, busque un desastre reciente y expréselo en términos monetarios. Luego dígale a su jefe: si tuviéramos esto ahora, habríamos ahorrado este dinero.
Y si el truco del dinero no funciona, entonces tal vez debería acercarse a él y decirle que deje de administrar micro a su equipo. Aunque, en mi experiencia, es más probable que te despidan que cualquier otra cosa.
fuente
El lugar simple podría ser el Manifiesto para el desarrollo de software ágil .
La información que encuentra en este lugar trata sobre los principios básicos del desarrollo ágil de software definidos por un grupo de profesionales bien conocidos.
Es decir
Pero eche un vistazo a la página en detalle para obtener la intención completa.
fuente
Sugeriría tratar de mostrarle que al hacer "Prototipos rápidos" (también conocido como comenzar a codificar las primeras iteraciones) puede desarrollar su SDS de manera más rápida y precisa (lo que significa menos retrabajo más adelante) y comenzar a entregar valor comercial antes. Realmente, el valor comercial más probable es todo lo que le importa a este director y él ha decidido que la mejor manera de lograrlo es a través de este proceso secuencial. Debe mostrarle en sus términos por qué su enfoque es mejor.
fuente
Esto podría ser de ayuda: http://www.youtube.com/watch?v=4u5N00ApR_k
fuente