¿Cómo haces que un gerente entienda Agile?

12

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!

Steven A. Lowe
fuente
¿Qué significa SDS? Intenté buscar en Google, pero recibí mucha interferencia.
Max
2
SDS es "Especificación de diseño de software". Él usa esa frase anteriormente en la publicación, también.
Thomas Owens
2
Diagramas de flujo? ¿¿Seriamente?? ¡Correr! ¡Corre y no mires atrás!
nikie
2
No hay nada de malo en un diagrama de flujo para ilustrar cómo funciona un algoritmo, puede ser mucho más fácil de leer que el pseudocódigo.
Bjarke Freund-Hansen

Respuestas:

20

Como consultor, entiendo una regla simple de consulta:

  • No puedes ayudar a las personas que no quieren ser ayudadas.

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:

  1. Es imposible reunir todos los requisitos al comienzo del proyecto.

  2. Cualquiera que sea requerimientos que hacer recogeréis están garantizados para el cambio.

  3. Siempre habrá más cosas que hacer que el tiempo y el dinero lo permitirán.

y un objetivo:

  • Entregar algo de valor cada semana.

Eso es todo lo que necesitas para comenzar.

Convencer a su gerente es otra cosa.

Rein Henrichs
fuente
11

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.

Christopher Bibbs
fuente
El enfoque de "experimento" es lo que mi grupo está haciendo ahora con uno de nuestros nuevos trabajos. Parece estar trabajando hasta ahora: 3 iteraciones, todos fuera de nuestro grupo están contentos; los desarrolladores aún más.
DaveE
5

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 .

Steven A. Lowe
fuente
4

"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"

Homde
fuente
3
+1 para "Necesitamos aprovechar nuestra flexibilidad sinérgica para generar una solución de servicio completo justo a tiempo"
CaffGeek
¿Las personas están realmente más familiarizadas con la creación de películas que con la creación de software? ¿O estabas hablando del "director principal"?
Alex Feinman
2

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.

wolfgangsz
fuente
2

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

  • Individuos e interacciones sobre procesos y herramientas.
  • Software de trabajo sobre documentación completa
  • Colaboración del cliente sobre negociación de contrato
  • Responder al cambio sobre seguir un plan

Pero eche un vistazo a la página en detalle para obtener la intención completa.

FrVaBe
fuente
1
y posiblemente lo más importante para transmitir el punto: halfarsedagilemanifesto.org
gbjbaanb
1

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.

nicolaskruchten
fuente
55
Gerente: "¿Ya hemos terminado? ¡Genial! Solo usemos el prototipo"
Homde
@mko: Si el objetivo de este ejercicio es convencer al gerente de que no insista en especificaciones tan detalladas, entonces ese tipo de respuesta sería una clara victoria. Aunque parece que prácticamente no hay posibilidad de que eso suceda en este escenario.
Aaronaught
-1

Esto podría ser de ayuda: http://www.youtube.com/watch?v=4u5N00ApR_k

En esta película "Quiero ejecutar un proyecto ágil", seguimos las experiencias de un valiente líder de proyecto, Luke, ya que tiene muchos encuentros diferentes en toda la empresa, trabajando para establecer y entregar su proyecto Ágil.

Prasanjeet Mohanty
fuente