Experiencia en implantación de una metodología

Slides:



Advertisements
Presentaciones similares
Open RA 10/25/00 EEM/TD/LQ M. F. Juan 1 La Función de Calidad en los Proyectos de Desarrollo de Software Manuel F. Juan Martínez Juan López Espinosa Centro.
Advertisements

VALORACIÓN Y SELECCIÓN DE INVERSIONES EN RECURSOS INFORMÁTICOS
Caso de Éxito: Team System, CMMI, Metodologías Ágiles
Nuevos Paradigmas del Desarrollo: Metodologías Ágiles, Team Foundation Server y CMMI. Pablo Herraiz Consultor Calidad y Procesos
Metodologías ágiles.
Sambayón PMP Evaluator
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.
CMMI.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
INTRODUCCIÓN A CMMI V
TOGAF.
Proceso de Originación de Crédito: Banco de los Alpes
Ing. Del software III No se ha podido completar la funcionalidad completa de las aplicaciones para el maître y para el jefe de cocina, por falta.
Proyecto de Ingeniería de Software 2008
Visual Studio 2005 Gestión del Ciclo de Vida Jose Murillo Responsable programas técnicos para Fabricantes.
Red Social Universitaria
Ingeniería del Software
Modelado de Procesos en la Ingeniería de Requerimientos
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
Prominente S.A. Coordinación de Outsourcing. Agenda  Introducción  Objetivos  Diagnostico  Diseño de solución  Conclusión Universidad Kennedy Calidad.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Fase Inicial Grupo 6 – PIS – 2013.
Aplicación Web para Informes de Asignaturas de Trabajo en Grupo
Rational Unified Process (RUP)
Ingenieria de software
Técnicas de Calidad en el Software
CMMI Carlos Mario Zapata J. 4/13/2017 Calidad de Software.
Contexto Proyecto consolidado dentro de la línea de investigación de Sistemas de Información en el Dpto. de Ingeniería en Sistemas de Información de la.
Ciclo de vida de la administración de servicios de TI
Metodología para el desarrollo de Software educativo POO
EDUAR 2.0 Sistema de Explotación de Información Educativa 10/05/2011.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Rational Unified Process (RUP)
2.- Planificación Básica DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Gestión de la Configuración
Ximena Romano – Doris Correa
Ciclo Iterativo - Incremental Fase de Iteración Elaborado por: Analista: Diseñador: Desarrollador: Ing. de Pruebas:
Proyecto I Maestría en Gerencia de Sistemas
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
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:
Especialización en Desarrollo de Software
El rol de SQA en PIS.
ASIGNACIÓN DE ROLES.
Roles de Open UP.
Cátedra de Habilitación Profesional
Scrum Una Alternativa Ágil para el desarrollo de Software
1 Motor de Generación de Formularios para Infocorp Presentación del Proceso.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
PROCESOS DE DESARROLLO DE SOFTWARE
Estructurar tus ideas para hacerlas realidad
REVISION Y AUDITORIA.
FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA:
Grupo 02 Software para validación de firmas para procesos electorales a nivel nacional.
Metodología del Ciclo de Vida del Software
GDITool. Temario Presentación del ProyectoCiclo de VidaPlanificaciónMetodología de TrabajoAlcanceEstimaciónUML AnálisisUML DiseñoArquitectura del SistemaTecnologías.
2015 DIPLOMADO EN DISEÑO E IMPLEMENTACIÓN DE PRODUCTOS ELECTRÓNICOS CODIGO: Director: Miguel Ariza Triviño M.Sc. Escuela de Ciencias Básicas, Tecnología.
Evolución y comportamiento del Sector TICs Praxis & Technology Group PraTech METODOLOGÍA DE CALIDAD.
Software de Comunicaciones
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Sobre el Proceso Racional Unificado RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cómo, cuándo y qué.
P ROCESO U NIFICADO R ACIONAL R ATIONAL U NIFIED P ROCESS.
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.
Utilizando la Metodología RUP:: Desarrollo de un Sistema de Gestión:: MSc. Manuel Sánchez Chero IntroducciónGestión.
Entregables del Proyecto
Seminario de Sistemas Distribuidora Autores: Silvana Bassi Federico Albera Director: Lic. José A. Peralta Febrero de 2008.
Fase de Inicio Proceso Unificado de Desarrollo de Software.
Transcripción de la presentación:

