lunes, 25 de mayo de 2015

DESARROLLO AGIL

INTRODUCCION
Los ingenieros de software desde mucho tiempo antes se han preocupado por el producto final, pero para ello se debe tener en cuenta mucho la metodología que se emplea en el desarrollo del mismo, cosa que muy pocos toman en cuenta a la hora de trabajar en este tema se puntualiza, ciertos métodos de desarrollo de un proyecto que en según los criterios que se deben tomar en cuenta, que son características de cada uno de ellos, para lo cual se debe hacer énfasis en cada una de las fases que detallan en cada uno de ellos.
Basado en lo que indica (Pressman, R). Es frecuente que en la economía moderna sea difícil o imposible predecir la forma en la que evolucionará un sistema basado en computadora (por ejemplo, una aplicación con base en web). Las condiciones del mercado cambian con rapidez, las necesidades de los usuarios finales se transforman y emergen nuevas amenazas competitivas sin previo aviso. En muchas situaciones no será posible definir los requerimientos por completo antes de que el proyecto comience.
Se debe ser suficientemente ágil para responder a lo fluido que se presenta el ambiente de negocios.  
MARCO TEÓRICO
La fluidez implica cambio, y el cambio es caro, en particular si es descontrolado o si se administra mal. Una de las características más atractivas del enfoque ágil es su capacidad de reducir los costos del cambio durante el proceso del software.
PROGRAMACIÓN EXTREMA (XP).
A fin de ilustrar un proceso ágil con más detalle, daremos un panorama de la programación extrema (XP), el enfoque más utilizado del desarrollo de software ágil. Aunque las primeras actividades con las ideas y los métodos asociados a XP ocurrieron al final de la década de 1980, el trabajo fundamental sobre la materia había sido escrito por Kent Beck [Bec04a]. Una variante de XP llamada XP industrial [IXP] se propuso en una época más reciente [Ker05]. IXP mejora la XP y tiene como objetivo el proceso ágil para ser usado específicamente en organizaciones grandes.

EL PROCESO XP.
Al igual que en los procesos del software el XP utiliza sus procesos, como la mayoría de las metodologías agiles que son los siguientes:
1.      Planeación: Es en donde se contacta con el cliente, para atender los requerimientos que el mismo desea suplir, de manera que el equipo XP puedan entender las necesidades del cliente y las funcionalidades que debe tener el programa, en la que se evaluará cada costo de las características así como el tiempo estimado en realizarse.
2.      Diseño: El XP usa una ideología que se debe de mantener un diseño sencillo, además de usar las tarjetas CRC (Clase-Responsabilidad-Colaborador), con el fin de definir, en que secciones se va a desempeñar cada uno de los integrantes del grupo, todo esto para que cada uno cumpla con lo que saben mejor, de esta manera el proyecto se lleva a cabo de mejor manera y el producto final es de mejor calidad y eficacia.
3.      Codificación: En esta fase se evalúa lo que se va a realizar, para posteriormente llevar al desarrollo, lo cual este método recomienda que sea en pareja, para mejorar la calidad del producto, y cada funcionabilidad implementada se le va realizando sus respectivas pruebas, antes de implementarla al módulo final.
4.    Pruebas: Ya se dijo que la creación de pruebas unitarias antes de que comience la codificación es un elemento clave del enfoque de XP.
Al final de cada producto se debe evaluar el funcionamiento global del producto, con el fin de garantizar que nuestro proyecto es sostenible y a la vez eficaz.

SCRUM
Scrum (nombre que proviene de cierta jugada que tiene lugar durante un partido de rugby). Es un método de desarrollo ágil de software concebido por Jeff Sutherland y su equipo de desarrollo a principios de la década de 1990. En años recientes, Schwaber y Beedle [Sch01a] han desarrollado más los métodos Scrum.
Es una de las metodologías utilizadas para guiar las actividades de desarrollo, de manera que se mejore la experiencia en el desarrollo de un software, para lo cual incorpora las actividades: requerimientos, análisis, diseño, evolución y entrega.
En cada una de estas actividades se realizan de forma detallada lo que el grupo de desarrollo debe tomar en cuenta, ya sea desde el levantamiento de la información hasta terminar con las pruebas correspondientes del software.

En la imagen se detalla las características más relevantes de Scrum acotando además que los sprints son las unidades de trabajo que se necesitan para suplir o cumplir con un requerimiento, en el cual tiene la característica de ser máximo de 30 días, y no se introducen cambios, es decir no se puede agregar cierta característica de un día para otro mientras se esté realizando el sprint, las reuniones son dirigidas por un Scrum master, que es el director del proyecto por decir de cierta forma.
CONCLUSION.
Las metodologías de desarrollo ágil, se enfocan en ser un conjunto de pasos, para que los desarrolladores se guíen de buena manera para conseguir finalizar un buen software, las herramientas tanto de XP como las de Scrum suelen ser factibles dependiendo del proyecto que se esté llevando a cabo, siempre y cuando se realice cada acción de manera cautelosa, se puede llegar a cumplir de buena manera todos los objetivos propuestos, y usando bien todas estas características se llega a lo óptimo, con respecto a un trabajo de un software.   
BIBLIOGRAFÍA.
Pressman, R. Ingeniería de software: Un enfoque práctico. 7 ed. México. Mc Graw Hill. p 805.

Gutiérrez, D. 2011. Métodos de Desarrollo de Software. (En línea). VE. Consultado, 19 de abril de 2015. Formato PDF. Disponible en: http://www.codecompiling.net/files/slides/IS_clase_13_metodos_y_procesos.pdf

No hay comentarios.:

Publicar un comentario