| Buenas Prácticas: Desarrollemos buen software o no desarrollemos ! |
| Escrito por Sisfo | |
|
Por: Mauricio Morales, Gerente General y co-fundador de Sisfo Ltda.
¿ "Buenas prácticas" ?, sí, y sobre este tema ya rodean la mayoría de conversaciones y proyectos de mejoramiento de la empresas de desarrollo de software. El proceso de desarrollo de software, las metodologías aplicadas y los estándares han sido discutidos por muchos años y seguramente lo seguirá siendo por muchos más. Ahora nuestro trabajo no consiste solamente en ejecutar un proyecto basado en buenos diseños, excelentes arquitecturas e interfaces; sino que también deben ser ejecutados en el menor tiempo posible y sin que pierdan calidad. Es difícil creer que sea posible, pero en Febrero de 2001 la palabra "Ágil" fue adoptada como el eslógan de metodologías como Extreme Programming, Crystal, Adaptative Software Development, Scrum, y otras. En uno de los mejores libros de mi biblioteca (Lean Software Development), Mary y Tom Poppendieck toman las mejores prácticas industriales (piense en la manufactura automotriz) y las adaptan a la industria del software con una combinación perfecta de Scrum, XP y otras. El uso de metodologías ágiles para el desarrollo de software se ha vuelto una necesidad, pues la mayoría de los clientes necesitan proyectos para "ayer". El hecho de que un proyecto de software deba ser desarrollado ágilmente no justifica que sea mal diseñado o se entregue con errores. Es aquí donde vienen las metodologías ágiles a salvarnos !
¿ Ha adoptado su organización buenas prácticas ? 1. Ha eliminado usted los procedimientos en su empresa que puedan estar generando pérdidas ?: Piense en una pérdida como algo que Usted esté haciendo y no esté generando valor agregado al producto o no es percibido por el cliente. 2. Aprende de los proyectos ?: El desarrollo es un ejercicio en descubrimiento, aprenda de sus proyectos y madure su metodología. 3. Finaliza y entrega iteraciones tan pronto como puede ?: Realizar entregas rápidas le permite a Usted detectar errores más pronto y siempre ir en el camino correcto. 4. Participa todo su equipo en el desarrollo ?: Cada decisión importante que se tome en la vida de un proyecto debe ser con todo el equipo, de esta forma todos aprenden de la experiencia y estarán mejorando sus habilidades continuamente. 5. Construye software estructuralmente integrado ?: Un sistema es percibido como integrado cuando el cliente expresa que es exactamente lo que necesitaba. 6. Piensa Usted en la necesidad final mientras construye ?: Imaginarse el proyecto por completo es muy importante, sin importar en que etapa se encuentre el desarrollo. Alguna vez leí que "Queda mejor el edificio cuando cada ladrillo se transporta pensando en la estructura final".
Compartamos experiencias Ejesoft unirá a las mejores empresas de desarrollo de software para que compartan sus propias experiencias en la adopción de buenas prácticas de desarrollo de software. Los invito a que mejoremos y compitamos a nivel internacional como empresas de Offshoring en IT.
Publicaré un artículo cada que el tiempo me lo permita, y espero que los nuevos miembros participen en la construcción de Ejesoft.
Mauricio Morales |