Experiencia en implantación de una metodología José Manuel Portero García Universidad de Huelva

Índice Contexto Situación actual Metodología de trabajo Herramientas Un día de trabajo Conclusiones

Contexto Objetivos: Comentar trabajo de un equipo desarrolladores, en la actualidad en la UHU, para que esta experiencia sea útil en un contexto profesional. Primera charla de una serie de charlas que profundizarán en cada uno de los aspectos de se presentan.

Contexto Colaboración entre The Distributed Group (TDG) y una empresa del tejido industrial andaluz para: Aumentar el nivel de calidad de la empresa. Crear una EBT. · Esta charla se desarrolla en el contexto de colaboración entre el grupo de investigación TDG y una empresa del tejido industrial andaluz” · Se desea aumentar el nivel de calidad de la empresa, aventajando a otras del mismo sector en este aspecto.” · La EBT a formar tendría las siguientes características: - Modelo de la fábrica de software. - Sede en Huelva y disponible a finales de 2009 - Especialización en desarrollo de software de calidad. · Actualmente el grupo incipiente trabaja en implantar un método de trabajo que se heredará al finalizarlo.

Contexto El TDG está interesado en definir su metodología de trabajo para sus desarrollos software. Killer application. Implementación de extractores de información. Verificadores de información. … El grupo de investigación está interesado en definir una metodología ágil, adaptada a proyectos de investigación para el desarrollo software que lleva a cabo. - El objetivo de la siguiente charla es ir contando esta metodología del TDG que se va a alimentar de las experiencias que se va a contar en esta presentación.

Situación actual

Situación de partida En las empresas y grupos de investigación se desarrollan diversos tipos de proyectos. Diferentes tipos de clientes con requisitos muy diversos. - Diferentes líneas de negocio. Aplicaciones con requisitos muy diferentes. Una metodología poco apropiada puede no adaptarse a todos estos tipos de proyectos.

Problemas Los equipos de trabajo tienen un cierto nivel de independencia entre ellos. En cada grupo de trabajo, el jefe de proyecto tiene la última decisión sobre la estrategia a seguir. Los jefes de proyectos tienen que realizar un seguimiento manual de las actividades. Los equipos de trabajo tienen un cierto nivel de independencia entre ellos. Especialización en una línea de negocio diferente. Diferentes herramientas para el desarrollo de proyectos distintos. En cada grupo de trabajo, el jefe de proyecto tiene la última decisión sobre la estrategia a seguir. Diferentes metodologías dentro de la misma empresa. Adaptación de un nuevo desarrollador procedente de otro grupo de trabajo. Licencias software. Los jefes de proyectos tienen que realizar un seguimiento manual de las actividades. Es difícil realizar y seguir una planificación. Es muy costoso mantener la lista de tareas actualizada y conocer el estado de ellas. No se dispone de mecanismos que agilicen la comunicación entre integrantes del mismo equipo. La revisión del trabajo tiene que ser individual.

Problemas Los analistas y arquitectos no disponen de una documentación adecuada de los proyectos. Los desarrolladores no tienen un marco de desarrollo estándar. No hay definido un plan de pruebas ni de control de calidad, o bien este es básico e incompleto. Los analistas y arquitectos no disponen de una documentación adecuada de los proyectos. No se reutiliza apenas la información de proyectos anteriores. La falta de documentación en los problemas en desarrollo dificultan la comunicación entre los participantes. No hay una definición completa del problema y cae en los niveles últimos la toma de decisiones de diseño. Los desarrolladores no tienen un marco de desarrollo estándar. Coexistencia de equipos que desarrollan bajo diferentes sistemas operativos. Las versiones de las aplicaciones y sus componentes no siempre coinciden en todos los equipos. El programador, en última instancia, elige su aplicación favorita entre las que están disponibles.

Problemas Consecuencias 1.- Retrasos en los proyectos y aumento del coste del mismo. 2.- Prisas en el proyecto que reducen la calidad del software. 3.- Posible suspensión del proyecto. 4.- No se guarda un historial de los proyectos.

