4.2. Propuesta Metodológica para Proyectos de Desarrollo de Software
4.2.3 Planificación del proyecto
Introducción
Como todo proyecto, los proyectos de desarrollo de software deben ser planificados para asegurar una mejor estimación de los tiempos y las actividades que deben ser realizadas para alcanzar con éxito los objetivos del mismo y establecer los estándares de la calidad que se desea obtener.
La finalidad de la planificación es obtener un documento preciso, que se convierta en guía para la etapa de ejecución, el cual, deberá ser elaborado y aprobado por el equipo del proyectos y avalado por el Comité Ejecutivo del Proyecto. De esta manera, la fase de planeación del proyecto debe incluir los siguientes elementos principales:
Figura Nº 9. Fase de Planeación de Proyectos
Se hace la aclaración que el esfuerzo de planificación es mayor al inicio del proyecto, pero, no llega a desaparecer a lo largo de la vida del proyecto; es una actividad constante cada vez que haya un cambio o situación que afecte al mismo.
PLANIFICACION
Actividades Recurso Humano CVDS
Diseño del Sistema
Desarrollo del SW Pruebas Descomposición del alcance Definir actividades Secuenciar Identificar roles Obtener el RH Estructura organizacional
Asignar actividades Implementación Estimación de la
duración
Desarrollo del cronograma
a) Planificación de las actividades del proyecto
Describir los procesos requeridos para garantizar la terminación oportuna (a tiempo) del proyecto.
Para efectuar esta sub fase se deben contemplar los siguientes elementos:
a.1) Descomposición del alcance
Desarrollar una descomposición de actividades del proyecto con el fin de definir claramente las etapas, actividades, tareas, responsables, entregables y fechas, requeridas para cumplir con los objetivos planteados.
Este desglose debe efectuarse de manera particionada, bajo un esquema top down (de arriba hacia abajo), primero definiendo las etapas requeridas, luego las actividades asociadas a estas etapas y por último las tareas incluidas dentro de cada actividad. La herramienta de mayor acople para desarrollar todo este proceso es la que se conoce como Estructura Detallada del Trabajo (EDT). Su construcción es una cascada de elementos macro a componentes de nivel más micro:
Figura Nº 10. Modelo de la Estructura Detallada de Trabajo
Propósito Estimar tiempo Objetivo general Objetivos específicos Entregables Tareas Alcance
⇒ ⇒⇒
⇒ Objetivo general: es la razón de ser del proyecto. Se compone de los siguientes elementos: verbo de acción + resultado + marco de tiempo
⇒ ⇒⇒
⇒ Objetivos específicos: se derivan del objetivo general. Cada uno de estos objetivos cubre uno o más entregables. Consta de verbo de acción + resultado. ⇒
⇒⇒
⇒ Entregables/sub entregables: son las grandes partes en que se divide el proyecto. Se plantean en términos sustantivados. Ejemplo: capacitación.
⇒ ⇒⇒
⇒ Actividades: conjunto de acciones que deben ser realizadas para completar un entregable o sub entregable.
⇒ ⇒⇒
⇒ Tareas / sub tareas: son acciones más específicas que deben ser ejecutadas para completar una actividad.
a.2) Definición de actividades
Tomando como punto de partida la descomposición del trabajo donde se detallan todas las actividades requeridas se identifican las actividades específicas del cronograma que deben ser realizadas para producir los diferentes productos entregables del proyecto.
a.3) Secuenciar las actividades
Todas las actividades definidas son ordenadas de una forma lógica que permita su desarrollo, considerando todas las dependencias entre ellas.
De esta manera, teniendo el panorama completo el siguiente paso es establecer las relaciones entre las diferentes tareas identificadas. Las relaciones pueden ser de tres tipos:
Inicio-Inicio: Son aquellas tareas que deben iniciar necesariamente al mismo tiempo.
Final-Inicio: Las tareas A y B tienen una relación de este tipo cuando es necesario que A concluya para que pueda iniciar la tarea B.
Final-Final: Sucede cuando dos o más tareas deben concluir de manera simultánea.
a.4) Estimación de la duración de las actividades
Se trata de estimar el número de periodos de trabajo necesarios para completar cada una de las tareas identificadas. De preferencia, estas estimaciones deben elaborarse por el método de Juicio Experto o por algún otro esquema formal. Además es conveniente que se establezcan comparaciones con los datos estimados y reales de proyectos similares anteriores.
a.5) Desarrollo del cronograma
El desarrollo del cronograma exige que se revisen y se corrijan las estimaciones de duración y las estimaciones de recursos para crear un cronograma del proyecto aprobado que pueda servir de línea base con respecto al cual poder medir el avance.
El cronograma debe contener como mínimo los siguientes espacios, independientemente de la herramienta en la que se haga:
⇒ ⇒⇒
⇒ Nombre de las actividades (separadas por etapa o entregable). ⇒ ⇒⇒ ⇒ Unidades de duración. ⇒ ⇒ ⇒ ⇒ Fecha de inicio. ⇒ ⇒ ⇒ ⇒ Fecha de término. ⇒ ⇒ ⇒ ⇒ Responsable ⇒ ⇒ ⇒ ⇒ % de avance.
El flujo del proceso de planificación de las actividades del proyecto se describe en la Figura N° 11.
Figura Nº 11. Proceso Planificación de las Actividades del Proyecto Revisar la Identificación y el Alcance definido Estimar tiempos Desarrollo del cronograma Descomponer los entregables en tareas Secuenciar las actividades Definición de actividades
b) Planificación del Recurso Humano del Proyecto
Planear el recurso humano necesario para concluir el proyecto, esto incluye los procesos que organizan y dirigen el equipo, asignación de roles y responsabilidades, desarrollo de competencias y seguimiento del rendimiento de cada miembro.
La definición de los miembros del equipo del proyecto se realizó cuando se implementó el formulario FOR-01 y FOR-02 de “Identificación” y “Alcance”, respectivamente. En la fase de planificación se debe revisar con el objeto de incluir posibles ajustes que se deban realizar producto de lo cambiante del contexto de los proyectos.
Asimismo, se debe conocer si alguno de sus integrantes se encuentra trabajando en otro proyecto, cuando se estima que finalizará y el nivel de tiempo que le consume. Se debe analizar más en detalle, si el grupo que le asignaron tiene las competencias adecuadas, y si es suficiente, o bien, requiere de apoyo adicional.
Los equipos de trabajo deben estar integrados generalmente por personas que desempeñen al menos, los siguientes roles:
⇒ ⇒⇒
⇒ Patrocinador del Proyecto
⇒ ⇒⇒
⇒ Director del Proyecto
⇒ ⇒⇒
⇒ Líder del área del Negocio
⇒ ⇒ ⇒
⇒ Líder del área de TI
⇒ ⇒ ⇒ ⇒ Personal técnico de TI ⇒ ⇒ ⇒
⇒ Usuarios expertos en el producto El tamaño del equipo de un proyecto depende del mismo proyecto, lo importante es que cada rol y las funciones del mismo sean asumidas y ejecutadas por los miembros del equipo de trabajo.
La definición de roles y responsabilidades se debe realizar mediante el uso del FOR-05 Roles y responsabilidades, sin embargo, a continuación se describen las actividades básicas correspondientes a cada rol principal definido para un proyecto de desarrollo de software:
Cuadro Nº 3. Roles y responsabilidades
Rol Definición Responsabilidad
Patrocinador del Proyecto
Es un administrador con experiencia en negocios y es en beneficio de quien se esta llevando el proyecto.
Representar varias áreas de negocio en la cual más de una línea de negocio es impactada.
Representar los intereses del proyecto a un alto nivel organizacional.
Responsable de aprobar las
especificaciones del sistema, asegurando que satisfaga los requerimientos de negocio y sea desarrollado y entregado como fue planeado.
Director del Proyecto
Es el líder del proceso de planeación; principal encargado de generar el plan y cronograma del proyecto. Conduce la obtención de requerimientos y el proceso de diseño conceptual. Dirige la toma de decisiones necesarias para liberar el producto correcto.
Lidera las reuniones de avance del proyecto.
Responsable por entregar soluciones de calidad y rentables que cumplan con las necesidades reales del negocio de forma oportuna y ordenada.
Administrar el presupuesto del proyecto a favor del Patrocinador, monitorea los gastos y los costos contra los entregables así como los beneficios planteados a lo largo del progreso del proyecto.
Facilitador de la coordinación del día a día durante el desarrollo del proyecto.
Proveer reportes efectivos de avance del proyecto.
Líder del área de Negocio
Responsable de planear, coordinar y monitorear todas las actividades de los miembros del proyecto que pertenecen a negocios.
Comunicarse directamente con el Líder del área de TI sobre planes y recursos del proyecto.
Tomar decisiones que afectan el área de negocio.
Resolver conflictos en el área de negocios Escalar aspectos importantes a la alta
gerencia.
Líder del área SW de TI
Responsable de planear, coordinar y monitorear todas las actividades de los miembros del proyecto que pertenecen a Ti
Resolver problemas y/o desafíos claves de TI en el proyecto.
Resolver conflictos en el área de TI.
Personal Técnico de TI
Expertos en el análisis, diseño, desarrollo y calidad del software.
Desarrollar las especificaciones del usuario conforme lo establecido en el DERCA y de acuerdo a los tiempos planificados.
Rol Definición Responsabilidad
Usuarios
Es una persona experta en el producto asignada a especificar y recolectar los requerimientos de un grupo o grupos de usuarios finales.
Analizar las necesidades del negocio y de crear conjuntos de ideas para valorar oportunidades de negocio y mejorar los procesos de negocios.
Contribuir en los requerimientos de usuario y consolidarlos
Estructuración de las pruebas.
Todo proyecto debe manejarse con una estructura organizacional que provea un marco adecuado para que el mismo pueda ser gestionado de manera eficiente y logre los resultados esperados.
A continuación se detalla la siguiente estructura organizacional, la cual es una propuesta sencilla adaptable a una organización funcional:
Figura Nº 12. Estructura Organizacional para la Administración de Proyecto
Durante la evolución de un proyecto de desarrollo de software, la relación del personal Técnico de TI con los usuarios expertos del producto se conjuga cada día, por tal
motivo es primordial que durante esta etapa de planificación se establezcan los perfiles idóneos de los usuarios que integrarán el equipo del proyecto mediante el formato FOR- 05 Roles y responsabilidades en el apartado de Perfiles de usuarios.
Es importante destacar que esta etapa es estratégica, pues lo que se hace es definir el equipo humano que va a trabajar en el proyecto, o al menos los roles que siempre es preciso definir desde el inicio del proyecto, de tal forma que si es necesario, se puedan ir incorporando después otros roles, de acuerdo con criterios de oportunidad y disponibilidad de los recursos.
A continuación se ilustra en la Figura N° 13 el pro ceso para llevar a cabo la Planificación de los Recursos Humanos del proyecto:
Figura Nº 13. Proceso Planificación de los Recursos Humanos del Proyecto Identificar y documentar los roles Completar el Formulario FOR-05 Estimar Revisar que el recurso humano no este sobre asignado Determinar y obtener el recurso humano necesario Asignar recursos humanos a las actividades del cronograma Establecer la estructura organizacional Revisar miembros identificados en el FOR-01 y FOR-02
c) Planificación de elementos de Desarrollo del Software
Definir la estrategia que el equipo usará para diseñar, construir, probar, capacitar a los usuarios y como se adoptará la solución en la operativa de la organización.
Para cumplir con el CVDS las etapas tempranas del mismo (Investigación preeliminar y Determinación de requerimientos) fueron desarrolladas en la fase de Formulación de esta metodología, los elementos del ciclo posteriores se contemplan a continuación en esta sub fase:
c.1) Diseño del Sistema
Se trata de elaborar el diseño conceptual del sistema donde se describe la entrada, el procesamiento, la salida, el hardware, el software y la base de datos en un nivel superior y basado en la especificación de requerimientos (DERCA).
Para este fin el personal técnico realiza varios diseños, donde se exponen los detalles que establecerán la forma en la cual el sistema cumplirá con los requerimientos identificados en la Fase de Formulación de Proyectos.
Luego se presentan al Comité Ejecutivo del Proyecto, con el propósito de evaluar cada una de estas alternativas y se selecciona la que mejor se adecúe a las necesidades del negocio.
Los documentos que contienen las especificaciones de diseño aprobadas se proporcionan al personal de programación para comenzar con el desarrollo del software.
c.2) Desarrollo del sistema
Implica la planificación de cómo se realizará la construcción del sistema, considerando como punto de partida las especificaciones del diseño, lo cual permitirá el tratamiento de los elementos de programación que darán como resultado las funcionalidades de los
procesos requeridos. Asimismo, el método de programación se efectuará conforme con los estándares de programación interna del área de Desarrollo del Software.
c3). Pruebas
Se realiza la planificación con la finalidad de definir la estrategia que se utilizará para probar la solución donde se contemple la verificación del funcionamiento correcto del nuevo aplicativo y que el mismo se encuentre acorde con los criterios de aceptación indicados por el usuario.
Durante la prueba, el sistema se emplea de manera experimental para asegurarse de que el software no tenga fallas, es decir, que funciona de acuerdo con las especificaciones y en la forma en que los usuarios esperan que lo haga. Para esto se alimentan como entradas conjunto de datos de prueba para su procesamiento y después se examinan los resultados.
En el plan de pruebas se debe incluir:
⇒ ⇒⇒
⇒ Tipos de pruebas a ser realizadas: pruebas unitarias, pruebas de integración, pruebas de rendimiento, pruebas de stress, pruebas de utilización, pruebas de regresión.
⇒ ⇒⇒
⇒ Configuración: información de los recursos de software y hardware requeridos para probar.
⇒ ⇒⇒
⇒ Formato de las pruebas y criterios de éxito: documento con los escenarios y con los resultados que deben brindar las pruebas. Para esto se debe documentar mediante el estándar FOR-08 Documentación de Pruebas.
Dependiendo de los resultados se deben efectuar mejoras en el producto de software o bien se dan por aceptados y se continua con la siguiente fase de la metodología.
c4) Implantación
En la implantación se incluye la estrategia y los detalles requeridos para preparar a los usuarios y al personal, antes y durante la implementación de la solución. Se debe considerar los siguientes elementos:
Cuadro N° 4. Elementos de la Implantación del Sist ema
Elemento Definición Contempla
1.Capacitación
Entrenar a los usuarios en el nuevo producto de software. Depende de factores tales como disponibilidad de recursos y el impacto de la solución en los usuarios finales
⇒ ⇒⇒
⇒ Audiencia: todos los usuarios
involucrados y personal de help desk.
⇒ ⇒⇒
⇒ Medio por el cual se impartirá:
manuales, presentaciones y
laboratorios.
⇒ ⇒⇒
⇒ Desarrollo de materiales: Cuándo se
construyen y quién lo realiza.
⇒ ⇒⇒
⇒ Duración de la capacitación.
2. Implementación Proceso que permite verificar la estrategia de instalación y puesta en marcha del nuevo producto.
⇒ ⇒⇒
⇒ Estrategia de instalación: por fases o total, sitio por sitio, área por área.
⇒ ⇒⇒
⇒ Contingencias para la continuación de
las operaciones: sistemas paralelos, respaldo, entre otros.
⇒ ⇒⇒
⇒ Mecanismo de implementación: manual,
instalación por medio de la red, por
scripts, entre otros. ⇒
⇒⇒
⇒ Recursos de hw requeridos en la
instalación: memorias, disco,
procesador, ancho de banda, versiones del sistema operativo.
3. Entrega del Producto
Contempla la estrategia a seguir por el proyecto para que el producto o servicio final sea adoptado por la operativa de la
organización. Para cada
entregable se debe completar el
FOR-10 Aprobación de
entregables.
⇒ ⇒⇒
⇒ Lista de actividades y procesos que se
requiere ejecutar para el adecuado manejo del producto.
⇒ ⇒⇒
⇒ Lista de unidades organizacionales que deberían responsabilizarse por ejecutar las actividades.
⇒ ⇒⇒
⇒ Impacto sobre las actividades actuales.
En la Figura N° 14 se describe el flujo de activida des que conlleva el proceso de planificación de los elementos de desarrollo del software.
Figura Nº 14. Proceso de Planificación de los elementos de desarrollo del SW
Una vez planificado todos los elementos se compilan en el documento llamado “Plan de Gestión del Proyecto”, que, deberá ser aprobado por el equipo del proyectos y avalado por el Comité Ejecutivo del Proyecto. La estructura del documento deberá contener como mínimo:
- Introducción - Beneficios
- Alcances del proyecto - Estrategia por desarrollar - Objetivos del proyecto - Equipo del proyecto
- Justificación - Cronograma de actividades
Apéndices / anexos
Capacitación
Entrega del producto (FOR-10) 3. Pruebas Implementación Elaboración de alternativas Presentación de alternativas al Comité Ejecutivo Proyectos Selección y aprobación de alternativa de diseño Programación conforme a los estándares internos Release Producto Tipos de pruebas a realizar FOR-08 Resultados aceptados 4. Implantación del sistema SI NO Consultar DERCAS FOR-04 1. Diseño del sistema
2. Desarrollo del sistema
Revisar requerimiento ir al
Figura Nº 15. Flujo del Proceso de Planificación de Proyectos Planificación de las actividades del proyecto Se definen actividades, se estiman tiempos de duración y se secuencian las actividades Se descomponen los entregables en tareas Se revisan los documentos de Identificación y Alcance Revisar miembros identificados en el FOR-01 y FOR-02 Ejecución ¿Resultados aceptados? Sí Se realizan mejoras en el punto con * Capacitación
Desarrollo del cronograma del proyecto
Planificación de los recursos humanos del
proyecto
Identificar y documentar los roles Identificar y obtener el recurso humano Establecer la estructura organizacional Completar el FOR-05 Identifica roles y responsa..
Asignar recursos humanos a actividades- cronograma
Revisar que el recurso humano no este sobre
asignado
Planificación de los elementos del Desarrollo del SW
Diseño del Sistema
Se consultan los FOR-04 DERCAS Elaboración de alternativas de diseño Presentación de alternativas al Comité Ejecutivo de Proyecto Selección y aprobación de alternativa de diseño
Desarrollo del sistema
* Programación conforme a los estándares internos
Producto construido
Pruebas del sistema
Tipos de pruebas a realizar
Formatos y criterios de aceptación (FOR-08)
Implantación del sistema
Implementación
Entrega del producto Completar FOR-10
Control Documento del Plan de
Gestión de Proyectos
Se presenta ante el Comité Ejecutivo del Proyecto para