archivo

Archivos diarios: julio 25, 2011

Un sistema complejo en arquitectura, codificación y/o funcionalidad resulta difícil de mantener (no solo por la deuda técnica, sino también por su alcance) y por tanto de ser adaptado a las necesidades y expectativas del usuario.

Complejidad y principios ágiles no son incompatibles pero no son buenos amigos. Una evolución continua del sistema, adaptándolo, buscando una aproximación cada vez más cercana a las expectativas del usuario necesita de un ritmo alto y la complejidad lo rompe.

Hay sistemas inherentemente complejos pero hay otros donde la complejidad es añadida por los usuarios y/o por el equipo de proyecto. Para el primer caso, sobre todo en el caso de sistemas críticos la solución más adecuada no pasará por la aplicación de metodologías ágiles (el procedimiento y la metodología serán necesariamente más rígidos), en el segundo caso hay que tender hacia una reducción sistemática de la complejidad y una visión ágil del desarrollo puede ayudar a conseguirlo (aunque ralentiza la evolución del sistema).

En muchos casos se llega a un Death March Project (sin tener en cuenta todos aquellos en donde se sabe desde que se oferta o se planifica que se va a llegar a esta situación o donde la estimación ha sido errónea) por una serie de situaciones (que no tienen por qué ser muchas) que han ocurrido en el transcurso del proyecto y que no se han solucionado de manera tajante y/o por una serie de errores (que tampoco tienen por qué ser muchos) que han tenido lugar en el seno del equipo de proyecto, en los usuarios y/o en los responsables técnicos del cliente.

Es importante insistir que no han tenido por qué ser muchas las situaciones y/o errores que han tenido que ocurrir para que todo empiece a ir mal, basta con que sean lo suficientemente graves (aunque al principio no lo parezcan) y no se le hayan aplicado soluciones a tiempo para que la situación se convierta en delicada.

Cuando las heridas (esas situaciones y/o errores) se va haciendo más grande hay que intervenir, si no se hace probablemente el proyecto llegue a una espiral en la que todos pierden, a una situación de Death March Projecto.