Excelencia operativa Solución Estrategia de mejora de los procesos internos de trabajo a través del establecimiento de una metodología específica que permita lograr los objetivos de calidad y eficiencia en el desempeño diario. - Apoya las áreas de negocio, desarrollo y producción de los diferentes sectores de la empresa.

Excelencia Operativa Descansa en tres conceptos: Calidad Eficiencia Productividad

Excelencia Operativa Ejes de la estrategia de mejora CMMi ITIL OpenUP CMMi: Modelo de proceso que estructura, controla y mejora los procesos y productos. Obtener un nivel de madurez CMMi es obtener un reconocimiento local, nacional e internacional. ITIL: Marco de referencia para la gestión de los sistemas de producción, mantenimiento y gestión de garantías. OpenUP: Metodología UP.

4. Gestionado cuantitativamente CMMi 5.Optimizado 4. Gestionado cuantitativamente 3. Definido 2. Gestionado 1.- En el nivel de madurez 1, los procesos son adhoc y caóticos. · Dependencia de héroes. · Se invierte demasiado dinero en los proyectos. · Se abandonan los procesos en momentos de crisis y no se repiten sus éxitos. 2.- En el nivel de madurez 2, los procesos disponen de gestión de requisitos y se planifican, ejecutan, miden y controlan los procesos. · La disciplina garantiza el mantenimiento en momentos de estrés. · Se hace uso de los work products. 3.- En el nivel de madurez 3, los procesos están bien definidos y entendidos y se emplean estándares, procedimientos, herramientas y métodos. · La organización establece y mejora su proceso. · En nivel 2, los estándares, procesos, descripciones y procedimientos pueden ser muy diferentes en cada proyecto, mientras que en el nivel 3 se adaptan a cada proyecto. · En este nivel los procesos se describen de manera más rigurosa. 4.- En el nivel de madurez 4, la organización y los proyectos establecen objetivos cuantitativos para la calidad y la ejecución de procesos y los emplea como criterios en la gestión de procesos. · A nivel 4, la ejecución de procesos se controla mediante técnicas cuantitativas o estadísticas y es predecible. 5.- En el nivel de madurez 5, la organización mejora continuamente sus procesos basados en una comprensión cuantitativa de las causas comunes de variación inherentes en los procesos. · Se mejora continuamente el proceso, innovándolo y mejorando la tecnología. 1.Inicial

CMMi Para llegar a nivel 3: Decision Analysis and Resolution Integrated Project Management Integrated Teaming Organizational Environment for Integration Organizational Process Definition Organizational Process Focus Organizational Training Product Integration Requirements Development Risk Management Technical Solution Validation Verification Transparencia finalmente omitida.

ITIL Marco de trabajo de las mejores prácticas destinadas a facilitar la entrega de servicios de tecnologías de la información. ITIL se compone de los siguientes procesos de base: Gestión de incidencias Gestión de problemas Gestión del cambio Gestión de despliegue Gestión de la configuración en producción

Metodología de trabajo

OpenUP Metodología ágil basada en UP. - Es libre y adaptable a las necesidades de cada empresa. - Simplifica RUP eliminando algunas disciplinas y roles. - Se enfoca en mitigar los riesgos desde el principio y se centra en la arquitectura.

OpenUP Conceptos a tratar: Incremento. Iteración. Ciclo de vida del proyecto. Entrega. Fases.

OpenUP Disciplinas: Gestión de proyecto Requisitos Arquitectura Desarrollo Pruebas Gestión de proyecto: - Establecer un consenso con los stakeholders sobre las tareas más prioritarias. - Estimular la colaboración en el equipo. - Fomentar las pruebas continuas del software. - Contribuir a las creación de entorno de trabajo que maximice la productividad. - Mantener a todos los implicados en el proceso informados. - Proveer un mecanismo para la gestión de riesgos y adaptarse a los cambios. Requisitos: - Entender el problema a resolver. - Entender las necesidades del cliente. - Definir los requisitos funcionales. - Definir la frontera del sistema. - Identificar las interfaces externas del sistema. - Identificar las restricciones de la solución. - Proveer las bases para planificar las iteraciones. - Proveer las bases para estimar costes y planificar. Arquitectura: - Construir una arquitectura robusta para el sistema. Desarrollo: - Transformar los requisitos en el diseño del futuro sistema. - Adaptar el diseño a un entorno de implementación. - Construir el sistema de manera incremental. - Verificar que las unidades técnicas empleadas para construir el sistema funcionan como se ha especificado. Pruebas: - Comprobar que el sistema cumple los requisitos. - Medir el progreso en pequeños incrementos. - Identificar problemas con la solución. - Asegurar que los cambios en el sistema no introducirán nuevos defectos. - Acelerar el proceso facilitando el descubrimiento de problemas con requisitos, diseños e implementaciones tan pronto como sea posible.

