lunes, 3 de enero de 2011

Antipatrones de la Administración de Proyectos

Antipatrones

Los antipatrones son soluciones negativas que presentan más problemas que los que solucionan. Son una extensión natural a los patrones de diseño. Comprender los antipatrones provee el conocimiento para intentar evitarlos o recuperarse de ellos. El estudio de los antipatrones permite conocer los errores más comunes relacionados con la industria del software.
Los antipatrones se documentan con cierto cinismo, lo cual los hace bastante graciosos y fáciles de recordar. Los nombres siempre aluden al problema que tratan con humor. Se documentan mediante una plantilla (como los patrones de diseño) que incluye secciones para documentar la solución orígen (que es la causa del problema), el contexto, las fuerzas en conflicto y las soluciones correctas propuestas. Un buen antipatrón explica por qué la solución original parece atractiva, por qué se vuelve negativa y cómo recuperarse de los problemas que ésta genera.
Según James Coplien, un antipatrón es...
“...algo que se ve como una buena idea, pero que falla malamente cuando se la implementa.”
Cómo en los antipatrones se parte desde una solución (que es la que genera el problema), mientras que en los patrones se parte de un problema a resolver.
Un antipatrón es una forma literaria que describe una solución común a un problema que genera decididamente consecuencias negativas.
• Son un método eficiente para vincular una situación general a una clase de solución específica.
• Proveen experiencia del mundo real para reconocer problemas recurrentes en la industria del software, ofreciendo también una solución para sus implicaciones más comunes.
• Establecen un vocabulario común para identificar problemas y discutir soluciones.
• Soportan la resolución holística de conflictos, utilizando recursos organizacionales a diferentes niveles.
Categorías de antipatrones
Estos se dividen en 3 grandes categorías a las cuales se denominan “puntos de vista”:
• Desarrollo de Software: Se centran en problemas asociados al desarrollo de software a nivel de aplicación.
• Arquitectura de Software: Se centran en la estructura de las aplicaciones y componentes a nivel de sistema y empresa.
• Gestión de Proyectos de Software: En la ingeniería del software, más de la mitad del trabajo consiste en comunicación entre personas y resolver problemas relacionados con éstas. Los antipatrones de gestión de proyectos de software identifican algunos de los escenarios clave donde estos temas son destructivos para el proceso de software.

Emilio Magaña

No hay comentarios:

Publicar un comentario