Visión ejecutiva de procesos y prácticas para desarrollo de software. Juan Palacio Bañeres Dic. 2005

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Visión ejecutiva de procesos y prácticas para desarrollo de software. Juan Palacio Bañeres Dic. 2005"

Transcripción

1 Visión ejecutiva de procesos y prácticas para desarrollo de software Juan Palacio Bañeres Dic. 2005

2 Técnicas y métodos ágiles Modelos específicos para software. Modelos y estándares de calidad Adaptaciones para softw. Procesos y técnicas para desarrollo de software Modelos de procesos y prácticas Modelos genéricos Modelos para software 1997 TickIT 1991 ISO MIL-Q BS ISO 9000 Trillium Bootstrap 1995 ISO Proy. SPICE TR ISO CMM-SW Modelos CMM 2001 CMMI DSDM SCRUM CRYSTAL XP ASD PP ISD AM Manifiesto Ágil 2

3 ISO/IEC Procesos y técnicas para desarrollo de software 5. Procesos primarios 5.1 Adquisición 5. Procesos de soporte 6.1 Documentación Ciclo de vida Concepto Retirada 5.2 Suministro 6.2 Gestión de la configuración 5.3 Operación 6.3 Control de calidad 6.4 Verificación Proceso Desarrollo 6.5 Validación 6.6 Reuniones Proceso N 5.3 Mantenimiento 6.7 Auditoría 6.8 Resolución de problemas 7. Procesos organizacionales 7.1 Gestión 7.2 Infraestructura 7.3 Mejora 7.4 Formación Actividad 1 Tarea 1 Tarea 2 Tarea n Actividad n Tarea 1 Tarea 2 Tarea n 3

4 Procesos y técnicas para desarrollo de software CMM: Modelo de madurez de las capacidades Idea principal: Organizaciones maduras/inmaduras En una organización inmadura: - Procesos de software: improvisados o no respetados (si existen) - Planificación en función de los problemas - Presupuestos y planificación incumplidos - Sin base objetiva para evaluar la calidad o para resolver problemas - Inexistencia o reducción de las actividades de mejora de la calidad En una organización madura: - Capacidad de gestión: desarrollo de software y procesos de mantenimiento - Proceso de software difundido al equipo y planificado - Procesos modificables: pruebas piloto controladas y análisis de coste/beneficio - Roles y responsabilidades establecidos en el proyecto y la organización - Gestores: monitorización la calidad de los productos y de los procesos - Planificaciones y presupuestos realistas: rendimientos históricos - Proceso disciplinado en el que todos los participantes entienden su valor, existiendo además la infraestructura necesaria para soportar el proceso 4

5 Procesos y técnicas para desarrollo de software CMM: Modelo de madurez de las capacidades Alta Eficiencia de los procesos Capacidad de los procesos 5 Optimizado Madurez de los procesos 4 Gestionado. Baja 3 Definido Baja 2 Repetible Escalabilidad Repetibilidad 1 Inicial Alta 5

6 Procesos y técnicas para desarrollo de software CMM: Modelo de madurez de las capacidades Departamento de Defensa Americano(DoD), Instituto de Ingeniería del Software (SEI) 1987: Publicación de la descripción inicial del marco de madurez y de cuestionarios de evaluación de organizaciones (proveeodores DoD) 1992: CMM for software 1.0 Nivel de madurez 1.- Inicial Descripción Entorno caótico o de programación heroica. El desarrollo del software no se basa en procesos sino en esfuerzo personal ad hoc para cada situación. 2.- Repetible 3.- Definido Se emplean procesos básicos de gestión de proyectos para trazar costes, agendas y funcionalidad. La organización repite las prácticas que se van revelando exitosas. Los procesos de software, tanto de ingeniería como de gestión, se encuentran documentados, integrados como actuación estándar de la organización; y se emplean en todos los proyectos 4.- Gestionado Se obtienen mediciones detalladas de todos los procesos y se mide cuantitativamente tantos los procesos como sus productos. 5.- Optimizado La retro-información cuantitativa que se obtiene a través de la ingeniería de procesos se emplea para mejora continua e innovación. 6

7 Procesos y técnicas para desarrollo de software CMMI: Integración de modelos para la mejora de procesos Integración en un modelo único de varias disciplinas. CMMI-SW : Software (Agosto 2002) Queda en desuso CMM-SW CMMI-SE/SW : + Ingeniería de sistemas (Enero 2002) CMM-SW 2.0 Draft C + SECM (Systems Engineering Capability Model, también llamado EIA 731) CMMI-SE/SW/IPPD : + Desarrollo integrado de procesos y productos (Enero 2002) + IPD-CMM 0.98 CMMI-SE/SW/IPPD/SS : + Gestión de proveedores (Marzo 2002) + CMM-SA Principales diferencias con CMM Además de la inclusión e integración de tres nuevas disciplinas: Pone un mayor énfasis en el uso continuo de métricas Insiste en la necesidad de la trazabilidad desde los requerimientos al producto final Desglosa y detalla las áreas de proceso relativas a la ingeniería Los niveles 2 y 4 se llaman ahora "gestionado" y "gestionado cuantitativamente". Se ha desarrollado también un nuevo método de para la evaluación de las organizaciones denominado SCAMPI. 7

8 capacidad Procesos y técnicas para desarrollo de software CMMI: Representaciones continuas y escalonadas MADUREZ Atributo de la organización: cómo de previsible y repetible es la calidad de sus resultados, y su capacidad para aprender de la experiencia. CAPACIDAD Atributo de los procesos: eficacia y eficiencia para obtener el resultado. NM 5 NM 2 NM 3 NM 4 NM 1 Área de proceso 8

9 Niveles de capacidad Procesos y técnicas para desarrollo de software Nivel de Capacidad 0.- Incompleto Descripción No se realizan procesos, o con éstos no se alcanzan los objetivos del área de proceso. 1.- Ejecutado El proceso o la actividad consigue su objetivo. 2.- Gestionado El proceso consigue el objetivo, y además es planificado, revisado y evaluado para conseguir que cumpla los requisitos que se desean. 3.- Definido Proceso gestionado que además está incorporado y ajustado al estándar normalizador de la organización, y alineado con su estrategia. 4.- Cuantitativamente gestionado Proceso definido que además se mide cuantitativamente (con técnicas estadísticas u otras) 5.-Optimizado Proceso cuantitativamente gestionado que a través de la información que proporciona y de procesos de innovación, se adapta y cambia, mejorando su convergencia con los objetivos de negocio. 9

10 Procesos y técnicas para desarrollo de software Áreas de procesos en la representación escalonada NIVEL DE MADUREZ 5 OPTIMIZADO 4 GESTIONADO CUANTITATIVAMENTE ÁREAS DE PROCESO Innovación y desarrollo Gestión cuantificada de proyectos Rendimiento de los procesos de la organización 3 DEFINIDO Desarrollo de requisitos Solución técnica Verificación Validación Integración de producto Procesos orientados a la organización Definición de los procesos de la organización Formación Gestión integrada de proyecto Gestión de riesgos Análisis y resolución de decisiones 2 GESTIONADO 1 INICIAL Gestión de requisitos Planificación de proyecto Monitorización y control de proyectos Gestión y acuerdo con suministradores Medición y análisis Gestión de la calidad de procesos y productos Gestión de la configuración 10

11 Procesos y técnicas para desarrollo de software Áreas de procesos en la representación continua CATEGORÍA GESTIÓN DE PROYECTOS ÁREAS DE PROCESO Planificación de proyecto Monitorización y control de proyecto Gestión y acuerdo con proveedores Gestión integrada de proyecto Gestión de riesgos Gestión cuantificada de proyecto SOPORTE INGENIERÍA GESTIÓN DE PROCESOS Gestión de la configuración Gestión de la calidad de procesos y productos Medición y análisis Análisis y resolución de decisiones Análisis y resolución de problemas Desarrollo de requisitos Gestión de requisitos Soluciones técnicas Integración de producto Verificación Validación Definición de los procesos de la organización Procesos orientados a la organización Formación Rendimiento de los procesos de la organización Innovación y desarrollo 11

