Desarrollo de software bajo metodologías ágiles (Agile Methods XP) en la práctica (página 2)
Enviado por Adrian Anaya Villegas
APLICACIÓN DE LOS PRINCIPIOS Y VALORES ÁGILES
DESCRIPCIÓN
Pura lógica es la palabra con que describen la Programación Extrema algunos conocedores y desarrolladores, las practicas de este método, están basadas en la simplicidad, la comunicación y el reciclado
continuo de código, Xp es la integración de las prácticas de métodos tradicionales resumiendo o utilizando lo más práctico y eficaz, sin olvidar la añadidura de características importantes mencionadas en el manifesto ágil [1]. Es un cambio revolucionario llevar las prácticas al extremo, teniendo como fin la satisfacción del cliente, Software de calidad, integración del cliente en el equipo de trabajo (cliente in situ), adaptación a los cambios ya sean de tecnología o de metáforas dentro del negocio.
COMUNICACIÓN, SENCILLEZ, RETROALIMENTACION Y VALENTÍA
COMUNICACIÓN
Al desarrollar sistemas software con una u otra metodología, ya sea ágil (Asm) o tradicional se determina que la comunicación es pieza importante para un buen desarrollo de los proyectos, intercambio de ideas entre jefes, personal que manejara el sistema, terceras personas que aportan, equipo de desarrollo y equipo de trabajo.
La mala comunicación se puede representar en ocasiones con el cliente, (requisitos mal comprendidos), procesos mal definidos o inexactos. También cuando el equipo de trabajo, "desarrolladores", comete errores en el manejo de la metáfora, en el manejo a nivel código cuando no se comentan cambios entre los desarrolladores, partes inseguras o no se enseñan u orientan apuntes importantes sobre programación.
En la practica se observan que la comunicación basada en metodologías agiles potencia el desarrollo de los proyectos software, gracias al manejo de cliente en sitio de trabajo se genera una retroalimentación apoyada con reuniones diarias (daily meeteng), propuestas en diez minutos, en las que originalmente se proponen manejar tres preguntas :
- Que se realizó el día anterior.
- Que inconvenientes presento.
- Que actividades se realizaran el día de hoy.
En la realidad realizar reuniones diarias de pie resulta muy complicado y en ocasiones imposibles, debido a las múltiples ocupaciones, horarios, reuniones extraoficiales y paros entre muchos mas, del cliente o equipo de trabajo, dependiendo la disponibilidad de desarrolladores o razón social de la empresa . Y cabe resaltar que al estar diariamente con el equipo cliente se aprende mucho sobre el manejo de la empresa, procesos, temas relacionados y se realizan conexiones o relaciones laborales importantes para ambas partes.
SENCILLEZ
"Simple pero no demasiado simple", nombra el autor Kent Beck [3] patriarca de la metodología ágil Xp refiriéndose a la sencillez en el diseño y desarrollo de software con dicho método.
Cuando se desarrolla con interfaces y lógica simple, los sistemas mejoran la portabilidad, manejo, mantenimiento, capacitación y rapidez, siendo un punto a favor para la adquisición o desarrollo de dicho sistema.
Cuando un programa tiene mucha sobrecarga o abuso de detalles se puede observar que estos generan retrasos en maquina, también no son usados del todo o interfieren en el manejo del programa, es recomendado ubicar en los proyectos la esencia y solo lo necesario para un optimo manejo.
En el sistema desarrollado como ejemplo para este documento se aplican estas pautas en todas las fases de desarrollo, desde la firma del contrato hasta, reuniones, sistema y socialización del proyecto, además añadiendo un recurso importante como lo es la reutilización de código en la parte de diseño y programación.
RETROALIMENTACION
Este es un punto importante para resaltar, aumenta mucho la socialización y comunicación entre los distintos equipos relacionados en el proyecto, es recomendado manejar una retroalimentación constante y oportuna en todas las fases del proyecto de forma rápida y clara.
El cliente es el usuario final encargado de administrar, manejar y obtener el máximo provecho del sistema desarrollado, por lo tanto es recomendable que los aportes de este usuario tengan eco y sean primordiales en las faces: Pruebas, Entregas frecuentes, versionado e integración para obtener como resultado un optimo y aprobado por el cliente producto final.
VALENTÍA
Ser valientes en el desarrollo de proyectos software es asumir riesgos, enfrentarse a ellos y continuar al limite junto a esta actitud hasta finiquitar un sistema, un valor importante y arriesgado que gracias a la pertenencia que se maneja en Xp permite la toma de decisiones importantes para el buen desarrollo de los proyectos software.
En la práctica se aplicaron decisiones de valentía al cambiar la base de datos estando esta en un 75% conformada y la interfaz de usuario para que su manejo fuera más ágil, obteniendo excelentes resultados.
EQUIPO DE DESARROLLO ÁGIL
Según la propuesta expuesta en el sitio oficial del proyecto tesis [2] (Http://groups.msn.com/tesis_metologias_agiles), se trata el tema de "FORMACIÓN DEL EQUIPO DE TRABAJO " en el que se nombra:
Los grupos de trabajo de desarrolladores que se conforman solos, organizan autónomamente o auto conforman, funcionan en el desarrollo de proyectos con mejores resultados y obtienen mejores logros, ya que se conocen, forman un ambiente o entorno acorde para trabajo e interacciones con el cliente buenas. Los equipos que son conformados sistemáticamente enfrentan problemas desde el inicio, desarrollo y fin de un proyecto, ya que desconocen el manejo de trabajo en el grupo nuevo mientras se acoplan al equipo.
En la Programación Extrema se propone que además de las reuniones diarias los desarrollos de código sean efectuados por parejas de programadores en lapsos de tiempo de 40 horas semanales y entre estas practicas un equipo no conocido podría no cumplir la ley de sinergia en la que todos los componentes del sistema tienen o trabajan con un mismo fin. Para terminar esta nota o paréntesis se puede nombrar que un equipo conocido trabaja con mas animo, confianza y de forma agradable para el desarrollo de distintos proyectos.
ENLACES DE INTERÉS
Sitio insignia del proyecto de tesis "ESTÁNDARES DE CALIDAD EN METODOLOGIAS AGILES PARA EL DESARROLLO DE SOFTWARE – APLICADOS COMO EJEMPLO EN EL DESARROLLO DEL MODULO DE TESORERIA PARA LA INDUSTRIA LICORERA DEL CAUCA", conteniendo, foros, imágenes, cronograma, equipo de trabajo, opiniones, documentación, enlaces, área de trabajo y todo lo relacionado con dicho proyecto.
[2] HTTP://groups.msm.com/tesismetodologiasagiles
[1] Agile Alliance, Agile Manifesto, 2001.
Http://www.agilemanifesto.org.
HTTP://www.fup.edu.co
Http://www.xprogramming.com
BIBLIOGRAFÍA
Http://www.controlchaos.com
Http://www.extremeprogramming.org
Http://www.xprogramming.com
Http://www.crystalmethodologies.org
Http://www.dsdm.org
Http://www.adaptivesd.com
Http://www.featuredrivendevelopment.com
DESCRIPCIÓN DEL DOCUMENTO
Las metodologías ágiles surgen como una extensión a las metodologías tradicionales para mejorar el desarrollo de sistemas, según el tipo de proyecto y empresa, añadiendo y mejorando (optimizando) las practicas de desarrollo de software.
Desde el surgimiento de la crisis del software en la década del 70 hasta nuestros días han tenido las metodologías agiles (Ams) nuevos modificaciones y representantes de métodos como Scrum, Msf(Microsoft Solutions framework), Fdd(Feature Driven Development ), crystal methods entre otros.
Los Gurús del la ingeniería del software alrededor del mundo han aportado pensamientos tanto positivos y negativos sobre las metodologías de ultima generación y su aplicación, lo que no se debe olvidar y tener en cuenta es que son muy usadas, son mezcladas con otras y están para quedarse, evolucionar y revolucionar las practicas de ingeniería.
AUTORES
Edison Arley Plaza Marín
Adrián Anaya Villegas
Nacido: Popayán Cauca Colombia Fecha: octubre 28 de 1981.
Ingeniero de Sistemas Fundación Universitaria de Popayán.
Ingenieros de Sistemas, Fundación Universitaria de Popayán.
Equipo de trabajo XdevelopmentIlc.
Popayán-Cauca-Colombia.
Mayo de 2007.
Página anterior | Volver al principio del trabajo | Página siguiente |