Seminario MIS - CIMAT Perfil del Ingeniero de Requerimientos Jaime F. Castillo. CIP
Agenda Objetivo Definición de Requerimiento Niveles de Requerimientos Disciplina de la Ingeniería de Requerimientos Roles en la Ingeniería de Requerimientos (IR) Tareas del IR Habilidades del IR Conocimientos del IR Case de Estudio Conclusiones Comentarios y Preguntas
Objetivos Comprender las bases de la Ingeniería de Requerimientos Analizar la importancia de los conocimientos, habilidades y competencias que se requieren para conformar el perfil de Ingeniero de Requerimientos.
Definición de requerimiento La IEEE Standard Glossary of Software Engineering Terminology (1990), define un requerimiento como: Condición o capacidad que necesita un usuario para resolver un problema o lograr un objetivo. Condición o capacidad que tiene que ser alcanzada o poseída por un sistema o componente de un sistema para satisfacer un contrato, un estándar, especificación u otro documento impuesto formalmente.
Definición de requerimiento Wiegers piensa que un requerimiento es una propiedad que un producto debe tener para proveer valor a un stakeholder.
Niveles de requerimientos
Niveles de requerimientos Requerimientos de Negocio Representan los objetivos de alto nivel de la organización o del cliente que requiere el sistema. Los requerimientos de negocio típicamente provienen del patrocinador principal del proyecto, el cliente, el administrador de los usuarios actual o el departamento de mercadotecnia.
Niveles de requerimientos El documento donde se registran los Requerimientos de Negocio es conocido como: Visión y Alcance Project Charter Documento de requerimientos de mercado
Niveles de requerimientos Requerimientos de usuario Describen los objetivos del usuario o tareas que los usuarios deben de ser capaces de ejecutar con el producto. Las formas para representar requerimientos de usuario incluyen: Casos de uso Descripciones de escenario Tablas de evento-respuesta
Niveles de requerimientos Los requerimientos de usuario describen por lo tanto qué es lo que el usuario es capaz de hacer con el sistema. Un ejemplo de un caso de uso es Hacer una reservación en una línea aérea, a través de una página web.
Niveles de requerimientos Requerimientos funcionales Especifica la funcionalidad del software que los desarrolladores deben de construir en el producto para posibilitar a los usuarios a completar sus tareas y que a su vez satisfagan los requerimientos de negocio. Algunas veces estos requerimientos son llamados de comportamiento, estos se describen con la tradicional sentencia deberá.
Niveles de requerimientos Un ejemplo de un requerimiento funcional es El sistema deberá enviar vía e-mail la confirmación de la reservación al usuario
Niveles de requerimientos Reglas de negocio Incluyen políticas corporativas, regulaciones de gobierno, estándares industriales, prácticas contables y algoritmos computacionales. Estas reglas no son en sí requerimientos de software porque estas existen fuera de los límites de cualquier especificación del sistema de software.
Niveles de requerimientos Negocio Cliente Req. Negocio Req. Usuario Actividades Usuario Req. Funcionales Sistema Funcionalidad
Niveles de requerimientos Req. Negocio Req. Usuario Req. Funcionales Diseño de Arquitectura Diseño de Alto Nivel Ingenieria de Requerimientos Diseño Detallado Diseño
Disciplina de la Ingeniería de Req. (IReq)
Roles en la IR Cliente es un individuo u organización de quien deriva directa o indirectamente un beneficio de un producto de software.
Roles en la IR Clientes de software incluyen stakeholders quienes: Solicitan Pagan por Seleccionan Especifican Usan Reciben una salida generada por el producto de software.
Roles en la IR Otros stakeholders incluyen: Desarrolladores Testers Escritores de documentación Administradores de proyecto Staff de soporte Staff de mercadotecnia.
Roles en la IR Productos excelentes de software son resultados de una buena ejecución basada en excelentes requerimientos. Los requerimientos de alta calidad son resultado de: Buena comunicación Colaboración eficaz Sociedad entre Ingeniero de Requerimientos (IR) y cliente.
Roles en la IR El IR es el individuo que tiene la responsabilidad principal de: Recolectar Analizar Documentar Validar las necesidades de los stakeholders de proyecto
Roles en la IR El IR es un rol de proyecto, no necesariamente un titulo de trabajo. Uno o más especialistas dedicados podrían llevar acabo el rol.
Tareas del IR Definir los requerimientos de negocio, Usuario y Funcionales. Identificar stakeholders del proyecto y clases de usuarios. Obtención de requerimientos. Analizar los requerimientos. Escribir especificaciones de requerimientos. Modelar los requerimientos. Validar requerimientos. Facilitar la prioridad de los requerimientos.
Tareas del IR Administrar requerimientos. Un IR: Está involucrado durante todo el ciclo de vida de desarrollo de software. Ayuda a crear, revisar y ejecutar el plan de administración de requerimientos de proyecto.
Habilidades del IR Escuchar. Entrevistar e interrogar. Analítica. Facilitación. Observación. Escritura. Organizativa. Modelado. Interpersonal.
Conocimientos del IR Un IR efectivo tiene un conjunto de herramientas de técnicas disponible. Conocimientos sobre los diferentes dominios de aplicación.
CE - Datos Importantes Software, S.A. Ubicada en la ciudad de México. Empresa CMMI N3. 10 años en el mercado. Desarrollo de aplicaciones a la medida. Especialidad en el área financiera. Desarrollo.net
CE - Datos Importantes Fase de Requerimientos Se esta dedicando el 10% en promedio en la fase de requerimientos. Se tiene 67% de cumplimiento en la fase de requerimientos. No se tiene un control exacto de los defectos que se escapan a las fases de diseño, implementación y testing. No se tiene el costo de la calidad por eliminar estos defectos. En 5 años solo se han aprobado 8 Mejoras al Proceso y la mayoría están orientados a la administración del proyecto.
CE - Contexto Cultural Tecnología Metodologías Teorías Contexto Cultural Negocios Administración Organización Procesos Mercado Tiempo Toma de Decisiones División del Trabajo Finanzas Personas Valores Ideas Creencias Lenguaje Religión Actitudes Tiempo Espacio Hábitos Sexo Genero Etnia Sociedad Políticas Gobierno Normas Educación Tecnología Economía Ecología Historia Herencia
CE Disciplinas de la IReq
CE - Modelo en V
CE - Conocimientos, Habilidades y Competencias Competencias Orientación n de Servicio al Cliente, Solución n de Problemas, Comunicación, n, Gestión n Efectiva, Efectividad en el Trabajo, Toma de Decisiones, Trabajo en Equipo, Desarrollo de Personal, Iniciativa, Liderazgo, Enfoque de Resultados, Administración n y Evaluación n de Proyectos y Recursos Habilidades Pensamiento Convergente, Pensamiento Divergente, Pensamiento Sistémico, Lectura de Comprensión, n, Abstracción, Análisis, Síntesis, Critica Conocimientos Negocios (Dominio de la Aplicación), Tecnologías de Información, n, Factor Humano, Modelado de Negocios, Ingeniería a de Requerimientos, Ingeniería a de Software y Tecnología
CE - Mejora de Procesos Actualización de la biblioteca de procesos Capacitación del SPI Focus Group Desarrollo de materiales del curso Capacitación de Conocimiento, Habilidades y Competencias Análisis de Mejoras Encuesta (SEPG) Proyecto de Innovación Tecnológica Cumplimiento CMMI ISw con experiencia
CE - DF Proc. de Selección de Champions
Conclusiones El Superproceso de desarrollo y administración de requerimientos debe considerar que el usuario no sabe lo que quiere. Por lo tanto se deben desarrollar organizacionalmente personas, procesos y tecnología para apoyar esta condición (Humphrey, 2007).
Conclusiones Anécdota de la Escuela de Mercadotecnia de la universidad X
Comentarios y Preguntas FIN