12 ISO/IEC TR Procesos y técnicas para desarrollo de software Estudio M. Defensa U.K. Informe Improve I.T. Análisis ISO Proyecto SPICE SPICE 1.0 SPICE 2.0 ISO/IEC TR PUBLICACIÓN ISO/IEC Std CMM SW 1.0 CMM SW 1.1 CMMI 12

13 Procesos y técnicas para desarrollo de software ISO/IEC Std : estructura del estándar P7 P1 Conceptos y guía de introducción P9 Vocabulario Guía para mejora de procesos P8 Guia para det. capacidad de proveedores P6 Guia de capacitación de evaluadores P3 Realización de evaluación Guía de evaluación P4 Modelo de ref. para procesos y capacidad P2 Modelo de evaluación y guía de indic. P5 13

14 ISO/IEC TR 15504: Características Marco para métodos de evaluación, no es un método o modelo en sí. Finalidad: Evaluación de procesos Mejora de procesos Modelo continuo. Alineado con ISO/IEC Information Technology Software Life Cycle Processes Dimensiones del modelo Procesos y técnicas para desarrollo de software El modelo tiene una arquitectura basada en dos dimensiones: Dimensión de proceso Caracterizada por las declaraciones del propósito de un proceso, que son objetivos esenciales mensurables de un proceso. Dimensión de capacidad de proceso Caracterizada por una serie de atributos de proceso, aplicables a cualquier proceso, que representan características mensurables necesarias para gestionar un proceso y mejorar su capacidad. 14

15 Procesos y técnicas para desarrollo de software ISO/IEC TR 15504: Dimensión de proceso (alineado 12207) CUS.1 Adquisición Preparación de la Adquisición Selección del suministrador Seguimiento del suministrador Aceptación del cliente CUS.3 Obtención de requisitos CUS.2 Suministro CUS.4 Operación Operación Soporte a cliente SUP.1 Documentación SUP.2 Gestión de la configuración SUP.3 Aseguramiento de la calidad SUP.4 Verificación ENG.1 Desarrollo Requisitos del sistema Análisis y diseño Análisis requ. Software Diseño del software Construcción del software Integración del software Pruebas del software Pruebas e integ. del sistema SUP.5 Validación SUP.6 Revisión conjunta SUP.7 Auditoría ENG.2 Mantenimiento del sistema y del software SUP.8 Resolución de problemas ORG.1 Alineamiento organizacional ORG.2 Mejora Definición de procesos Evaluación de procesos Mejora de procesos ORG.3 Gestión de las personas ORG.4 Infraestructura ORG.5 Medición ORG.6 Reutilización MAN.1 Gestión MAN.1 Gestión de proyecto MAN.1 Gestión de la calidad MAN.1 Gestión de riesgos 15

16 Procesos y técnicas para desarrollo de software ISO/IEC TR 15504: Dimensión de capacidad Niveles de capacidad y atributos Medición de atributos Nivel 0: Proceso Incompleto Nivel 1: Proceso Realizado PA 1.1 Se produce el resultado Nivel 2: Proceso Gestionado PA 2.1 Gestión de la ejecución PA 2.2 Gestión de las características del producto Nivel 3: Proceso Establecido PA 3.1 Definición del proceso PA 3.2 Recursos de lproceso Nivel 4: Proceso Predecible PA 4.1 Medición del proceso PA 4.2 Control del proceso Nivel 5: Proceso en optimización PA 5.1 Cambio del proceso PA 5.2 Mejora continua N P L F No alcanzado (0% a 15%). Escasa o ninguna evidencia de la consecución del atributo. Parcialmente alcanzado (16% a 50%). Evidencia de un enfoque sistemático y de la consecucióndel atributo. Algunos aspectos de la consecución pueden ser impredecibles. Ampliamente alcanzado (51% a 85%). Evidencia de un enfoque sistemático y de una consecución significativa del atributo. La realización del proceso puede variar en algunas áreas. Totalmente alcanzado (86% a 100%). Evidencia de un enfoque completo y sistemático y de la consecución plena del atributo. 16

17 Manifiesto ágil (2001) Origen de los métodos ágiles Procesos y técnicas para desarrollo de software En marzo de 2001, 17 críticos de estos modelos, convocados por Kent Beck, que acababa de definir una nueva metodología denominada Extreme Programming, se reunieron en Salt Lake City para discutir sobre los modelos de desarrollo de software. En la reunión se acuñó el término Métodos Ágiles para definir a aquellos que estaban surgiendo como alternativa a las metodologías formales, (CMM-SW, PMI, SPICE) a las que consideraban excesivamente pesadas y rígidas por su carácter normativo y fuerte dependencia de planificaciones detalladas, previas al desarrollo. Los integrantes de la reunión resumieron en cuatro postulados lo que ha quedado denominado como Manifiesto Ágil, que compendia el espíritu en el que se basan estos métodos. Aunque como se verá más adelante, en la actualidad hay aproximaciones que combinan lo mejor de ambos enfoques (formal y ágil), hasta 2005, en cada lado sus defensores adoptaron posturas radicales, quizá más ocupadas en descalificar a la contraria que en estudiarla y conocerla para mejorar la propia. 17

18 Manifiesto ágil (2001) Procesos y técnicas para desarrollo de software Estamos poniendo al descubierto mejores métodos para desarrollar software, haciéndolo y ayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar: A los individuos y su interacción El software que funciona La colaboración con el cliente La respuesta al cambio por encima por encima por encima por encima de los procesos y las herramientas de la documentación exhaustiva la negociación contractual seguimiento de un plan Aunque hay valor en los elementos de la derecha, valoramos más los de la izquierda Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas 18

19 Técnicas y métodos ágiles Modelos específicos para software. Modelos y estándares de calidad Adaptaciones para softw. Métodos ágiles Procesos y técnicas para desarrollo de software Modelos genéricos Modelos para software 1997 TickIT 1991 ISO MIL-Q BS ISO 9000 Trillium Bootstrap 1995 ISO Proy. SPICE TR ISO CMM-SW Modelos CMM 2001 CMMI DSDM SCRUM CRYSTAL XP ASD PP ISD AM Manifiesto Ágil 19

20 Métodos ágiles Procesos y técnicas para desarrollo de software 5. Procesos primarios 5. Procesos de soporte Recogen técnicas, buenas prácticas contrastadas por profesionales reconocidos. 5.1 Adquisición 5.2 Suministro 6.1 Documentación 6.2 Gestión de la configuración Cada una tiene sus características propias y cubre un rango de áreas de procesos más o menos amplia: Tendencia a combinarlas para dar mayor cobertura en el ciclo de vida Operación 6.3 Control de calidad 6.4 Verificación 6.5 Validación Han surgido de entornos reales de desarrollo de software Responden mejor a la realidad del software y las diferencias con producción industrial. Desarrollo 5.3 Mantenimiento 6.6 Reuniones 6.7 Auditoría 6.8 Resolución de problemas 7. Procesos organizacionales 7.1 Gestión 7.2 Infraestructura 7.3 Mejora 7.4 Formación 20

21 extreme Programming (XP) Procesos y técnicas para desarrollo de software Este es el método que más popularidad ha alcanzado entre las metodologías ágiles, y posiblemente sea también el más transgresor de la ortodoxia basada en procesos. Su creador, Kent Beck fue el alma mater del Manifiesto Ágil. Extreme Programming (XP) se irgue sobre la suposición de que es posible desarrollar software de gran calidad a pesar, o incluso como consecuencia del cambio continuo. Su principal asunción es que con un poco de planificación, un poco de codificación y unas pocas pruebas se puede decidir si se está siguiendo un camino acertado o equivocado, evitando así tener que echar marcha atrás demasiado tarde. Valores que inspiran XP SIMPLICIDAD FEEDBACK CORAJE COMUNICACIÓN 21

22 extreme Programming (XP) Procesos y técnicas para desarrollo de software Comunicación XP pone en comunicación directa y continua a clientes y desarrolladores. El cliente se integra en el equipo para establecer prioridades y resolver dudas. De esta forma ve el avance día a día, y es posible ajustar la agenda y las funcionalidades de forma consecuente Feedback rápido y continuo Una metodología basada en el desarrollo incremental de pequeñas partes, con entregas y pruebas frecuentes y continuas, proporciona un flujo de retro-información valioso para detectar los problemas o desviaciones. De esta forma fallos se localizan muy pronto. La planificación no puede evitar algunos errores, que sólo se evidencian al desarrollar el sistema. La retro-información es la herramienta que permite reajustar la agenda y los planes. 22

