El inicio de una buena relación Sonia I. López Pérez Oportunidades para la Industria Española del Software en la Economía Global Este genio no se entera de nada! Este mortal no sabe lo que quiere Oportunidades para la Industria Española del Software en la Economía Global ¿Por qué hablar de Requisitos? Distribución de Defectos Distribución de esfuerzo en reparación de Defectos Diseño 27% Requisitos 56% Requisitos 82% Código 7% Fuente: James Martin Diseño 13% Otros 4% Código 1% Otros 10% Fuente: Dean Leffingwell Oportunidades para la Industria Española del Software en la Economía Global ¿Por qué hablar de Requisitos? Boehm, 1975: 45% de los errores tienen su origen en los requisitos y en el diseño preliminar. DeMarco, 1984: 56% de los errores que tienen lugar en un proyecto software se deben a una mala especificación de requisitos. Chaos Report, 1995: Los factores principales que conducen al fracaso en los proyectos Software son: Falta de comunicación con los usuarios Requisitos incompletos Cambios a los requisitos Oportunidades para la Industria Española del Software en la Economía Global La fábrica de software: dos aspectos Desarrolla un producto software Requisitos del Software Requisitos del cliente Requisitos del producto Presta un servicio Alcance del servicio Requisitos de Nivel de Servicio Requisitos del cliente Requisitos internos de la organización de TI Aspectos cuantitativos del servicio Aspectos cualitativos del servicio Oportunidades para la Industria Española del Software en la Economía Global Una visión global e integrada PRODUCTO DESARROLLO MANTENIMIENTO OPERACIÓN Entrega al cliente Ciclo de Vida SERVICOS Requisitos de Producto SERVICOS Solicitudes del cliente Gobierno Oportunidades para la Industria Española del Software en la Economía Global Entrega al cliente SERVICOS SERVICOS Solicitudes del cliente Buenas Prácticas de la Industria Oportunidades para la Industria Española del Software en la Economía Global La fábrica de software: el producto Desarrolla un producto software Requisitos del Software Requisitos del cliente Requisitos del producto Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda CMMi ? Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda CMMi ? Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda CMMi ? Desarrollo y Gestión de Requisitos? 1. Gestión de Requisitos. Asegurar que los requisitos están libres de inconsistencias no solo entre los propios requisitos sino entre éstos y los work products. Se gestionan requisitos funcionales y no funcionales, generados por el cliente o por las propias necesidades del producto. Incluye actividades de revisión, documentación, gestión de cambios, etc. 2. Desarrollo de Requisitos. Analizar las decisiones tomadas a lo largo del desarrollo para conocer su impacto en los requisitos. Crear y analizar los tres tipos de requisitos identificados por CMMi: de cliente, de producto y de los componentes del producto. Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda CMMi ? (staged) Gestión de Requisitos (Engineering-REQM) SG1 Gestión de Requisitos SP 1.1 Obtener y entender los requisitos SP 1.2 Obtener acuerdos sobre los Requisitos SP 1.3 Gestionar los cambios en los Requisitos SP 1.4 Mantener trazabilidad bidireccional SP 1.5 Identificar inconsistencias entre el trabajo del proyecto y los Requisitos Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda CMMi ? (staged) Desarrollo de Requisitos (Engineering-RD) SG1 Desarrollo de Requisitos de Cliente SP1.1 Elicitar las necesidades SP1.2 Desarrollar las necesidades del cliente SG2 Desarrollo de Requisitos de Producto SP 2.1 Establecer Requisitos de Producto y Producto-Componente SP 2.2 Asignar Requisitos de Producto-Componente SP 2.3 Identificar Requisitos de Interface SG 3 Analizar y validar los Requisitos SP 3.1 Establecer conceptos operacionales y escenarios SP 3.2 Establecer una deficinicón de la funcionalidad requerida SP 3.3 Analizar los Requisitos SP 3.4 Analizar los Requisitos para alcanzar un equilibrio SP 3.5 Validar los Requisitos con método exhaustivos Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda CMMi ? Fuentes de requisitos Los procesos de negocio. Los interesados (stakeholders). Los afectados por el sistema. Conocimiento del dominio de la aplicación. El entorno físico que rodea al sistema. El entorno organizacional. Oportunidades para la Industria Española del Software en la Economía Global Requisitos de Producto: Estandares, Normas, ... IEEE Std. 610.12-1990 Glosario estándar de terminología de Ingeniería del Software IEEE 830-1998 Estándar para especificación de requisitos software IEEE Std. 829-1983 Estándar para documentación de pruebas del software DoD: DI-IPSC-81431, DI-IPSC-81434, DI-IPSC-81441 Estándares para especificación de requisitos software SMAP-DID-P200-SW Estándar de la NASA para el SRS ESA-PSS-05 Estándares y Guías para Ingeniería del Software de la Agencia Espacial Europea ISO/IEC TR 15504 ó SPICE Oportunidades para la Industria Española del Software en la Economía Global Requisitos de Producto: Métodos de especificación ENTENDIMIENTO + Lenguaje natural Lenguaje estructurado Metodologías Case, etc. Especificaciones formales, UML, etc + PRECISIÓN Oportunidades para la Industria Española del Software en la Economía Global Requisitos de Producto: Características Especificado por escrito Completos Sin conflictos, consistentes No redundantes Entendible ( claros, sin ambigüedades ) Posible de probar o verificar Posibles de hacerles cambios No describir ningún detalle del diseño del software, de su verificación o de la dirección del proyecto Que recojan las expectativas y necesidades actuales y futuras de los usuarios. Incluir requisitos negativos si es necesario Oportunidades para la Industria Española del Software en la Economía Global La fábrica de software: el servicio Presta un servicio Alcance del servicio Requisitos de Nivel de Servicio Requisitos del cliente Requisitos internos de la organización de TI Aspectos cuantitativos del servicio Aspectos cualitativos del servicio Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda ITIL ? Niveles de Madurez PMF Sistemas certificables: BS 15000 e ISO 20000 Profesionales certificables (EXIN, ISEB) Foundation Certificate in IT Service Management Practitioner's Certificate in IT Service Management Manager's Certificate in IT Service Management Vigente la versión 2 de ITIL OGC e itSMF están trabajando actualmente en la actualización de ITIL. La nueva versión aparecerá en el 2006. Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda ITIL ? IT Infrastructure Library Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda ITIL ? Service Delivery Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda ITIL ? Proceso de Gestión de los Niveles de Servicio Identificación Comprensión Procesos de Negocio del cliente Identificación de Requisitos Definición Definición de Requisitos Finalización Negociar con el cliente los ANS Monitorización Monitorizar los ANS Información Informar al cliente y a nuestra organización de los niveles alcanzados Revisión Identificar oportunidades de mejora Oportunidades para la Industria Española del Software en la Economía Global ¿ Cómo nos ayuda ITIL ? Cambios en los Requisitos de Servicio Oportunidades para la Industria Española del Software en la Economía Global La fábrica de software: integración Presta un servicio Alcance del servicio Requisitos de Nivel de Servicio Requisitos del cliente Requisitos internos de la organización de TI Aspectos cuantitativos del servicio Aspectos cualitativos del servicio Desarrolla un producto software Requisitos del Software Requisitos del cliente Requisitos del producto Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Procesos/Funciones ITIL Áreas de Procesos CMMI Configuration Management Configuration Management Change Management Release Management Incident Management Verification Causal Analysis & Resolution Problem Management ??? Service Desk Service Level Management Application Management Requirements Management Requirements Development Technical Solution Product Integration Verification, Validation Integrated Project Management. Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Requirements Application Management Procesos/Funciones ITIL Functional requirements. Non-functional requirements. Usability requirements. Change cases. Testing requirements. Requirements management checklist. Organization of the requirements team. Áreas de Procesos CMMI Requirements Management (PA: Engineering) SG1 Manage requirements Obtain understanding of requirements Obtain commitment to requirements Manage requirements changes Maintain bi-directional traceability Identify inconsistencies between project work and Requirements Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Áreas de Procesos CMMI Requirements Development (PA: Engineering) SG 1 Develop customer requirements Requirements Application Management Procesos/Funciones ITIL Functional requirements Non-functional requirements Usability requirements Change cases Testing requirements Requirements management checklist Organization of the requirements team Elicit needs Develop the customer requirements SG 2 Develop product requirements Establish product & product-component reqts. Allocate product-component reqts. Identify interface requirements SG 3 Analyze and validate requirements Establish operational concepts & scenarios Establish definition of required functionality Analyze requirements Analyze requirements to achieve balance Validate reqts with comprehensive models Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Design Application Management Procesos/Funciones ITIL Design for non-functional requirements/manageability. Risk-driven scheduling. Managing tradeoffs. Application-independent design guidelines and application Frameworks. Design management checklist. Problems with design guidelines. Testing the requirements. Organization of the design team. Áreas de Procesos CMMI Technical Solution (PA: Engineering) SG 1 Select product component solutions – Develop detailed alternatives and selection criteria – Evolve operational concepts & scenarios – Select product component solutions SG 2 Develop the design Design the product or product component solution Establish a technical data package Design interfaces using criteria Perform make, buy, or reuse analyses SG 3 Implement the product design Implement the design Develop product support documentation Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Áreas de Procesos CMMI Product Integration (PA: Engineering) SG1 Prepare for product integration Build Application Management Procesos/Funciones ITIL Consistent coding conventions. Application-independent building Guidelines. Operability testing. Build management checklist. Organization of the build team . – Determine integration sequence – Establish the integration environment – Establish integration procedures and criteria SG 2 Ensure interface compatibility Review interface description for completeness Manage interfaces SG 3 Assemble product deliver product Confirm readiness for integration Assemble product components Evaluate assembled components Package and deliver the product or component Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Áreas de Procesos CMMI Verification (PA: Engineering) SG1 Prepare for verification Build Application Management Procesos/Funciones ITIL Consistent coding conventions. Application-independent building Guidelines. Operability testing. Build management checklist. Organization of the build team . – Select work products for verification – Establish the verification environment – Establish verification procedures and criteria SG 2 Perform peer reviews Prepare for peer reviews Conduct peer reviews Analyze peer review data SG 3 Analyze selected work products Perform verification Analyze verification results and identify corrective action Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Punto Crítico de la integración: Service Desk Aportación de ITIL a CMMi Punto único de contacto con usuarios Consultas sobre servicios o productos Problemas en servicios o productos Solicitudes de cambios en servicios o productos Cubre más funcionalidad que el Help Desk tradicional No gestiona solo problemas Proporciona información relevante: – – Al cliente: funcionamiento de los sistemas, estado de los servicios A la Fábrica de Software: información detallada acerca de las incidencias facilitando la detección de mejoras y solución de posibles problemas Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Requisitos Aunque son modelos distintos enfocados a diferentes áreas de TI existen relaciones y coincidencias entre ambos modelos pudiéndose generalizar algunos procesos y prácticas Gestión de Requisitos Gestión de Configuración Gestión de Cambios Gestión de Releases Verificación y Validación Gestión de Incidencias y Problemas Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Recomendaciones Variantes de implantación: a) Tratar los servicios usando CMMi b) Tratar los servicios como productos usando CMMi Requiere interpretación para ajuste c) Tratar el desarrollo de productos con CMMi, los servicios usando ITIL e integrando los procesos de ITIL y CMMi Los grupos de explotación que gestionan la operación y servicio deben participar en el establecimiento de requisitos de los productos que van a ser desarrollados o mejorados con los requisitos del servicio que faciliten la operación de éste Oportunidades para la Industria Española del Software en la Economía Global Integración ITIL / CMMi: Recomendaciones Gestionar eficazmente CMMI e ITIL en una organización requiere: Definir claramente el interfaz entre los procesos de ambos Definir las fronteras de responsabilidades entre las organizaciones de desarrollo y explotación Estudiar en detalle la información que comparten ambos grupos de procesos. Entradas a procesos CMMI que provienen de salidas de ITIL Entradas a procesos de ITIL que provienen de procesos de CMMI Oportunidades para la Industria Española del Software en la Economía Global Beneficios Mejora la predictibilidad en tiempo y presupuesto (20% aprox.) Mejorar plazos de entrega y tiempo en el desarrollo de un proyecto Mejorar la disponibilidad, confianza y seguridad de los servicios IT de misión crítica Incremento de la calidad en productos y servicios Incrementa la satisfacción del cliente un 30% aprox. (mayor cooperación y menores defectos) Decrece costes de no calidad (con la detección de errores en etapas tempranas) Proporcionar servicios que se adecuen a las necesidades del negocio, del cliente y del usuario Oportunidades para la Industria Española del Software en la Economía Global Referencias de interés www.itgi.org IT Governance Institute www.isaca.org Information Systems Audit and Control Assoc. www.itil.co.uk UK Office of Government Commerce www.itsmf.com IT Service Management Forum www.sei.cmu.edu Software Engineering Institute http://seir.sei.cmu.edu SEIR (SEI Repository) www.ndia.org National Defense Industrial Assoc. Oportunidades para la Industria Española del Software en la Economía Global Sonia I. López Pérez Gerente Consultoría [email protected] Tecnología y Calidad de Software, S.A. C/ Chile, 4 Edificio II Oficina 20 28290 Las Rozas www.tqs-es.com Oportunidades para la Industria Española del Software en la Economía Global Oportunidades para la Industria Española del Software en la Economía Global Oportunidades para la Industria Española del Software en la Economía Global ANEXO: CMMI Oportunidades para la Industria Española del Software en la Economía Global Gestión de Requisitos (Engineering-REQM) Subprácticas SP 1.1 Obtener y entender los requisitos Establish criteria for distinguishing appropriate requirements providers Establish objective criteria for the acceptance of requirements. Analyze requirements to ensure that the established criteria are met. Reach an understanding of the requirements with the requirements provider so the project participants can commit to them. Subpr. SP 1.2 Obtener acuerdos sobre los Requisitos Assess the impact of requirements on existing commitments. Negotiate and record commitments Oportunidades para la Industria Española del Software en la Economía Global Gestión de Requisitos (Engineering-REQM) Subprácticas SP 1.3 Gestionar los cambios en los Requisitos Capture all requirements and requirements changes that are given to or generated by the project Maintain the requirements change history with the rationale for the changes. Evaluate the impact of requirement changes from the standpoint of relevant stakeholders. Make the requirements and change data available to the project. Oportunidades para la Industria Española del Software en la Economía Global Gestión de Requisitos (Engineering-REQM) Subprácticas SP 1.4 Mantener trazabilidad bidireccional Maintain requirements traceability to ensure that the source of lower level (derived) requirements is documented. Maintain requirements traceability from a requirement to its derived requirements as well as to its allocation of functions, objects, people, processes, and work products Maintain horizontal traceability from function to function and across interfaces Generate the requirements traceability matrix. Oportunidades para la Industria Española del Software en la Economía Global Gestión de Requisitos (Engineering-REQM) Subprácticas SP 1.1 Obtener y entender los requisitos Establish criteria for distinguishing appropriate requirements providers Establish objective criteria for the acceptance of requirements. Analyze requirements to ensure that the established criteria are met. Reach an understanding of the requirements with the requirements provider so the project participants can commit to them. Oportunidades para la Industria Española del Software en la Economía Global ANEXO: CMMI Oportunidades para la Industria Española del Software en la Economía Global Spec. Practices Desarrollo de Requisitos (Engineering-RD) SG 1 Desarrollar Requisitos de Cliente Elicit Needs Develop the Customer Requirements Spec.Practices SG 2 Desarrollar Requisitos de Producto Establish Product and Product-Component Requirements Allocate Product-Component Requirements Identify Interface Requirements Oportunidades para la Industria Española del Software en la Economía Global Desarrollo de Requisitos (Engineering-RD) Specific Practices SG 3 Analizar y validar los Requisitos Establish Operational Concepts and Scenarios Establish a Definition of Required Functionality Analyze Requirements Analyze Requirements to Achieve Balance Validate Requirements with Comprehensive Methods Oportunidades para la Industria Española del Software en la Economía Global ANEXO: ITIL Oportunidades para la Industria Española del Software en la Economía Global Requisitos de Nivel de Servicio Ejemplo de Diseño de Servicio Alcance: desarrollo, mantenimiento y operación de todos los sistemas de información del ERP. Requisitos: 1. Los mantenimientos correctivos tendrán prioridad sobre los mantenimientos evolutivos y los nuevos desarrollos. 2. Cada fin de mes se dará prioridad a los procesos de facturación sobre la operación o corrección de cualquier otro sistema. 3. Cada fin de año se dará prioridad a los procesos de cierre contable sobre la operación o corrección de cualquier otro sistema. Oportunidades para la Industria Española del Software en la Economía Global Requisitos de Nivel de Servicio Ejemplo de Diseño de Servicio Dpto. Ventas Dpto. Att. Cliente Dpto. Logística Dpto. Compras Dpto. RRHH Servicios: Dpto. Financiero Alcance: desarrollo, mantenimiento y operación de todos los sistemas de información del ERP. Mantenimiento Correctivo Mantenimiento Evolutivo Operación Nuevos desarrollos Oportunidades para la Industria Española del Software en la Economía Global Requisitos de Nivel de Servicio Ejemplo de Diseño de Servicio Servicio: Mantenimiento Correctivo - Dpto Financiero Requisitos: Los mantenimientos correctivos que se precisen para solventar un incidente en explotación deberán ser realizados e implantados no más allá de 3 horas desde la detección del incidente. Servicio: Operación - Dpto Financiero Requisitos: El primer día laborable de Enero se realizarán los procesos de cierre contable. Los procesos no tendrán una duración superior a 24 horas. Oportunidades para la Industria Española del Software en la Economía Global