1 Introducción
1.2 Área de Investigación
La guía Swebok [Swebok, 2004] organiza los temas reconocidos y relacionados a la Ingeniería del Software en diez áreas del conocimiento: Requisitos del software, Diseño del software, Construcción del software, Pruebas del software, Mantenimiento del software, Gestión de la configuración del software, Gestión de la Ingeniería del Software, Proceso de la Ingeniería del Software, Herramientas y métodos de la Ingeniería del Software y Calidad del software.
De las áreas anteriormente citadas, la Gestión de la Ingeniería del Software es organizada en las siguientes subáreas: Iniciación y definición del alcance, Planificación del proyecto software, Ejecución del proyecto de software, Revisión y evaluación, Cierre y Medición de la Ingeniería de Software.
La investigación realizada en el presente trabajo se focaliza en algunas de las tareas de la subárea de Planificación del proyecto de software. La Tabla 1-1 presenta las tareas correspondientes a cada subárea de la Gestión de la Ingeniería de Software y cuáles de ellas han sido consideradas en la investigación. En la tabla, se ha indicado con un guión, “-”, aquellas tareas que no han sido consideradas en la investigación. Aquellas que sí están estrechamente relacionadas con la investigación, se ha colocado “Sí”; y aquellas que tienen alguna relación, se ha indicado con la palabra “Relacionado”.
Capítulo 1. Introducción
10 |P á g i n a José Antonio Pow Sang Portillo Tabla 1-1. Tareas del Swebok consideradas en la investigación
Subárea Tarea Considerada en la Investigación Iniciación y Definición de Alcance
Determinación y negociación de requerimientos - Análisis de Factibilidad - Proceso para la revisión de requisitos - Planificación del
proyecto software
Planificación del proceso Sí Determinación de entregables Sí Estimación del esfuerzo, costo y calendario Sí
Asignación de recursos -
Gestión del riesgo -
Gestión de la calidad -
Gestión del plan -
Ejecución del Proyecto de Software
Implementación de planes - Gestión del contrato de proveedores - Implementación del proceso de medición Relacionado
Proceso de monitoreo Sí
Proceso de control -
Reportes -
Revisión y evaluación Determinación de satisfacción de requerimientos - Revisión y evaluación de desempeño Relacionado
Cierre Determinación del cierre -
Actividades de cierre -
Medición en Ingeniería del Software
Establecimiento y mantenimiento del compromiso de medición
Relacionado Planificación del proceso de medición Relacionado Realización del proceso de medición Relacionado Evaluación del proceso Relacionado
Como se puede observar en la Tabla 1-1, las tareas que forman parte de la investigación son las siguientes:
Planificación del proceso, que consiste en la selección del modelo de ciclo de vida del software apropiado (por ejemplo, en cascada, espiral, etc.) y la adaptación y la implementación de los procesos apropiados del ciclo de vida del software que se llevan a cabo a la luz del alcance particular y de los requisitos que se han especificado del proyecto. También, se emplean métodos y herramientas apropiadas, como el Work Breakdown Structure [PMI, 2008], para descomponer el proyecto en tareas, entradas y salidas de cada tarea.
Para esta tarea, parte de nuestra investigación se enfoca en el orden en qué se deben implementar los requisitos de software, los cuales son representados por casos de uso [Jacobson, 1992], siguiendo un modelo de ciclo de vida incremental. Esto influirá en la definición y orden de las tareas que se realizarán en un proyecto.
Capítulo 1. Introducción
José Antonio Pow Sang Portillo P á g i n a | 11
Determinación de entregables, que consiste la especificación y caracterización del producto o los productos de cada tarea (por ejemplo, la arquitectura o el diseño). Se evalúan las oportunidades para la reutilización de componentes de software de desarrollos anteriores o para emplear componentes que se puedan comprar.
Sobre esta tarea, nuestra investigación se focaliza en la determinación de qué parte del software, también conocido como incremento, se entregará en un determinado momento del proyecto. Esto influenciará en la definición de qué entregable se completará durante el desarrollo del proyecto.
Estimación del esfuerzo, costo y calendario, que consiste en determinar el rango esperado de esfuerzo requerido para cada tarea. Para ello, se debería utilizar un modelo de estimación calibrado con la información histórica del esfuerzo requerido en proyectos previos o el empleo de otros métodos como el juicio de expertos. Se establecen dependencias entre las tareas, se identifican mediante métodos adecuados los cuellos de botella actuales y potenciales. Los requerimientos de recursos (personal, herramientas) se traducen en estimaciones de costo.
Para esta tarea, nuestra investigación se centra en la estimación del esfuerzo requerido en horas-persona para la construcción de cada incremento de software. Aunque, la investigación no toma en cuenta los requerimientos de recursos, como el caso del personal necesario para el proyecto, la estimación del esfuerzo apoya en la decisión de cuántas personas se necesitarían para una fase o para todo el proyecto.
Proceso de monitoreo, que consiste en la evaluación continua y a intervalos predeterminados de la adhesión a los distintos planes. Los entregables se evalúan en términos de sus características; por ejemplo, a través de revisiones y auditorías. El esfuerzo empleado, el cumplimiento de los calendarios y de los costos hasta la fecha son revisados e investigados. Se evalúa la desviación entre los valores reales y estimados. También, se examina el empleo de los recursos. Se revisa el perfil de riesgo del proyecto y se evalúa el cumplimiento de los requisitos de calidad.
En cuanto a esta tarea, nuestra investigación se enfoca en evaluar el esfuerzo que fue requerido para la implementación de un incremento, con el objetivo de determinar el esfuerzo que se necesita para construir los siguientes incrementos. Con esto se puede determinar la desviación actual del proyecto y así poder estimar el esfuerzo requerido para la entrega de todo el software.
En cuanto a las tareas que estarían relacionadas al área de investigación, las técnicas propuestas permitirán apoyar en la revisión y evaluación de desempeño; porque se podría determinar si la eficiencia del equipo es la adecuada o ha habido una variación significativa en cuanto al desempeño previo del proyecto.
Capítulo 1. Introducción
12 |P á g i n a José Antonio Pow Sang Portillo También, se puede observar que todas las tareas asociadas a “medición” se han indicado como relacionadas. Esto se debe a que no se puede desligar la estimación del esfuerzo a técnicas de medición o a lo que se conoce como métricas de software.
Debido a que el área de investigación corresponde a la gestión de un proyecto, no se puede dejar de lado lo que especifica el Project Management Institute en el Pmbok [PMI, 2008]. La Tabla 1-2 presenta las áreas y la descripción de las áreas del conocimiento propuestas por el Pmbok para la gestión de un proyecto de software. También, de manera similar a la Tabla 1-1, en la tercera columna de la tabla se indica qué área ha sido considerada en esta investigación. En la tabla, se ha marcado con una guión, “-”, a aquellas tareas que no han sido consideradas y con la palabra sí a aquellas que están estrechamente relacionadas con la investigación.
Tabla 1-2. Áreas del conocimiento del Swebok consideradas en la investigación
Área del conocimiento del Pmbok Descripción Considerada en la Investigación Gestión de la integración
Procesos y actividades que integran varios elementos de la gestión de proyectos, los que son identificados, definidos, combinados, unificados y coordinados dentro de los gurpos de la Gestión de Proyectos. Se incluyen procesos como el Desarrollo del plan del proyecto
-
Gestión del alcance Procesos involucrados en determinar que el proyecto incluye todo el trabajo requerido, y solo el trabajo requerido, para completar de manera exitosa el proyecto. Incluye la Planificación del alcance, Definición del alcance, Creación del Work Breakdown Structure (WBS), Verificación del alcance y Control del alcance.
Sí
Gestión del tiempo Procesos que conciernen a completar a tiempo el proyecto. Consiste en los procesos de Definición de actividades, Definición de la secuencia de actividades, Estimación de los recursos para las actividades, Estimación de la duración de las actividades, Calendarización del desarrollo y Control del calendario
Sí
Gestión del costo Procesos involucrados en planificación, estimación, definición del presupuesto y control de costos; de tal manera que el proyecto cumple con el presupuesto aprobado. Comprende los procesos de Estimación de costos, Presupuesto de costos y Control de costos
-
Gestión de la calidad
Procesos involucrados en el aseguramiento que el proyecto satisfacerá con sus objetivos
- Gestión de recursos
humanos
Procesos para organizar y gestionar el equipo del proyecto - Gestión de
Comunicaciones
Procesos relativos a la generación oportuna y apropiada, recopilación, difusión, almacenamiento y disposición final de la información del proyecto
Capítulo 1. Introducción
José Antonio Pow Sang Portillo P á g i n a | 13
Área del conocimiento del
Pmbok
Descripción Considerada en la Investigación Gestión del riesgo Procesos relacionados a la dirección de la gestión de
riesgos en un proyecto.
- Gestión de
aprovisionamiento
Procesos relacionados a la compra o adquisición de productos, servicios o resultados. También, incluye los procesos para la gestión de contratos.
-
Como se puede observar en la tabla anterior, según el Pmbok el área de investigación se centra en sólo dos de sus áreas del conocimiento: Gestión del alcance, porque parte de nuestra investigación se enfoca en el orden en qué se deben implementar los requisitos de software y esto está relacionado al alcance del proyecto; y a Gestión del tiempo, porque nuestra investigación se enfoca en la estimación del esfuerzo requerido en horas-persona para la construcción de cada incremento de software.