23 extreme Programming (XP) Simplicidad Procesos y técnicas para desarrollo de software La simplicidad consiste en desarrollar sólo el sistema que realmente se necesita. Implica resolver en cada momento sólo las necesidades actuales. Los costes y la complejidad de predecir el futuro son muy elevados, y la mejor forma de acertar es esperar al futuro. Con este principio de simplicidad, junto con la comunicación y el feedback resulta más fácil conocer las necesidades reales Coraje El coraje implica saber tomar decisiones difíciles. Reparar un error cuando se detecta. Mejorar el código siempre que tras el feedback y las sucesivas iteraciones se manifieste susceptible de mejora. Tratar rápidamente con el cliente los desajustes de agendas para decidir qué partes y cuándo se van a entregar. 23

24 extreme Programming (XP) Las 12 prácticas de XP Procesos y técnicas para desarrollo de software XP no es un modelo de procesos ni un marco de trabajo, sino un conjunto de 12 prácticas que se complementan unas a otras y deben implementarse en un entorno de desarrollo cuya cultura se base en los cuatro valores citados PRÁCTICAS DE CODIFICACIÓN 1.- Simplicidad de código y de diseño para producir software fácil de modificar. 2.- Reingeniería continua para lograr que el código tenga un diseño óptimo. 3.- Desarrollar estándares de codificación, para comunicar ideas con claridad a través del código. 4.- Desarrollar un vocabulario común, para comunicar las ideas sobre el código con claridad. PRÁCTICAS DE DESARROLLO 1.- Adoptar un método de desarrollo basado en las pruebas para asegurar que el código se comporta según lo esperado. 2.- Programación por parejas, para incrementar el conocimiento, la experiencia y las ideas. 3.- Asumir la propiedad colectiva del código, para que todo el equipo sea responsable de él. 4.- Integración continua, para reducir el impacto de la incorporación de nuevas funcionalidades. 24

25 extreme Programming (XP) Las 12 prácticas de XP Procesos y técnicas para desarrollo de software PRÁCTICAS DE NEGOCIO 1.- Integración de un representante del cliente en el equipo, para encauzar las cuestiones de negocio del sistema de forma directa, sin retrasos o pérdidas por intermediación. 2.- Adoptar el juego de la planificación para centrar en la agenda el trabajo más importante. 3.- Entregas regulares y frecuentes para satisfacer la inversión del cliente. 4.- Ritmo de trabajo sostenible, para terminar la jornada cansado pero no agotado. 25

26 Procesos y técnicas para desarrollo de software Scrum No es propiamente un método o metodología de desarrollo, e implantarlo como tal resulta insuficiente. Scrum define métodos de gestión y control para complementar la aplicación de otros métodos ágiles como XP que, centrados en prácticas de tipo técnico, carecen de ellas. Los principios de Scrum son: Equipos autogestionados. Una vez dimensionadas las tareas no es posible agregarles trabajo extra. Reuniones diarias en las que los miembros del equipo se plantean 3 cuestiones: Qué has hecho desde la última revisión? Qué obstáculos te impiden cumplir la meta? Qué vas a hacer antes de la próxima reunión? Iteraciones de desarrollo de frecuencia inferior a un mes, al final de las cuales se presenta el resultado a los externos del equipo de desarrollo, y se realiza una planificación de la siguiente iteración, guiada por cliente. 26

27 Procesos y técnicas para desarrollo de software Scrum 27

28 Otros métodos ágiles Familia de métodos Crystal Procesos y técnicas para desarrollo de software La familia de metodologías Crystal ofrece diferentes métodos para seleccionar el más apropiado para cada proyecto. Crystal identifica con colores diferentes cada método, y su elección debe ser consecuencia del tamaño y criticidad del proyecto, de forma que los de mayor tamaño, o aquellos en los que la presencia de errores o desbordamiento de agendas implique consecuencias graves, deben adoptar metodologías más pesadas. Los métodos Crystal no prescriben prácticas concretas ASD (Adaptative Software Development) Método que como alternativa a los procedimientos formales, aborda el desarrollo de grandes sistemas con el uso de técnicas propias de las metodologías ágiles. No se trata de una metodología, sino de la implantación de una cultura en la empresa, basada en la adaptabilidad. 28

29 Otros métodos ágiles PP (Pragmatic Programming) Procesos y técnicas para desarrollo de software Pragmatic Programming es la colección de 70 prácticas de programación, comunes a otros métodos ágiles, cuya aplicación resulta útil para solucionar los problemas cotidianos. Surge del libro The Pragmatic Programmer de Dave Thomas y Andres Hunt. AM (Agile Modeling) Agile Modeling es la presentación de un nuevo enfoque para realizar el modelado de sistemas,(diseño) y basado en los principios de los métodos ágiles remarca la conveniencia de reducir el volumen de la documentación. (Amber S. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process ) ISD Internet Speed Development Surge de las conclusiones del coloquio celebrado en Octubre de 2001, promovido por SEI que reunió a especialistas de las universidades Carneige Mellon, Georgia y Copenhagen. Sienta bases de gestión para abordar el desarrollo de sistemas de software, de tamaño pequeño que requieren tiempos de desarrollo muy rápidos. FDD (Feature Driven Development) Prescribe un proceso iterativo de 5 pasos, con iteraciones de dos semanas. El punto de referencia son las características que debe reunir el software, y se centra en las fases de diseño e implementación del sistema 29

30 Procesos y técnicas para desarrollo de software Modelos de propiedad Comercial: MSF MSF es la metodología empleada por Microsoft para el desarrollo de software. Hasta su versión 3 (principios de 2005) MSF se definía como un marco de desarrollo flexible para adaptarse a las necesidades de cada proyecto, en oposición a lo que sería una metodología prescriptiva; porque parte de la base de que no hay una estructura de procesos óptima para las necesidades de todos los entornos de desarrollo posibles. El marco MSF se asienta sobre unos Principios Fundamentales que definen la cultura del entorno de desarrollo: MSF: PRINCIPIOS FUNDAMENTALES Fomento de la comunicación abierta. Trabajo en torno a una visión compartida. Apoderar a los integrantes del equipo ( empowerment ) Establecimiento de responsabilidades claras y compartidas. Centrar el objetivo en la entrega de valor para el negocio. Permanecer ágiles y esperar e cambio. Invertir en calidad. Aprender de la experiencia. 30

31 Procesos y técnicas para desarrollo de software Modelos de propiedad Comercial: MSF Elementos que componen el modelo Principios fundamentales Principios básicos en los que se basa todo el modelo (los 8 de la pág. ant.) Modelos Mapas mentales de organización. Hay 2: De equipo y de procesos Disciplinas Conceptos clave Prácticas contrastadas Áreas de trabajo en las que se usan métodos determinados (Gestión de proyecto, de riesgos y de la mejora del talento) Ideas que dan soporte a los principios y disciplinas de MSF y se muestran a través de prácticas específicas contrastadas. Prácticas que han demostrado su efectividad en proyectos en diferentes condiciones de entornos reales Recomendaciones Prácticas opcionales, sugeridas por el modelo. 31

32 Procesos y técnicas para desarrollo de software Modelos de propiedad Comercial: MSF Relación entre los componentes del modelo Este diagrama es un ejemplo para mostrar la interconexión y relación entre los componentes de Microsoft Solutions Framework Principio Fundamental Modelo o Disciplina Concepto Clave Práctica Contrastada Recomendac. Aprender de las experiencias Modelo de procesos Disposición al aprendizaje Hitos de revisión Uso de facilitadores externos Permanecer ágil y esperar el cambio Gestión de riesgos Evaluación continua de riesgos Definir y monitorizar disparadores de riesgos Creación de una BD de riesgos Está relacionado En 2005, el desarrollo del nuevo producto de Microsoft Visual Studio 2005 Team System ha ganerado la evolución de MSF hacia la nueva versión 4.0 con dos líneas paralelas: Microsoft Solutions Framework (MSF) for Agile Software Development. Microsoft Solutions Framework (MSF) for CMMI Process Improvement. 32

