modelos Ágiles de desarrollo de software

Upload: gabriel-vladimir-voin-ivanov

Post on 07-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Desarrollo ágil de software y sus modelos

TRANSCRIPT

  • Guadalajara, Jalisco, Mxico.

    Septiembre 21, 2015.

    Alumno: Gabriel Prez Guerrero - 214294341

    Npoles Lpez Julio Cesar - 304379888

    Prez Carpinteyro Edith Guadalupe - 214294643

    Nava Casillas Adrian - 214294015

    Unidad 2: Mtodos del desarrollo de Software.

    Actividad 1: Modelos giles.

    Asesor/a: Mara Guadalupe Pichardo Goby.

    Coordinador/a de la Lic.: Mtra. Paola Mercado Lozano.

    Cuarto Semestre de LTI.

    Fecha de elaboracin: 21 de Septiembre, 2015.

    Fecha de modificacin: N/A

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 1

    Qu es el desarrollo gil de software?

    Es la combinacin de una filosofa con un conjunto de lineamientos de desarrollo, poniendo la satisfaccin del cliente y la entrega rpida de software incremental, con una comunicacin activa y continua entre desarrolladores y clientes.

    Como se acaba de mencionar, el desarrollo gil es una filosofa que trata ms que nada en actuar, en lugar de pensar y planificar. Para comprender mejor esto, en el desarrollo de un software, con algn mtodo tradicional, se planifica su desarrollo y se analizan ciertos aspectos de la organizacin (o cliente) a quien se va a desarrollar, su entorno, requerimientos, cronogramas, etc., lo cual invierte mucho tiempo y esfuerzos, mientras que en el desarrollo gil el equipo de desarrollo produce un software de forma continua, junto con el cliente, obteniendo cada vez mejores versiones del software. As como existen mtodos tradicionales, tambin existen las giles, pero, por qu? por el simple hecho de que permite a la gestin del proyecto, y al desarrollo del mismo, adaptarse a los cambios del mercado o de la empresa, logrando una evolucin del software. Las metodologas giles nos sirven para organizar mejor el proyecto y entregar un software que deje satisfecho al cliente.

    Ahora, para diferenciar a las metodologas giles de las tradicionales, hay que tener en cuenta que estas ltimas se especializan en cumplir tres aspectos predefinidos al comienzo del proyecto, los cuales son el alcance, costo y tiempo, mientras que las giles se enfocan en la entrega de software con el mayor valor posible.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 2

    Principales caractersticas

    Proceso de desarrollo incremental. Menos esfuerzos y mayor calidad del producto. Desarrollo de productos prototipos para la evaluacin del cliente. Cada prototipo arroja un producto final completo, de calidad y confiable. Mejoras a las funcionalidades del producto. Correccin de errores en etapas tempranas del proyecto.

    Principios del desarrollo gil

    La prioridad de satisfacer al cliente con una entrega temprana y continua de software con valor. Aceptar que los requisitos cambien, aun en etapas tardas. La entrega del software funcional frecuentemente en un periodo de tiempo lo ms corto posible Las personas de negocio y los desarrolladores deben trabajar juntos, a diario y durante todo el proyecto. Los proyectos se desarrollan en torno a individuos motivados. Un mtodo de comunicar informacin cara a cara el equipo de desarrollo y sus miembros, es ms eficiente. La medida principal de avance es el software que funcione. Los procesos giles promueven el desarrollo sostenible. La atencin continua a la excelencia tcnica y el buen diseo mejora la agilidad. Es esencial la simplicidad. Mejores arquitecturas, requisitos y diseo con equipos auto-organizados

    Mtodos de desarrollo gil Programacin extrema (XP) Esta metodologa es impulsada por Kent Beck, es una de las metodologas que se basa en historias de usuarios, las cuales van de lo general a lo particular, en donde se deben revisar ms a fondo con el cliente, estas historias o tareas no deben superar ms de 3 das de desarrollo, de lo contrario, se tendran que dividir en tareas ms pequeas.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 3

    Al igual que SCRUM, cuenta con roles especficos, como son: - Programador - Cliente- Encargado de pruebas- Encargado de seguimiento- Entrenador- Consultor- Gestor.

    Scrum Es la tcnica ms completa, trabaja con iteraciones no mayores a 4 semanas y se debe tener un producto entregable (y funcional), adems de contar con un equipo auto organizado, en donde los coordinadores y clientes trabajen conjuntamente con el equipo de desarrollo para resolver las dudas y facilitar las tareas. Los requisitos deben estar perfectamente priorizados en donde se refleje el valor del negocio, adems el ritmo de trabajo debe ser constante.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 4

    La principal caracterstica es que los roles estn bien definidos, como son:

    Product Owner(Dueo del producto) Scrum Master(Coordinador de equipo) Equipo(Desarrolladores del producto)

    Cristal Se caracteriza por centrarse en las personas que componen el equipo (de ellas depende el xito del proyecto) y la reduccin al mximo del nmero de artefactos producidos. Desarrollada por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invencin y comunicacin, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas, as como tener polticas de trabajo en equipo definidas. Estas polticas dependern del tamao del equipo, establecindose una clasificacin por colores, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 5

    Cristal da vital importancia a las personas que componen el equipo de un proyecto, y por tanto sus puntos de estudio son:

    Aspecto humano del equipo Tamao de un equipo (nmero de componentes) Comunicacin entre los componentes Distintas polticas a seguir Espacio fsico de trabajo

    Hay ocho roles nominados:

    1. Patrocinador. Produce la Declaracin de Misin con Prioridades de Compromiso 2. Usuario Experto. Junto con el Experto en Negocios produce la Lista de Actores Objetivos y el Archivo de Casos de Uso y Requerimientos. 3. Diseador Principal. Produce la Descripcin Arquitectnica. Se supone que debe ser al menos un profesional 4. Diseador Programador. Produce, junto con el Diseador Principal, los Borradores de Pantallas

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 6

    5. Experto en Negocios. Junto con el Usuario Experto produce la Lista de Actores Objetivos. 6. Coordinador. Con la ayuda del equipo, produce el Mapa de Proyecto, el Plan de Entrega, el Estado del Proyecto 7. Verificador. Produce los reportes. 8. Escritor. Produce el Manual de Usuario.

    Cuantas ms personas estn implicadas, ms grande debe ser la metodologa. El aumento de tamao o densidad aade un coste considerable al proyecto. Si el proyecto tiene mucha densidad, un error no detectado puede ser crtico. La forma ms eficaz de comunicacin es la interactiva (cara a cara).

    Desarrollo impulsado por las caractersticas (DIC)

    El DIC pone el nfasis en las actividades de aseguramiento de la calidad del software mediante el estmulo de la estrategia de desarrollo incremental, el uso de inspecciones del diseo y del cdigo, la aplicacin de auditoras de aseguramiento de la calidad del software, el conjunto de mediciones y el uso de patrones (para el anlisis, diseo y construccin).

    En el contexto del DIC, una caracterstica es una funcin valiosa para el cliente que puede implementarse en dos semanas o menos.

    Desarrollo Esbelto de Software (DES)

    El desarrollo esbelto de software (DES) adapta los principios de la manufactura esbelta al mundo de la ingeniera de software. Los principios de esbeltez que inspiran al proceso DES se resumen como sigue: eliminar el desperdicio, generar calidad, crear conocimiento, aplazar el compromiso, entregar rpido, respetar a las personas y optimizar al todo.

    Modelado gil (MA)

    El modelado gil (MA) es una metodologa basada en la prctica para modelar y documentar con eficacia los sistemas basados en software. En pocas palabras, es un conjunto de valores, principios y prcticas para hacer modelos de software aplicables de manera eficaz y ligera a un proyecto de desarrollo de software. Los modelos giles son ms eficaces que los tradicionales porque son slo buenos, sin pretender ser perfectos.

    El modelado gil adopta todos los valores del manifiesto gil. La filosofa de modelado gil afirma que un equipo gil debe tener la valenta para tomar decisiones que impliquen rechazar un diseo y reconstruirlo. El equipo tambin debe tener la humildad de reconocer que los tecnlogos no tienen todas las respuestas y que los expertos en el negocio y otros participantes deben ser respetados e incluidos.

    Desarrollo adaptativo de software (DAS)

    El desarrollo adaptativo de software (DAS) fue propuesto como una tcnica para elaborar software y sistemas complejos. Los fundamentos filosficos del DAS se centran en la colaboracin humana

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 7

    y en la organizacin propia del equipo.

    Highsmith argumenta que un enfoque de desarrollo adaptativo basado en la colaboracin es tanto una fuente de orden en nuestras complejas interacciones, como de disciplina e ingeniera.

    Proceso unificado gil (PUA)

    El proceso unificado gil (PUA) adopta una filosofa en serie para lo grande e iterativa para lo pequeo, a fin de construir sistemas basados en computadora. Al adoptar las actividades en fase clsicas del PU concepcin, elaboracin, construccin y transicin, el PUA brinda un revestimiento en serie (por ejemplo, una secuencia lineal de actividades de ingeniera de software) que permite que el equipo visualice el flujo general del proceso de un proyecto de software.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 8

    Mtodo de desarrollo de sistemas dinmicos (MDSD)

    El mtodo de desarrollo de sistemas dinmicos (MDSD) es un enfoque de desarrollo gil de software que proporciona una estructura para construir y dar mantenimiento a sistemas que cumplan restricciones apretadas de tiempo mediante la realizacin de prototipos incrementales en un ambiente controlado de proyectos [CCS02]. La filosofa MDSD est tomada de una versin modificada de la regla de Pareto: 80 por ciento de una aplicacin puede entregarse en 20 por ciento del tiempo que tomara entregarla completa (100 por ciento).

    El MDSD es un proceso iterativo de software en el que cada iteracin sigue la regla de 80 por ciento. Es decir, se requiere slo suficiente trabajo para cada incremento con objeto de facilitar el paso al siguiente. Los detalles restantes se terminan ms tarde, cuando se conocen los requerimientos del negocio y se han pedido y efectuado cambios. El objetivo de este ciclo iterativo es recabar requerimientos adicionales por medio de la obtencin de retroalimentacin de los usuarios cuando practican con el prototipo.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 9

    Material didctico. https://www.youtube.com/watch?v=XpUlGZu6Tzg

    Conclusin

    Las metodologas giles nos ayudan a llevar un proyecto de principio a fin, buscando la satisfaccin del cliente, pero sobre todo entregando el proyecto en un tiempo corto. Adems ayuda para detectar errores desde el inicio del proyecto y el cliente tiene avances de la evolucin al da.

    Ventajas Deteccin temprana de errores. En ambientes distribuidos garantiza el build con el ltimo cdigo fuente. Causa mejor regresin El periodo de Feedback es corto. El desarrollador no tiene que esperar el final del da o semana como afecta el check-in. Los problemas de testing de integracin son detectados tempranamente. Fuerza a un mejor proceso de desarrollo.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 10

    El cliente experimenta el avance y evolucin del software, lo que le da mayor confianza al mismo.

    Poca documentacin. Simplicidad; eliminacin de trabajo innecesario. Anlisis como una actividad constante. Diseo evolutivo. Testing diarios.

    Desventajas El mantenimiento frecuentemente se incrementa. Algunos equipos tienen problemas con ese nivel de disciplina y causa "cuellos de botella". Dependencia de las personas. Falta de documentacin del diseo. Falta de reusabilidad por la falta de documentacin.

  • SEPTIEMBRE 21, 2015

    GABRIEL PREZ GUERRERO 11

    Referencias bibliogrficas

    (2013). Metodologas giles. Recuperado el 21 de Septiembre de 2015, de https://al095668.wordpress.com/2013/06/01/ventajasdesventajas-de-las-metodologias-agiles/

    Acebey, Veronica; Sanabria, Willian. (2008). Mtodos giles. Recuperado el 221 de Septiembre de 2015, de http://metodosagiles.blogspot.mx/

    Jennifer Lpez lava. (3 de noviembre de 2014). Ingeniera del Software. 2015, de ingsoftwarejlo Sitio web:http://ingsoftwarejlo.blogspot.mx/2014/11/normal-0-21-false-false-false-es-ec-x.html

    Manchn, Eduardo. (Octubre 26, 2006). Desarrollo gil. Recuperado el 21 de Septiembre de 2015, de http://www.desarrolloweb.com/articulos/desarrollo-agil.html

    Ophelia Pastrana. (2014). 5 beneficios de aplicar metodologas giles en el desarrollo de software. 2015, de i2btech Sitio web: http://www.i2btech.com/blog-i2b/tech-deployment/5-beneficios-de-aplicar-metodologias-agiles-en-el-desarrollo-de-software/

    Pressman, R. 2010. Ingeniera del Software Un Enfoque Prctico. 7ma ed. University of Connecticut. McGraw-Hill Interamericana Editores, S.A.