Actividad 4. Modelos ágiles de proceso. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Desarrollo en espiral.
Metodologías ágiles.
CICLO DE VIDA DE LOS SISTEMAS DE INFORMACIÓN
Metodologías Ágiles Patricio Letelier
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Actividad 16. Estrategias para prueba del software
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
METODOLOGIAS AGILES DE CONSTRUCCION DE SOFWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Erique Gaspar, Carlos Alfredo
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Ingeniería de Software
CARRERA ING.DE SISTEMAS INTEGRANTE: DANIEL SORIA MURILLO DOCENTE: ING. ERVIN FLORES MATERIA: INGENIERIA DE SOFTWARE GESTION 2009.
Metodologías Ágiles.
El Proceso de Software es la única manera de desarrollar sistemas de calidad. F. o V. Justifica tu respuesta. Que tiene que ver la globalización.
Actividad 11. Conceptos de gestión de proyectos. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
Actividad 1. Arquitectura del software. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
EXtreme Programming.
METODOLOGIA AGIL ASD (DESARROLLO DE SOFTWARE ADAPTABLE)
Actividad 8. Gestión de las estructuras y bases de datos. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Programación Extrema Leonardo Ramírez Z.. Contenido Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso.
Actividad 13. Calendarización de proyectos de software.
Crystal Methodologies
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
CRM Customer Relationship Management Gerente de Relaciones con los Clientes.
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
Pruebas y La Vida del Ciclo de Desarrollo del Software
PROGRAMACIÓN EXTREMA (eXtreme Programing)
Actividad 9. El depósito y proceso de los elementos de configuración del software. M.C. Juan Carlos Olivares Rojas Syllabus May,
Alexander Aristizabal Ángelo flores herrera
Ingeniería de Software
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
Actividad 15. Software y Calidad M.C. Juan Carlos Olivares Rojas Syllabus June, 2009.
Scrum Una Alternativa Ágil para el desarrollo de Software
Proceso de desarrollo de software Pablo Gervás F. Informática, UCM, noviembre 2007.
Actividad 20. Métodos de prueba en entornos especializados M.C. Juan Carlos Olivares Rojas Syllabus June, 2009.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
No se trata de algo nuevo.
METODOLOGIA CRYSTAL CLEAR
LA MEJORA DE LOS PROCESOS
 Capacidad para adaptar el curso del desarrollo a la evolución de los requisitos y a las circunstancias del entorno de los proyectos.
Enseñar con Aprendizaje Basado en Problemas
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
Ciclo de Vida del Software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Desarrollar un buen software depende de un gran número de actividades y etapas, donde el impacto de elegir la metodología para un equipo en un determinado.
METODOLOGÍADE DESARROLLO ÁGIL DSDM - FDD
Actividad 12. Estimación en los proyectos de software. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
¿Qué es la Ingeniería De Software? Ingeniería de Software.
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos”
ASPECTOS METODOLÓGICOS El curso es principalmente un taller práctico pero no técnico y resulta adecuado para todos los miembros del equipo. Una variedad.
Fundamentos de Computación
Las fases del ciclo de la vida de desarrollo de sistemas
Actividad 5. Desarrollo de software y lenguajes de programación. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
Modelo de procesos de software
 La gestión de proyectos una disciplina que ha tomado fuerza en la medida en que buena parte de lo que se hace tanto a nivel personal como profesional.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Integrantes: Mejía Zúñiga Yoselin Taco Apaza Pamela Ychuta Torres John.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
Sistemas de calidad en el desarrollo de software.
Fundamentos de la Calidad del Software
Universidad Alejandro de Humboldt MÉTODO DE DESARROLLO DE SISTEMAS DINÁMICOS (DSDM) María Rosa Oya Javier Torrealba.
METODOLOGI A CRYSTAL CLEAR INTEGRANTES: GUEVARA YUCRA Maribi Cendy MEDINA VALDIVIA Luis Antonio SUCARI CALAPUJA Jhon Anderson.
Metodologías de Desarrollo Ágil
Transcripción de la presentación:

Actividad 4. Modelos ágiles de proceso. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009

Introducción Para la ingeniería de software la agilidad es la combinación de filosofía y el conjunto de directrices de desarrollo. Esta Metodología como fin último busca la satisfacción del cliente, la entrega del software de acuerdo al tiempo especificado y que el equipo de trabajo esté motivado para desarrollar su trabajo.