33 Procesos y técnicas para desarrollo de software Modelos de propiedad Comercial: RUP Rational Unified Process Es un proceso de Ingeniería del Software que proporciona una visión disciplinada para la asignación de tareas y responsabilidades en las organizaciones de desarrollo de software. RUP es un modelo-producto desarrollado y mantenido por Racional Software, integrado en su conjunto de herramientas de desarrollo, y distribuido por IBM. RUP integra un conjunto de buenas prácticas para el desarrollo de software en un marco de procesos válido para un rango amplio de tipos de proyectos y organizaciones. RUP: Buenas Prácticas Desarrollo iterativo. Gestión de requisitos. Uso de arquitecturas basadas en componentes. Uso de técnicas de modelado visual. Verificación continua de la calidad. Gestión y control de cambios. 33

34 Procesos y técnicas para desarrollo de software Modelos de propiedad Comercial: RUP Rational Unified Process: Visión estática En su visión estática, el modelo RUP está compuesto por: Roles: analista de sistemas, diseñador, diseñador de pruebas, roles de gestión y roles de administración. Actividades: RUP determina el trabajo de cada rol a través de actividades. Cada actividad del proyecto debe tener un propósito claro, y se asigna a un rol específico. Las actividades pueden tener duración de horas o de algunos días; y son elementos base de planificación y progreso. Artefactos: Son los elementos de entrada y salida de las actividades. Son productos tangibles del proyecto. Las cosas que el proyecto produce o usa para componer el producto final (modelos, documentos, código, ejecutables ) Disciplinas: son contenedores empleados para organizar las actividades del proceso. RUP comprende 6 disciplinas técnicas y 3 de soporte. Técnicas: modelado del negocio, requisitos, análisis y diseño, implementación, pruebas y desarrollo. Soprte: gestión de proyecto, gestión de configuración y cambio, y entorno. Flujos de trabajo: son el pegamento de los roles, actividades, artefactos y disciplinas, y constituyen la secuencia de actividades que producen resultados visibles. 34

35 Procesos y técnicas para desarrollo de software Modelos de propiedad Comercial: RUP Rational Unified Process: Visión dinámica En su visión dinámica, la visión de la estructura del ciclo de vida RUP se basa en un desarrollo iterativo, jalonado por hitos para revisar el avance y planear la continuidad o los posibles cambios de rumbo. Cuatro son las fases que dividen el ciclo de vida de un proyecto RUP: 1.- Inicio. Es la fase de la idea, de la visión inicial de producto, su alcance. El esbozo de una arquitectura posible y las primeras estimaciones. Concluye con el hito de objetivo. 2.- Elaboración. Comprende la planificación de las actividades y del equipo necesario. La especificación de las necesidades y el diseño de la arquitectura. Termina con el hito de Arquitectura. 3.- Construcción. Desarrollo del producto hasta que se encuentra disponible para su entrega a los usuarios. Termina con el hito del inicio de la capacidad operativa. 4.- Transición. Traspaso del producto a los usuarios. Incluye: manufactura, envío, formación, asistencia y el mantenimiento hasta lograr la satisfacción de los usuarios. Termina con el hito de entrega del producto. 35

36 Procesos y técnicas para desarrollo de software FACTORES CLAVE EN LOS PROYECTOS Factor Discriminadores ágiles Discriminadores formales Tamaño Criticidad Dinamismo Personal Dependencia y escalabilidad limitada por el porcentaje alto de conocimiento tácito. Apropiado para equipos y productos pequeños. La simplicidad en la documentación y el diseño dificulta los planes de pruebas. No aconsejado para sistemas con niveles de criticidad altos (IEEE 1012) Re-factorizar desde un diseño básico hasta el producto final es un método ideal para entornos dinámicos e innovadores, pero muy caro por el retrabajo para entornos estables o conocidos Los métodos de trabajo ágiles requieren una masa crítica de técnicos con niveles de experiencia medios-altos, capaces de comprender y adaptar los métodos y las técnicas empleadas. Escalabilidad y conocimiento explícito. Apropiado para productos y equipos grandes. Duro de mantener en pequeños proyectos. Rigor de requisitos y diseño adecuados para procesos de pruebas, verificación y validación. Duros de gestionar en proyectos de escasa criticidad En sistemas estables y conocidos, partir de requisitos completos y diseños detallados permite trazar y seguir un plan completo y hacerlo bien a la primera. Aunque es aconsejable contar con personas expertas en las fases de definición del proyecto, luego pueden ejecutarse con menor masa crítica de expertos. Cultura Más apropiado para culturas de empowerment responsabilidad y horquilla de decisión y libertad personal. Más apropiado en culturas en las que las personas se sienten seguras con un marco de tareas y responsabilidades bien definido. Adaptado de Barry Bohem y Richard Turner Balancing Agility and Discipline 36

37 Enfoque formal o ágil? Procesos y técnicas para desarrollo de software Personal % Junior % Senior y Master Criticidad Pérdidas posibles Dinamismo % Modific. Requisitos / mes Tamaño Número de personas 10 Cultura % adaptación a entornos caóticos 37