OpenUP Roles: Stakeholder Gestor de proyecto Analista Arquitecto Desarrollador Probador Cualquier rol - Stakeholder: · Interesado en la consecución del proyecto. - Gestor de proyecto: · Planifica el proyecto, coordina interacciones con los Stakeholders y mantiene al equipo centrado en conseguir los objetivos. - Analista: · Representa al cliente obteniendo información sobre lo que quiere. · Entiende el problema a resolver. · Captura y establece la prioridad de los requisitos. - Arquitecto: · Define la arquitectura software. · Realiza las decisiones técnicas que condicionan el diseño e implementación del sistema. - Desarrollador: · Responsable de desarrollar una parte del sistema, incluyendo diseñarlo para ajustarse a la arquitectura, prototipado de la interfaz de usuario para luego implementarlo, hacer pruebas unitarias e integrar los componentes. - Tester: · Realiza pruebas de esfuerzo.

OpenUP Work products: Gestión de proyecto Arquitectura Desarrollo Lista de riesgos Cuaderno de arquitectura Lista de unidades de trabajo Desarrollo Implementación Plan de iteración Ejecutable Plan de proyecto Diseño Requisitos Pruebas de desarrollo Glosario Pruebas Visión Caso de prueba Requisitos del sistema Script de prueba Modelo de casos de uso Log de prueba Casos de uso

OpenUP Flujo de trabajo: Fase de inicio

Herramientas

Características Colaboran en la puesta en práctica de la metodología. Citaremos aplicaciones libres que funcionan bajo Linux.

OSRMT Herramienta de gestión de requisitos. Permite la trazabilidad de características, requisitos, diseño, implementación y pruebas. Modificado para la generación del documento de Visión, ERS y Test Case. Modos de funcionamiento. Base de datos.

OpenProj Herramienta de gestión de proyectos. Clon de Microsoft Project.

Redmine Gestor de proyectos con interfaz web. Múltiples capacidades y ampliable mediante plugins. Multiple projects support Flexible role based access control. Flexible issue tracking system Gantt chart and calendar News, documents & files management Feeds & email notifications. Per project wiki Per project forums Simple time tracking functionality Custom fields for issues, projects and users SCM integration (SVN, CVS, Git, Mercurial, Bazaar and Darcs) Multiple LDAP authentication support User self-registration support Multilanguage support Multiple databases support

Bouml Herramienta de modelado UML 2. Generación de código en C++, Java, Idl, Php y Python. Extensible mediante plugouts.

Eclipse Entorno de desarrollo multilenguaje. Extensible con gran cantidad de plugins.

Un día de trabajo

Todos los roles Gestor de repositorio

Todos los roles Peticiones asignadas

Todos los roles Realizar una petición

Todos los roles Foro de consulta y discusión

Jefe de proyecto Revisar peticiones

Jefe de proyecto Nivel de realización de las tareas.

Jefe de proyecto Consulta del repositorio

Jefe de proyecto Planificación de tareas

Analista Gestión de requisitos.

Modelador Modelo de negocio. Diagrama de casos de uso.

Modelador Diagramas de clases / secuencia / colaboración.

Modelador Diagrama de despliegue

Modelador Generación de XMI para AndroMDA

Modelador Generación automática de documentos

Modelador Generación de clases de prueba.

Desarrollador Desarrollo en Java

Desarrollador Ver las tareas asignadas de redmine

Desarrollador Sincronización con el repositorio

Conclusiones

Conclusiones