Introducción El proceso de desarrollo de software generalmente se asociaba con una tendencia que se enfocaba hacia el control de ese proceso de desarrollo definiendo actividades y ciertos roles del personal desarrollador del software. Este enfoque para el desarrollo de software ya no resultaba ser el más adecuado para muchos proyectos donde el sistema es muy cambiante y en donde el tiempo de desarrollo es muy corto.

Introducción Las metodologías para el desarrollo de software conocidas como ágiles, se caracterizan por estar orientadas para proyectos pequeños, constituyen una solución prácticamente a la medida, ofrecen la simplificación de tareas, a pesar de lo cual permite asegurar la calidad del producto de software. Dentro de la ingeniería de software, las metodologías ágiles representan sin duda uno de los temas emergentes.

Introducción Toda la comunidad de sistemas computacionales vive con intensidad un debate entre quienes apoyan las metodologías tradicionales y las metodologías ágiles. Las metodologías tradicionales va de lo general a lo particular. Su premisa fundamental argumenta que hay suficiente planeación y administración, por lo que el resultado puede predecirse y así mismo pueden evitarse los riesgos.

Introducción Las características de los métodos ágiles son que: Optimizan la productividad del equipo de desarrollo al contar con un equipo de desarrollo dinámico. Se minimizan los riesgos debido a que pueden ser detectados tiempo antes de que se presenten.

Introducción Aseguran la satisfacción del usuario final porque se cuenta con su cooperación durante el desarrollo del producto de software. Los clientes pueden alcanzar el retorno de su inversión en el proyecto de software, porque no les representa un gasto, sino una inversión.

Metodologías Ágiles Personas + Agilidad = Software

Introducción - ¿ Que es Agile? Desarrollo iterativo, con la recopilación anticipada de requerimientos seguida por el trabajo en la codificación, y continuando con más requerimientos y más código. Este enfoque pretende dar mayor prioridad a la satisfacción del cliente a través de la entrega anticipada y continua de software valioso.

Introducción - ¿ Que es Agile? Un marco teórico de mejores prácticas que busca minimizar los riesgos de un proyecto a través de iteraciones de desarrollo muy cortas, que generalmente no exceden de 4 semanas.

Origen de la metodología Agile Las metodologías ágiles tienen sus orígenes en los años 80 y 90 con los entonces denominados métodos ligeros (lightweight methods).

Origen de la metodología Agile Las prácticas de desarrollo ágil no comenzaron a ser populares sino hasta el año 2001, cuando un grupo de representantes y entusiastas de las metodologías de Programación Extrema, Scrum, DSDM, Crystal Clear, entro otras, decidieron establecer los cimientos de metodologías orientadas a documentación y procesos pesados (heavyweight process).

Características dentro del enfoque de desarrollo de Agile Un fuerte énfasis en las pruebas sobre la aplicación que se desarrolla y una continua integración de sus componentes. Mantener la simpleza en el concepto, diseño y desarrollo de los componentes del software que se construye. Documentar solo lo estrictamente necesario y centrarse en lo más crítico del producto, que es el código fuente.

Características dentro del enfoque de desarrollo de Agile En el proceso de desarrollo iterativo, el contar con software funcionando al final de cada iteración es una buena medida del progreso. Durante el desarrollo de software las solicitudes pueden cambiar en cualquier punto. Esto es correcto desde el punto de vista de desarrollo; la gestión de cambios en el alcance se usa también en beneficio del cliente.

Características dentro del enfoque de desarrollo de Agile El proceso Agile pueden llevar el ciclo corto de entrega al extremo. Algunos proyectos de programación extrema, entregan en periodos realmente cortos, aun cada semana. Aunque esto pueda ser duro de gestionar, no hay nada inherentemente equivocado con esto. La gente de negocio y los desarrolladores trabajan juntos diariamente a lo largo del proyecto, pretendiendo con esto la satisfacción del cliente.

Características dentro del enfoque de desarrollo de Agile Para lograr la exitosa entrega de proyectos Agile considera que el mejor enfoque es integrar proyectos alrededor de gente motivada y después asegurar que cuenten con las herramientas, los procesos y habilidades apropiadas para llevar a cabo el trabajo. Se recomienda conveniente que a intervalos regulares, el equipo reflexione acerca de cómo ser más efectivo, entonces realiza los ajustes y modifica su comportamiento en consecuencia.