38 Para ampliar información Procesos y técnicas para desarrollo de software Modelos basados en procesos Página oficial CMMI del Software Engineering Institute. (http://www.sei.cmu.edu/cmmi/cmmi.html) Página para descarga de los modelos CMMI. (http://www.sei.cmu.edu/cmmi/models/models.html) SWEBOK: Áreas de conocimiento de la Ingeniería del software (http://www.swebok.org/) Gestión de proyectos PMI (http://www.pmi.org) IPMA (http://www.ipma.ch) PRINCE 2 (http://www.prince2.com/) Modelos ágiles Manifiesto Ágil (http://www.agilemanifesto.org/) Agile Alliance (http://www.agilealliance.org/) Scrum (http://www.controlchaos.com/) Exreme Programming (http://www.extremeprogramming.org/) DSDM (http://www.dsdm.org/) Microsoft Solutions Framework (http://msdn.microsoft.com/vstudio/teamsystem/msf/) Rational Unified Process (http://www-306.ibm.com/software/rational/) (http://www-128.ibm.com/developerworks/rational/library/content/rationaledge/jan01/whatistherationalunifiedprocessjan01.pdf) Agile Modeling (http://www.agilemodeling.com/) Feature Driven Development (http://www.featuredrivendevelopment.com/) Internet Speed Development (http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr020.pdf) 38

Metodologías. Universidad de Morón Faculta de Informática, Cs. De la Comunicación y Téc. Especiales. Herramientas y Procesos de Software

Metodologías. Universidad de Morón Faculta de Informática, Cs. De la Comunicación y Téc. Especiales. Herramientas y Procesos de Software Metodologías Ágiles Universidad de Morón Faculta de Informática, Cs. De la Comunicación y Téc. Especiales Herramientas y Procesos de Software Motivación Problemas comunes al desarrollar software?... Caos

Más detalles

Manifiesto Ágil: Historia

Manifiesto Ágil: Historia Agile Manifesto and agile principles andmanifestoagile Nombre del Paper: agileprinciples. Fecha de publicación: Febrero 2001 Publicación: www.agilemanifesto.org Autores: ( XP ) 1.Kent Beck ( XP 2.Mike

Más detalles

Scrum Manager Gestión de proyectos

Scrum Manager Gestión de proyectos Scrum Manager Gestión de proyectos INTRODUCCIÓN Caos Procesos Agilidad cc-by **Maurice** LICENCIA DE USO Este es un recurso educativo abierto (OER) del proyecto Scrum Manager Los contenidos OER de ScrumManager

Más detalles

Programación Extrema. Ing. Sebastian Priolo

Programación Extrema. Ing. Sebastian Priolo Programación Extrema Ing. Sebastian Priolo Metodologías Ágiles Menos orientadas a los documentos. Orientadas al código. El cambio es bienvenido. Procesos que cambian NO son predictivos Son adaptables Ejemplos

Más detalles

Rev. 0.03 Junio 2006 Juan Palacio Bañeres

Rev. 0.03 Junio 2006 Juan Palacio Bañeres Compendio de Ingeniería del Software II Rev. 0.03 Junio 2006 Juan Palacio Bañeres Tabla de contenido Prólogo Derechos 1.- Introducción a la ingeniería del software 2.- Ciclo de vida 3.- Requisitos 4.-

Más detalles

Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software

Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software Beneficios de la implantación de una metodología para el ciclo de vida de desarrollos software Dirección de Desarrollo y Aplicaciones Miguel Martínez Vélez Agenda 1. Introducción 2. El Proceso Software

Más detalles

SW-CMM (CMM for Software)

SW-CMM (CMM for Software) Sinopsis de los modelos SW-CMM y CMMI Juan Palacio 1.0 Abril - 2006 Síntesis de los modelos de procesos CMM y CMMI para desarrollo y mantenimiento de software. CMMI (y previamente CMM) puede emplearse

Más detalles

The Agile Manifesto. Que es el Manifiesto Ágil?

The Agile Manifesto. Que es el Manifiesto Ágil? Que es el Manifiesto Ágil? Lista de principios y valores Declaración de conceptos que guían el desarrollo de software Creado en Febrero del 2001 por la alianza ágil. 17 personas representantes de: Extreme

Más detalles

Objetivo: Analizar las características de los modelos de estandarización de la calidad CMM, SPICE, IEEE e ISO

Objetivo: Analizar las características de los modelos de estandarización de la calidad CMM, SPICE, IEEE e ISO INGENIERÍA DE SOFTWARE AVANZADA MIS (Sesión 10) 4.3 Modelos de mejora de proceso (CMM y SPICE) 4.4 Normas técnicas (IEEE, ISO, EU, etc.) 4.3 Modelos de mejora de proceso (CMM y SPICE) Objetivo: Analizar

Más detalles

Gestión y procesos en empresas de software

Gestión y procesos en empresas de software Gestión y procesos en empresas de software Juan Palacio Introducción Es tanta la información de estándares, modelos, marcos y prácticas para desarrollo de software, que apostar por uno u otro puede acabar

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. COMPARACIÓN DE METODOLOGÍAS METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación

Más detalles

2. EL MODELO CMMI. En 1991, el Instituto de Ingeniería de Software (SEI) publicó el Modelo de

2. EL MODELO CMMI. En 1991, el Instituto de Ingeniería de Software (SEI) publicó el Modelo de 2. EL MODELO CMMI 2.1 ANTECEDENTES DE CMMI En 1991, el Instituto de Ingeniería de Software (SEI) publicó el Modelo de Capacidad de Madurez (CMM). Dicho modelo está orientado a la mejora de los procesos

Más detalles

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS METODOLOGIAS AGILES PROCESO UNIFICADO AGIL (AUP) MATERIA : INGENIERIA SOFTWARE DOCENTE : LIC. ERVIN FLORES ESTUDIANTE : JORGE LUIS CORDERO

Más detalles

CMMI : mejora del proceso en Fábricas de Software

CMMI : mejora del proceso en Fábricas de Software CMMI : mejora del proceso en Fábricas de Software Cecilia Rigoni Brualla Caelum, Information & Quality Technologies Introducción Introducción Idea / Necesidad Investigación Diseño Inversión PRODUCTO Introducción

Más detalles

Describir el CMMI para el desarrollo de software, evolución, alcance y representación

Describir el CMMI para el desarrollo de software, evolución, alcance y representación Unidad 6: Introducción a CMMI Objetivo terminal de la Unidad Describir el CMMI para el desarrollo de software, evolución, alcance y representación Temas: Acerca del Modelo Capacidad Madurez Evolución de

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos

Más detalles

Calidad de Software - CMM

Calidad de Software - CMM Calidad de Software - CMM Herramientas y Procesos de Software Facultad de Informática, Ciencias de la Comunicación y Técnicas Especiales Lic. Cecilia Palazzolo Año 2008 1 Qué es un modelo de procesos?

Más detalles

E a v l a ua u c a i c ón ó n de d l e Pr P oc o e c s e o s o de d Ing n e g n e i n er e ía a de d e So S f o twa w r a e

E a v l a ua u c a i c ón ó n de d l e Pr P oc o e c s e o s o de d Ing n e g n e i n er e ía a de d e So S f o twa w r a e Proceso de Ingeniería de Software Evaluación del Proceso de Ingeniería de Software 3. Evaluación del proceso 3.1. Modelos del proceso de evaluación 3.2. Métodos del proceso de evaluación 2 Los objetivos

Más detalles

Gestión de proyectos ágil: conceptos básicos

Gestión de proyectos ágil: conceptos básicos Gestión de proyectos ágil: conceptos básicos NST-0003 Rev. 0.1 http://www.navegapolis.net Juan Palacio, 2006 Gestión de proyectos clásica Introducción Los entornos de negocio de muchos sectores han experimentado

Más detalles

Agilidad. ADN y fortalezas. cc-by **Maurice**

Agilidad. ADN y fortalezas. cc-by **Maurice** Agilidad ADN y fortalezas cc-by **Maurice** Juan Palacio Emprendedor, fundador de: Safe Creative (Registro de propiedad intelectual en Internet) lubaris (empresa local Zaragozana de integración y asesoría

Más detalles

Scrum. Helder Marques

Scrum. Helder Marques Scrum Helder Marques Gerencia de proyectos Es como el helado; viene en varios sabores ( Y muchas veces engorda ) Gerencia de proyectos Gerencia de proyectos Gerencia de proyectos Un poco de historia...

Más detalles

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG)

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Grupo de Ingeniería del Software Antonio José Sáenz Albanés (C.T.O) Reconocimiento No Comercial Compartir Igual - 3.0 - España 1 Objetivos del Tema Qué

Más detalles

Introducción a la implementación de Scrum

Introducción a la implementación de Scrum Introducción a la implementación de Scrum Jorge Iván Meza Martínez http://www.jorgeivanmeza.com/ Jorge Iván Meza Martínez - 1 Contenido Introducción. Historia. Qué es un proyecto. Gestión

Más detalles

Enginyeria del Software III

Enginyeria del Software III Enginyeria del Software III Sessió 3. L estàndard ISO/IEC 15504 Antònia Mas Pichaco 1 Introducción El proyecto SPICE representa el mayor marco de colaboración internacional establecido con la finalidad

Más detalles

Los procesos de software. Un proceso de software se define como un:

Los procesos de software. Un proceso de software se define como un: Los procesos de software Un proceso de software se define como un: "conjunto de actividades, métodos, prácticas y transformaciones que las personas usan para desarrollar y mantener software y sus productos

Más detalles

Capítulo 2 Ideas generales de CMMI-SW. 2.1 Introducción. 2.2 Procesos. 2.3 Modelo de procesos

Capítulo 2 Ideas generales de CMMI-SW. 2.1 Introducción. 2.2 Procesos. 2.3 Modelo de procesos Capítulo 2 Ideas generales de CMMI-SW 2.1 Introducción El Capability Maturity Model Integration (en adelante CMMI), se compone de un conjunto de modelos, métodos de evaluación y cursos de formación para

Más detalles

UNIVERSIDAD DE OVIEDO MÁSTER UNIVERSITARIO EN DIRECCIÓN DE PROYECTOS

UNIVERSIDAD DE OVIEDO MÁSTER UNIVERSITARIO EN DIRECCIÓN DE PROYECTOS UNIVERSIDAD DE OVIEDO MÁSTER UNIVERSITARIO EN DIRECCIÓN DE PROYECTOS ÁREA DE PROYECTOS DE INGENIERÍA TRABAJO FIN DE MÁSTER METODOLOGÍA PARA LA EVALUACIÓN DE LA MADUREZ DEL SISTEMA DE GESTIÓN DE LA I+D+I

Más detalles

Introduction to CMMI-DEV V1.3 (Introducción a CMMI-Desarrollo Versión 1.3)

Introduction to CMMI-DEV V1.3 (Introducción a CMMI-Desarrollo Versión 1.3) Introduction to CMMI-DEV V1.3 (Introducción a CMMI-Desarrollo Versión 1.3) Este curso oficial impartido por un instructor certificado por el SEI, tiene tres días de duración e introduce a los directivos

Más detalles

Catálogo de Formación SEI

Catálogo de Formación SEI Catálogo de Formación SEI ESI lleva 15 años ofreciendo servicios de formación en diferentes tecnologías. En este tiempo ha formado a más de 4.000 profesionales de más de 800 organizaciones, en más de 30

Más detalles

Período Teoría Práctica Laboratorio de crédito Electiva 3 0 0 3 Requisitos Metodología del Software

Período Teoría Práctica Laboratorio de crédito Electiva 3 0 0 3 Requisitos Metodología del Software Asignatura METODOLOGÍAS ÁGILES DE GESTIÓN Y DESARROLLO DE PROYECTOS DE TI Vigente desde: Marzo 2008 Horas semanales Unidades Período Teoría Práctica Laboratorio de crédito Electiva 3 0 0 3 Requisitos Metodología

Más detalles

Introducción a las Metodologías Ágiles. Introducción a Scrum. Roles Ceremonias Artefactos Métricas

Introducción a las Metodologías Ágiles. Introducción a Scrum. Roles Ceremonias Artefactos Métricas Introducción a las Metodologías Ágiles Introducción a Scrum Roles Ceremonias Artefactos Métricas Mauricio Silclir Ingeniero en Sistemas de Información (UTN FRC) Scrum Master del Centro de Desarrollo de

Más detalles

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP. 2010 TEMA 4 MODELOS, METODOLOGÍAS Y ESTÁNDARES: ESTRATEGIAS PARA ALCANZAR LA CALIDAD

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP. 2010 TEMA 4 MODELOS, METODOLOGÍAS Y ESTÁNDARES: ESTRATEGIAS PARA ALCANZAR LA CALIDAD TEMA 4 MODELOS, METODOLOGÍAS Y ESTÁNDARES: ESTRATEGIAS PARA ALCANZAR LA CALIDAD 1. MODELOS, METODOLOGÍAS Y ESTÁNDARES 1.1 Definiciones 01 [Feb. 2006] [Feb. 2007] Cuál de las siguientes frases referidas

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

Capability Maturity Model Integration CMMI - Overview I

Capability Maturity Model Integration CMMI - Overview I Capability Maturity Model Integration CMMI - Overview I CAPIS Centro de Ingeniería del Software e Ingeniería del Conocimiento Junio 2004 Objetivo de la presentación Brindar una visión general del CMMI

Más detalles

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Desarrollo Ágil Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Coordinación de Ciencias Computacionales INAOE 2011 Preguntas

Más detalles

Compendio de Ingeniería del Software

Compendio de Ingeniería del Software Compendio de Ingeniería del Software Rev.0.04 Junio 2006 Autor: Juan Palacio Este trabajo forma parte del espacio http://www.navegapolis.net. Puedes emplearlo y distribuirlo suscribiendo el contrato coloriuris

Más detalles

CMMI (Capability Maturity Model Integrated)

CMMI (Capability Maturity Model Integrated) CMMI (Capability Maturity Model Integrated) El SEI (software engineering institute) a mediados de los 80 desarrolló el CMM (modelo de madurez de la capacidad de software). CMMI: CMM integrado, una mezcla

Más detalles

El Proceso Unificado

El Proceso Unificado El Proceso Unificado de Desarrollo de Software Prof. Gustavo J. Sabio Alcance de la presentación QA Entradas Proceso de desarrollo Salida equipo Cliente sistemas Cliente necesidades actividades varias

Más detalles

Notas de Scrum. Licenciado Villarreal, Gonzalo Luján.

Notas de Scrum. Licenciado Villarreal, Gonzalo Luján. Notas de Scrum. Licenciado Villarreal, Gonzalo Luján. Sólo en uno de cada tres proyectos de software se cumple el plan inicial: el sistema realiza las funcionalidades inicialmente previstas, y se desarrolla

Más detalles

Qué es el Modelo CMMI?

Qué es el Modelo CMMI? El principal problema que tienen las empresas en sus áreas de tecnología, así como las empresas desarrolladoras de software al iniciar un proyecto, radica en que el tiempo de vida del proyecto y el presupuesto

Más detalles

Balanceo de metodologías Ágiles y Orientadas al Plan

Balanceo de metodologías Ágiles y Orientadas al Plan Balanceo de metodologías Ágiles y Orientadas al Plan Facultad de Ingeniería Universidad de Buenos Aires Ing. Juan Gabardini Ing. Lucas Campos (lcampos@rmya.com.ar) diciembre de 2005 75.46 Administración

Más detalles

Gestión de proyectos siguiendo practicas del PMI.

Gestión de proyectos siguiendo practicas del PMI. Gestión de proyectos siguiendo practicas del PMI. Identificación de las mejores prácticas aplicadas a la gestión de proyectos. Proceso de Desarrollo de Software de Codes S.A. alineado a CMMI Nivel 3 en

Más detalles

PRESENTACIÓN CMMI: (CAPABILITY MATURITY MODEL INTEGRATION)

PRESENTACIÓN CMMI: (CAPABILITY MATURITY MODEL INTEGRATION) PRESENTACIÓN CMMI: (CAPABILITY MATURITY MODEL INTEGRATION) INDICE 1. Introducción 2. Estructura CMMI 3. Nivel 2 4. Nivel 3 5. Nivel 4 6. Nivel 5 7. Bibliografía INTRODUCCIÓN Qué es y por qué usar CMMI?

Más detalles

Metodologías de seguridad en el desarrollo de la democracia electrónica. Javier Martín José A. Rubio

Metodologías de seguridad en el desarrollo de la democracia electrónica. Javier Martín José A. Rubio Metodologías de seguridad en el desarrollo de la democracia electrónica Javier Martín José A. Rubio Índice Introducción al problema Panorama de las metodologías de seguridad OCTAVE SSE-CMM Conclusiones

Más detalles

PROF PROF INFORME VISIÓN GLOBAL DE CMM ÍNDICE

PROF PROF INFORME VISIÓN GLOBAL DE CMM ÍNDICE it Gestión Informática GESTIÓN INFORMÁTICA INFORME VISIÓN GLOBAL DE CMM Autor: Yan Bello. Consultor principal de it ÍNDICE Definición. Los 5 niveles del CMM Carencias frecuentes en las empresas Beneficios

Más detalles

SW-CMM Capability Maturity Model for Software

SW-CMM Capability Maturity Model for Software SW-CMM Capability Maturity Model for Software Introducción 1986 Comienzan Estudios. SEI (Software Engineering Institute - UCM). 1991 Nace CMM v1.0 1994 CMM v1.1 P-CMM SE-CMM SW-CMM CMMs IPD-CMM CMMI SA-CMM

Más detalles

EVALUACIÓN Y MEJORA DE PROCESOS

EVALUACIÓN Y MEJORA DE PROCESOS PORTADA EVALUACIÓN Y MEJORA DE PROCESOS PORTADA ISO 90003 PSP TSP BOOTSTRAP TRILLIUM SPICE (ISO 15504) I MODELO DE MADUREZ DE LA CAPACIDAD () Nivel Inicial Repetible Características - Ausencia de gestión

Más detalles

Ciclo de Ingeniería de Software

Ciclo de Ingeniería de Software Ciclo de Ingeniería de Software Desarrollo Iterativo de Software Aplicaciones Cliente Servidor Aplicaciones OO Universidad FASTA 2008 Licencia Contenido Introducción Conceptos Planificación Calidad del

Más detalles

Cristian Blanco www.cristianblanco.es

Cristian Blanco www.cristianblanco.es 3.1.- INTRODUCCIÓN Para realizar el desarrollo de cualquier proyecto de software es necesario llevar una sistemática de trabajo, que nos asegure el éxito del mismo. Lo que tenemos que evitar, en el desarrollo

Más detalles

Uso de la representación continua de CMMI para la Mejora de Negocio

Uso de la representación continua de CMMI para la Mejora de Negocio Uso de la representación continua de CMMI para la Mejora de Negocio III Semana del CMMI Casimiro Hernández Parro 1 de Marzo 2007 Capability Maturity Model and CMMI are registered in the U.S. Patent and

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Capitulo 4. Comparación entre la Representación Continua y la. Representación por Etapas

Capitulo 4. Comparación entre la Representación Continua y la. Representación por Etapas Capitulo 4. Comparación entre la Representación Continua y la Representación por Etapas "In God we trust, all others bring data." Deming Tal como ya se mencionó al final del Capitulo 2, dentro del CMMI

Más detalles

Qué es una Metodología Ágil?

Qué es una Metodología Ágil? Metodologías Ágiles Qué es una Metodología Ágil? www.agilealliance.com Las Metodologías Ágiles (AMs) valoran: Al individuo y las interacciones en el equipo de desarrollo más que a las actividades y las

Más detalles

Qué esperan aprender en esta clase?

Qué esperan aprender en esta clase? Diego Rubio Álvaro Ruiz de Mendarozqueta Natalia Andriano Juan Pablo Bruno Mauricio Silclir Cuál es su experiencia con las metodologías ágiles? Qué esperan aprender en esta clase? 1 Cómo que métricas?

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

CAPÍTULO 2. CMM : CAPABILITY MATURITY MODEL

CAPÍTULO 2. CMM : CAPABILITY MATURITY MODEL CAPÍTULO 2. CMM : CAPABILITY MATURITY MODEL Teniendo en cuenta que este trabajo tiene como objetivo el mostrar la metodología de evaluación del modelo de Capacidad de Madurez, es necesario antes de profundizar

Más detalles

Contenido de la sesión. Calidad del software Conceptos de Calidad Calidad del producto Calidad del proceso

Contenido de la sesión. Calidad del software Conceptos de Calidad Calidad del producto Calidad del proceso Contenido de la sesión Calidad del software Conceptos de Calidad Calidad del producto Calidad del proceso QUÉ ES CALIDAD DEL SOFTWARE? Pressman (Pressman, 1998) define la calidad del software como: la

Más detalles

PRINCE2 & TickIT. Jorge Armando Medina Morales. Código 1700321660. U n i v e r s i d a d D e C a l d a s. F a c u l t a d D e I n g e n i e r í a s

PRINCE2 & TickIT. Jorge Armando Medina Morales. Código 1700321660. U n i v e r s i d a d D e C a l d a s. F a c u l t a d D e I n g e n i e r í a s PRINCE2 & TickIT Jorge Armando Medina Morales Código 1700321660 U n i v e r s i d a d D e C a l d a s F a c u l t a d D e I n g e n i e r í a s I n g e n i e r í a D e S i s t e m a s O c t u b r e 2010

Más detalles

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred. cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.com CICLO DE VIDA DEL SOFTWARE Para apreciar un poco más el problema

Más detalles

IT Project Management Desarrollo de Software

IT Project Management Desarrollo de Software IT Project Management Desarrollo de Software Es posible una mezcla de Waterfall y Agile? Cómo se acerca el PMBOK a Agile? Autor: Norberto Figuerola Resulta muy frecuente que se suela confundir una aproximación

Más detalles

Curso: El Proceso de Desarrollo de Software

Curso: El Proceso de Desarrollo de Software Curso: El Proceso de Desarrollo de Software EL PROCESO DE DESARROLLO DE SOFTWARE... 1 OBJETIVO...1 CONTENIDO...1 BIBLIOGRAFÍA...4 DOCENTE...4 MODALIDAD DEL DESARROLLO...4 El proceso de Desarrollo de Software

Más detalles

Ingeniería de Sistemas I

Ingeniería de Sistemas I Ingeniería de Sistemas I Metodologías Ágiles 1 Agenda Metodologías Ágiles, Origen Valores y Principios de las Metodologías Ágiles Ejemplos de Metodologías Ágiles SCRUM XP SCRUM y XP Agilidad o Disciplina?

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 6. El proceso del software

Fundamentos de Ingeniería del Software. Capítulo 6. El proceso del software Fundamentos de Ingeniería del Software Capítulo 6. El proceso del software Cap. 6. El proceso del software. Estructura 1. El proceso software 2. Estándares en ingeniería del software Utilidad de los estándares

Más detalles

Eduardo Blanco, PMP Ingeniería de Desarrollo Software, Grupo SATEC. Universidad de Salamanca

Eduardo Blanco, PMP Ingeniería de Desarrollo Software, Grupo SATEC. Universidad de Salamanca Eduardo Blanco, PMP Ingeniería de Desarrollo Software, Grupo SATEC Agenda Caso práctico Introducción Una metodología CMMI Una empresa SATEC 2 Introducción De la Universidad a la Empresa En la Universidad

Más detalles

Sede y localidad Licenciatura en Sistemas

Sede y localidad Licenciatura en Sistemas Sede y localidad Carrera Viedma Licenciatura en Sistemas Programa de la asignatura Asignatura: Ingeniería de Software III Año calendario: 2012 Carga horaria semanal: 6 Carga horaria total: 96 Cuatrimestre:

Más detalles

Elaboración de planes de la calidad en proyectos de software

Elaboración de planes de la calidad en proyectos de software Elaboración de planes de la calidad en proyectos de software Amalia I. Álvarez Universidad ORT Uruguay, Laboratorio de Ingeniería de Software, Montevideo, Uruguay. alvarez_a@ort.edu.uy y Matilde López

Más detalles

Una meta un Equipo. www.cv-team.com es.group-sii.com @CVTeamSII #TalentoCVTeam #ExcelenciaTIC

Una meta un Equipo. www.cv-team.com es.group-sii.com @CVTeamSII #TalentoCVTeam #ExcelenciaTIC Una meta un Equipo Quiénes Somos Concatel Vanture Team - SII es una empresa especializada en servicios de Tecnologías de la Información y Comunicación (TIC) e Ingeniería para la gestión empresarial. Nuestra

Más detalles

Cómo Comprar Software de Calidad. Pablo Straub Consultor

Cómo Comprar Software de Calidad. Pablo Straub Consultor Cómo Comprar Software de Calidad Pablo Straub Consultor El Problema Testimonio de un comprador de software a medida Nos entregaron el sistema informático mucho después de la fecha original y nos costó

Más detalles

FORMULACION DE CRITERIOS PARA LA SELECCION DE METODOLOGIAS DE DESARROLLO DE SOFTWARE LEONARDO FLOREZ MARIN FELIPE GRISALES TOBON

FORMULACION DE CRITERIOS PARA LA SELECCION DE METODOLOGIAS DE DESARROLLO DE SOFTWARE LEONARDO FLOREZ MARIN FELIPE GRISALES TOBON FORMULACION DE CRITERIOS PARA LA SELECCION DE METODOLOGIAS DE DESARROLLO DE SOFTWARE LEONARDO FLOREZ MARIN FELIPE GRISALES TOBON UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS INGENIERIA EN

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

Modelos y Normas Disponibles de Implementar

Modelos y Normas Disponibles de Implementar Modelos y Normas Disponibles de Implementar AmericaVeintiuno tiene capacidad para asesorar a una organización en base a diferentes modelos o normativas enfocadas al mercado informático. A partir de determinar

Más detalles

INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN

INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN INSTITUTO TECNOLÓGICO SUPERIOR DE APATZINGÁN INVESTIGACIÓN DOCUMENTAL Alumno: Alejandra Virrueta Méndez Carrera: Ingeniería en Informática. Docente: Esmeralda Villegas Zamudio Asignatura: Fundamentos de

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Tabla de Contenidos PARTE I INTRODUCCIÓN Capítulo 1: Evolución Los hitos en la evolución histórica del Desarrollo de Software Problemas y soluciones... Fallas, malas estimaciones

Más detalles

Ingeniería de Software: Parte 2

Ingeniería de Software: Parte 2 Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Más detalles

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM CMM - Capability Maturity Model Estructura de CMM... Es un marco que describe los elementos claves de un proceso de software efectivo. Describe un camino de mejora evolutivo desde un proceso ad hoc inmaduro

Más detalles

Modelo de Capacidad y Madurez o CMM (Capability Maturity Model), es un modelo de evaluación de los procesos de una organización.

Modelo de Capacidad y Madurez o CMM (Capability Maturity Model), es un modelo de evaluación de los procesos de una organización. Anexo 1 CMMI - Capability Maturity Model Integration Modelo de Capacidad y Madurez o CMM (Capability Maturity Model), es un modelo de evaluación de los procesos de una organización. Fue desarrollado inicialmente

Más detalles

Desarrollo detallado de la fase de aprobación de un proyecto informático mediante el uso de metodologías ágiles.

Desarrollo detallado de la fase de aprobación de un proyecto informático mediante el uso de metodologías ágiles. Autor: Manuel Trigás Gallego Director de Proyecto: Ana Cristina Domingo Troncho Desarrollo detallado de la fase de aprobación de un proyecto informático mediante el uso de metodologías ágiles. Qué es un

Más detalles

Mejora del Proceso de Desarrollo de Software en los Sistemas Distribuidos en

Mejora del Proceso de Desarrollo de Software en los Sistemas Distribuidos en Mejora del Proceso de Desarrollo de Software en los Sistemas Distribuidos en el Centro Informático del INSS Técnico superior de Informática INSS María Isabel Vicente Hernández Técnico medio de Informática

Más detalles

Métodologías ágiles para el desarrollo de software: extreme Programming (XP)

Métodologías ágiles para el desarrollo de software: extreme Programming (XP) Métodologías ágiles para el desarrollo de software: extreme Programming (XP) Patricio Letelier y Mª Carmen Penadés Universidad Politécnica de Valencia Camino de Vera s/n, 46022 Valencia {letelier, mpenades}@dsic.upv.es

Más detalles

INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE Sira Vegas Hernández Ingeniería del Software II Octubre 2008 Índice Perspectiva histórica y conceptual de la IS Proceso software Ciclos de vida 2 PERSPECTIVA HISTÓRICA

Más detalles

Bachilleres: Bustamante Dayana C.I: 22.983.709 Rodríguez Jean C. C.I: 21.169.047

Bachilleres: Bustamante Dayana C.I: 22.983.709 Rodríguez Jean C. C.I: 21.169.047 UNIVERSIDAD NACIONAL EXPERIMENTAL DE LOS LLANOS OCCIDENTALES EZEQUIEL ZAMORA Ingeniería en Informática Subproyecto: Metodología de Desarrollo del Software Semestre VII Bachilleres: Bustamante Dayana C.I:

Más detalles

Calidad del Software. Índice de contenidos. Octubre - 2010. Introducción. Calidad y Administración Pública. Normas y estándares

Calidad del Software. Índice de contenidos. Octubre - 2010. Introducción. Calidad y Administración Pública. Normas y estándares Calidad del Software Octubre - 2010 Índice de contenidos Introducción Calidad y Administración Pública Normas y estándares 2 Octubre - 2010 1 Índice de contenidos Introducción Calidad y Administración

Más detalles

Metodologías de desarrollo y modelos de ciclo de vida. Pablo Burgos Casado (SGTIC) Ministerio Industria, Energía y Turismo

Metodologías de desarrollo y modelos de ciclo de vida. Pablo Burgos Casado (SGTIC) Ministerio Industria, Energía y Turismo Metodologías de desarrollo y modelos de ciclo de vida. Pablo Burgos Casado (SGTIC) Ministerio Industria, Energía y Turismo 1 Sumario 1. Introducción a las Metodologías 2. Métrica v3 3. Metodologías Agiles

Más detalles

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software IX Contenidos Prólogo... XIX Prefacio... XXI Guía de lectura...xxiii Parte I - Introducción Capítulo 1 - Evolución 1.1 Introducción... 2 1.2 Los hitos en la evolución histórica del desarrollo de software...

Más detalles

Ges3ón de Proyectos So9ware

Ges3ón de Proyectos So9ware Ges3ón de Proyectos So9ware Tema 2.1 Integración Carlos Blanco Bueno Félix Óscar García Rubio Este tema se publica bajo Licencia: Crea5ve Commons BY- NC- ND 4.0 Objetivos Ampliar los conocimientos básicos

Más detalles

De CMM (Capability Maturity Model) a CMMI (Capability Maturity Model Integration)

De CMM (Capability Maturity Model) a CMMI (Capability Maturity Model Integration) De CMM (Capability Maturity Model) a CMMI (Capability Maturity Model Integration) Preparado por: Amelia Soriano Alguna Bibliografía Carnagie Mellon - Software Engineering Institute, Capability Maturity

Más detalles

ESTÁNDARES Y MODELOS DE CALIDAD DEL SOFTWARE

ESTÁNDARES Y MODELOS DE CALIDAD DEL SOFTWARE ESTÁNDARES Y MODELOS DE CALIDAD DEL SOFTWARE INTRODUCCIÓN La calidad es un concepto complejo, que se viene aplicando en el campo de la informática desde hace muchos años, la aplicación de la calidad al

Más detalles

FÁBRICA DE SOFTWARE. Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP jmonteror@usmp.pe

FÁBRICA DE SOFTWARE. Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP jmonteror@usmp.pe FÁBRICA DE SOFTWARE Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP jmonteror@usmp.pe FÁBRICA DE AUTOS Entrada Salida Autos FÁBRICA DE SOFTWARE Entrada Salida Información

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Por qué definir un modelo de procesos?

Por qué definir un modelo de procesos? Por qué definir un modelo de procesos? Propuesta Administración de Proyectos Qué es un Proceso? Serie de pasos o actividades a realizar para transformar ciertas entradas en salidas. Procedimientos y Métodos

Más detalles

UNIVERSIDAD DE TALCA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA CIVIL EN COMPUTACIÓN

UNIVERSIDAD DE TALCA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA CIVIL EN COMPUTACIÓN UNIVERSIDAD DE TALCA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA CIVIL EN COMPUTACIÓN Estudio de las fortalezas y debilidades que exhiben los métodos ágiles en el contexto chileno de desarrollo de software:

Más detalles

CMMi. Lic. Virginia Cuomo

CMMi. Lic. Virginia Cuomo CMMi Lic. Virginia Cuomo 1 Agenda Repaso CMMI Introducción Arquitectura Niveles de Madurez Representaciones Representación Discreta Representación Continua Discreta VS Continua 2 Repaso Qué vimos la tercer

Más detalles

INGENIERÍA DE SOFTWARE AVANZADA

INGENIERÍA DE SOFTWARE AVANZADA INGENIERÍA DE SOFTWARE AVANZADA TEMA 4 CLAVE: MIS 410 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 1 4. CALIDAD DEL SOFTWARE 4.1 Definición de calidad 4.2 Características del software 4.3 Modelos de mejora

Más detalles

Gestión de Proyectos con Scrum, PMBOK y CMMI. c) 2010 Process Consulting- II Conferencia Internacional de CMMI(r) en Perú

Gestión de Proyectos con Scrum, PMBOK y CMMI. c) 2010 Process Consulting- II Conferencia Internacional de CMMI(r) en Perú Gestión de Proyectos con Scrum, PMBOK y CMMI Presentado por Process Consulting 1 Equipo de Instructores 40 años de experiencia en TI Más de 15 años de experiencia en mejora de procesos Certified ScrumMaster

