Las prácticas ágiles deben ir acompañadas con buenas prácticas en programación. Hablamos de la estrecha relación de la agilidad con TDD, BDD, ATDD, refactorización, etc. Todas ellas técnicas y prácticas propias de desarrollo.
Recientemente, he conocido "Domain-Driven Design" (DDD), impulsado por un grupo de expertos, entre los que se encuentra Eric Evans ("Domain-Driven Design: Tackling Complexity in the Heart of Software"), y que cumple a la perfección los principios de las metodologías ágiles.
Como explican sus creadores, Domain-Driven design no es ninguna tecnología, ni metodología. Se trata de una forma de pensar y organizar un conjunto de prioridades, dirigidos a la aceleración de proyectos de software que tienen que tratar con complejos dominios (http://domaindrivendesign.org/resources/what_is_ddd)
Propugna la comunicación directa entre los expertos del dominio (el cliente), los analistas y desarrolladores, utilizando un lenguaje común (lenguaje ubícuo) que permita un entendimiento completo del dominio, hacia la elaboración iterativa del diseño que conduzca a la correcta codificación del problema planteado.
Como dice Eric Evans en su libro "Domain-Driven Design Quickly" (de descarga gratuita en InfoQ), no basta con conocer las técnicas adecuadas de programación si no van acompañadas de unos sólidos conocimientos de arquitectura y sus principios. Esta arquitectura reconoce la complejidad en la elaboración del software, y trata de
Para los que trabajamos con .Net, existe una mágnifíca guía, en estos momentos en fase Beta, llamada "Guía de Arquitectura N-Capas orientada al Dominio con .Net 4.0", que trata de llevar a su implementación práctica el DDD. Todo el material relacionado se puede encontrar en el "Centro de Arquitectura - MSDN".
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario en la entrada