Características dentro del enfoque de desarrollo de Agile El método más efectivo y eficiente para transmitir información hacia y entre el equipo de desarrollo, es la conversación cara a cara, auque en ocasiones será necesario emplear otro medio.

Características  Evitar los enrolladas metodologías tradicionales.  Pretenden ser adaptables en lugar de predecibles: ₪Tradicionales: tienden a planear el proceso. ₪Agile: El cambio es Bienvenido.(cliente)  Son orientados a la gente no al proceso ₪Tradicionales: se pretende definir un proceso ₪El papel del proceso es apoyar

 Maneja tiempo de entrega frecuente:  Revisiones regulares frecuentes  Reunión corta  Ideas para cambiar el proceso  Excelencia, técnica y buen diseño  Personas factor No. 1 Características

 Son menos orientados al documento  Están orientados al código  Menor tiempo de entrega  Prioridad más alta la satisfacción del cliente Mayor calidad Menor costo Características

¿Cuando elegir metodologías Ágiles? Los requerimientos son poco claros Se desea fomentar la mejora continua del proceso El cliente entiende el proceso Son ideales para pequeños grupos Se tienen canales de comunicación

SCRUM Scrum es una metodología ágil de desarrollo de proyectos que toma su nombre y principios de los estudios realizados sobre nuevas prácticas de producción por Hirotaka Takeuchi e Ikujijo Nonaka a mediados de los 80. SCRUM es una forma de gestionar proyectos de software. No es una metodología de análisis, ni de diseño, como podría ser RUP, es una metodología de gestión del trabajo. Scrum es una metodología de desarrollo muy simple, que requiere trabajo duro porque no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto.

SCRUM Scrum es una metodología ágil, y como tal: Es un modo de desarrollo de carácter adaptable más que predictivo. Orientado a las personas más que a los procesos. Emplea la estructura de desarrollo ágil: incremental basada en iteraciones y revisiones.

CRYSTAL Crystal Methodologies, fue propulsado por Alistair Cockburn. ¿En qué consiste la metodología Crystal? Crystal 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 Tamaño de un equipo (número de componentes) Comunicación entre los componentes Distintas políticas a seguir Espacio físico de trabajo

CRYSTAL Características del equipo Crystal Crystal aconseja que el tamaño del equipo sea reducido (Pocos <-componentes). La mejora de la comunicación entre los miembros del equipo del proyecto: Mismo lugar de trabajo  Disminuye el coste de la comunicación Los principios detrás de Crystal se basan en: - “El equipo puede reducir artefactos intermedios a medida que produzca código funcionando más frecuentemente y/o use canales de comunicación más ricos entre las personas” - “Cada proyecto es único y evoluciona lo largo del tiempo.

FDD (Feature Driven Development) Desarrollo orientado a la funcionalidad. “Énfasis en el diseño y la construcción” - No cubre todo el proceso de desarrollo - Orientado a “Critical Systems” ¿Dónde se Usa? Aplicaciones financieras (finales 90’) - Recomendado para nuevos proyectos o segundas versiones - Es recomendado comenzar gradualmente - Driver: CALIDAD - “Critical Systems” online

eXtreme Programming -Las raíces surgieron en la comunidad Smalltalk; de la colaboración de Kent Becky Ward Cunningham a fines de los ’80. -En 1996 Beck fue llamado a Chrysler para inspeccionar el progreso de un proyecto de liquidación de sueldos de la empresa. - Debido a la baja calidad del código entregado, Beck sugirió desechar todo el códigoy empezar de cero. -Allí empezó a poner en marcha una serie de prácticas aprendidas anteriormente, y las fue refinando hasta lo que se convertirían en las bases de XP. VALORES - Comunicación - Feedback - Simplicidad - Coraje

Conclusiones No hay metodología que funcione de manera universal, de hecho cada vez más las metodologías se conciben como 'marcos' metodológicos que es necesario ajustar para cada organización y tipo de proyecto. Realizar este ajuste es algo que necesita de una experiencia y un conocimiento previo. El problema con la implantación de una metodología es que no se suele tener una segunda oportunidad.

Referencias Curso de Proyecto Integrador de Software Básico, Universidad TecMilenio, 2009 Olivares, J. (2008), Unidad 1 Comunicación, Curso de Ingeniería de Proyectos, Universidad Vasco de Quiroga, Morelia, Michoacán, México.

Questions?