Metodologias Agiles Ensayo
Enviado por SolOrtiz • 19 de Febrero de 2013 • 1.786 Palabras (8 Páginas) • 2.137 Visitas
METODOLOGÍAS DE DESARROLLO ÁGIL
En la actualidad las personas, en su vida cotidiana, se ven en la necesidad de utilizar una gran cantidad de sistemas informáticos, ya sea para utilizarlos en el trabajo, la escuela, en el celular, inclusive lo hacen indirectamente, pues no son ellos mismos los que trabajan con ese sistema pero necesitan de él. Un ejemplo claro de esto es cuando van al súper mercado a realizar sus compras, y cuando llegan a la caja a que les cobren están haciendo uso de su sistema, también cuando van al cine para comprar el boleto de su película favorita ocupan un sistema, al inscribirse en la escuela, al hacer un pago en el banco desde su dispositivo móvil, de ahí la importancia de los sistemas informáticos. ¿Pero cómo se crean estos?, ¿Se tienen que apegar algunas reglas?, ¿Hay un proceso exacto para crear todos los sistemas?.
El desarrollo de software no es una tarea fácil, existe una gran variedad de propuestas metodológicas que incluyen distintas herramientas en el proceso de desarrollo, cabe aclarar que estas se dividen principalmente en dos, que son: las Metodologías Ágiles y las Metodologías Tradicionales, en este caso solamente se hablara de las metodologías ágiles pues estas tienen una serie de características, las cuales ayudan a los desarrolladores a estructurar sus proyectos de una manera eficiente y de calidad con la ayuda del trabajo en equipo.
¿Qué se quiere decir con la palabra ágil?, en el diccionario se encuentran tres definiciones, pero en este caso se ocupara esta: “Que se hace rápidamente y con eficiencia”, ahora que se tiene un concepto más claro sobre la palabra ágil, se debe mencionar que para la gestión de proyectos con este tipo de metodologías, lo que se pretende ofrecer es una alternativa de desarrollo, puesto que las metodologías tradicionales son caracterizadas por ser rígidas y dirigidas por un líder, también es importante resaltar que la filosofía de estas metodologías es dar mayor valor al individuo y la colaboración con el cliente, además del desarrollo incremental del software con iteraciones muy cortas, eso muestra su efectividad en proyectos con requisitos que están en constante cambio.
XP fue la primera metodología ágil sus siglas en inglés (Extreme Programming) o (Programación Extrema) esta metodología promueve el trabajo en equipo, se preocupa por proporcionar un buen clima de trabajo y busca la retroalimentación entre el equipo de desarrollo y el cliente, su manera de trabajar es la siguiente: historias de usuarios, roles, proceso y prácticas.
Esta metodología crea un sistema como una metáfora o un conjunto de metáforas que son compartidas por el cliente y los desarrolladores. Una metáfora es una historia compartida que describe como debería de funcionar el sistema, enfatiza la comunicación entre los desarrolladores a través del código, esto lo hace mediante ciertos estándares de programación para que el código sea legible para todos los integrantes del equipo, se enfoca en la comunicación oral con el cliente, pues cree firmemente que este debe de conducir el trabajo, esto implica la disponibilidad del cliente en todo momento para resolver las dudas de una manera pronta, pues de esto depende el éxito del sistema.
Producir pequeñas partes del sistema ya funcionales es otro punto muy importante de esta metodología, ya que en la etapa de pruebas, son ejecutadas estas partes constantemente, para que así, si se tiene que hacer un cambio, se realice antes de entregar el producto final, a diferencia de otro tipo de metodologías, por ejemplo: la metodología de cascada, su objetivo principal es el análisis, puesto que de esto depende todo el proyecto, una vez pasada esa etapa no se puede detener hasta obtener el producto final y si se produce algún cambio deberá de realizarse todo el proceso nuevamente. El intervalo de tiempo que se tiene para entregar una pequeña parte funcional del proyecto no deberá tardar más de tres meses, además de que el tiempo máximo de trabajo por semana no deberá de rebasar las 40 horas, pues se dice que si se trabaja horas extra en dos semanas seguidas, está ocurriendo un problema, el cual debe ser solucionado, además de que el trabajo extra desmotiva a los desarrolladores.
Otra parte importante es la programación en parejas, esto fue implementado para que se tuviera una tasa menor de errores, un mejor diseño y un apoyo entre programadores, además de que es bien dicho que: “dos cabezas piensan mejor que una”, la refactorización es una de las actividades más repetitivas, consiste en remover el código duplicado cuyo objetivo es mejorar su legibilidad, para que cuando se tenga que hacer un cambio, sea fácil encontrar los módulos a cambiar y la propiedad colectiva del código ayuda mucho a esta tarea, porque todo el equipo es dueño del proyecto, cualquier programador puede cambiar la parte del código que desee en cualquier momento.
Los roles que se desempeñan de XP son:
Programador: El programador es el encargado de escribir las pruebas unitarias y produce el código del sistema.
Cliente: El cliente escribe las historias de usuario él decide qué historia tiene mayor prioridad.
Encargado de pruebas: Ayuda al cliente a escribir las pruebas funcionales, ejecuta las pruebas y difunde los resultados obtenidos.
Encargado de seguimiento: Verifica el grado de aciertos en las estimaciones realizadas y el tiempo real dedicado, para mejorar futuras estimaciones, realiza el seguimiento del progreso de cada iteración.
...