Más detalles

Contextualizacion. La Actividad de Requisitos. La actividad de requisitos. Contextualización, gráficamente. Introducción

Contextualizacion. La Actividad de Requisitos. La actividad de requisitos. Contextualización, gráficamente. Introducción Contextualizacion La Actividad Requisitos Introducción Supongamos que este curso fuese un proyecto sarrollo software real. En qué estadio nos encontraríamos? Hemos finido el molo ciclo vida e instanciado

Más detalles

ASISTENCIA AUTOMÁTICA EN CERTIFICACIÓN BASADO EN EL ESTÁNDAR ISO 9001:2000

ASISTENCIA AUTOMÁTICA EN CERTIFICACIÓN BASADO EN EL ESTÁNDAR ISO 9001:2000 ASISTENCIA AUTOMÁTICA EN CERTIFICACIÓN BASADO EN EL ESTÁNDAR ISO 9001:2000 Proyecto de tesis de Alumno: Licenciado Carlos G. Rivero Bianchi Director: M. lng. Paola Britos Radicación: Centro de Ingeniería

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Fundamentos de las metodologías ágiles

Fundamentos de las metodologías ágiles Fundamentos de las metodologías ágiles Sesión 3 Manifiesto ágil Manifiesto ágil Año: 2001 El manifesto ágil no representa la invención de las metologías ágiles, sino su presentación en sociedad Muchas

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles