Desarrollo y Control de Proyectos de Software: Metodologías y Herramientas

Gestión de Proyectos de Software: Planificación, Ejecución y Control

Definición de Proyecto

Un proyecto es un conjunto de etapas, actividades y tareas que tiene como finalidad alcanzar un objetivo específico. Implica un trabajo no inmediato, a un plazo relativamente largo. Se caracteriza por:

  • Tener un principio y un final definidos.
  • Utilizar diversos recursos y contar con un presupuesto.
  • Tener actividades únicas y esencialmente no repetitivas.
  • Tener un objetivo claro.
  • Requerir un jefe de proyecto y personal de desarrollo.
  • Necesitar una planificación detallada.
  • Medir su progreso frente al plan establecido.
  • Coexistir con otros proyectos y competir por los recursos.
  • Estar influenciado por fuerzas internas y externas.

Planificación del Proyecto

La planificación es una fase crucial en la gestión de proyectos. El jefe de proyecto es la persona responsable de planificar, controlar y dirigir las actividades del proyecto.

Plan de Proyecto

El plan de proyecto es un documento que describe los trabajos que se realizarán y la forma en que el jefe de proyecto va a dirigir su desarrollo. Debe definir un conjunto de tareas, coordinadas en el tiempo, así como los recursos necesarios para cumplir los objetivos.

Objetivos del Plan de Proyecto

El objetivo del plan es un enunciado que especifica los resultados que se deben conseguir. Sus funciones son:

  • Resumir el proyecto a los directivos.
  • Permitir al jefe de proyecto y a los clientes supervisar el progreso.
  • Ser un documento orientado al cliente.
  • Ser un documento solo modificable con la aprobación del cliente.

Contenido del Plan de Proyecto

  • Resumen claro y entendible.
  • Lista de hitos alcanzables.
  • Procedimientos que se van a aplicar.
  • Especificación de quién, cómo y cuándo se puede revisar el proyecto.
  • Plan que defina la comunicación con el cliente.
  • Un WBS (Work Breakdown Structure) o diagrama de descomposición del trabajo.
  • Lista del personal del proyecto.
  • Una red de actividades que muestre las tareas en el tiempo.
  • Los responsables de las actividades.
  • Presupuestos, calendarios y plazos.

Calendario del Proyecto

El calendario consiste en una representación gráfica de todas las actividades del proyecto que permite al jefe de proyecto controlar las actividades. Los pasos para su elaboración son:

  • Definición de los objetivos del proyecto.
  • Descomposición de las actividades.
  • Relación entre las actividades.
  • Estimación de los tiempos y costes de las actividades.
  • Ajuste del programa de tiempos a las restricciones del proyecto.
  • Asignación de recursos y definición de la organización del equipo.
  • Revisión del calendario.

Redes de Precedencia: PERT y CPM

Es conveniente utilizar PERT (Program Evaluation and Review Technique) y CPM (Critical Path Method) cuando un proyecto:

  • Tiene todas sus actividades bien definidas.
  • Las actividades se pueden comenzar, interrumpir y realizar de forma separada.
  • Las actividades se pueden relacionar con otras.
  • Las actividades están ordenadas de forma que se pueda seguir una secuencia.
  • Una vez comenzada una actividad, debe continuar sin interrupción hasta acabar.

Reglas para utilizar PERT y CPM:

  • La red debe tener un mínimo de 20 eventos. Para proyectos más pequeños, usar un diagrama de Gantt.
  • Manualmente, están limitadas a 300 eventos.

Métodos de Estimación de Costes

  • La opinión de expertos: basada en la experiencia personal.
  • La estimación por analogía: comparación con proyectos similares.
  • La descomposición: descomponer el producto hasta un nivel de detalle que permita estimar el coste de unidades elementales.
  • Ecuaciones o modelos de estimación: fórmulas matemáticas (modelos de costes, de restricciones, empíricos, estadísticos, lineales, no lineales, basados en una teoría, compuestos, SLIM, COCOMO).

Enfoque recomendado: Recoger datos de los proyectos desarrollados y crear procedimientos de estimación que puedan cambiarse a medida que se analizan.

Seguimiento y Supervisión del Proyecto de Software

«Si no sabes dónde estás, un mapa no te ayudará.»

Objetivos:

  • Comparar los resultados actuales con los previstos.
  • Tomar acciones correctivas cuando existan desviaciones de los planes.
  • Acordar compromisos con el personal afectado.

Supervisión de los Resultados: Problemas Frecuentes

  • Dificultad para definir el trabajo.
  • Poca implicación del equipo del proyecto.
  • Problemas con la organización y la constitución del equipo.
  • Organización del equipo de proyecto insuficientemente definida.
  • El proyecto se considera poco importante.
  • No existen planes de contingencia.
  • Mala comunicación con la dirección.
  • Mala comprensión de las líneas de comunicación.
  • Dificultad al trabajar entre distintos departamentos.
  • Mala dirección del proyecto.
  • Poca asistencia y ayuda de la dirección.
  • Jefe de proyecto no comprometido.
  • Dificultades al valorar riesgos.
  • La petición específica del cliente.
  • Propuesta dentro de la organización.
  • Necesidad detectada por el departamento de marketing.
  • El personal de mantenimiento recomienda una mejora.
  • El personal de informática detecta necesidades de desarrollo.

Criterios para Controlar los Proyectos

  • Planificación detallada del proyecto:
    • Desarrollar un plan del proyecto implicando a todo el personal clave.
    • Descomponer el proyecto global utilizando el WBS.
    • Definir resultados y entregables.
    • Establecer hitos a alcanzar.
  • Compromiso.
  • Seguimiento del proyecto.
  • Medición: Asegurar que se realizan mediciones.
  • Revisiones regulares.

Gestión de Riesgos de Software

Tipos de riesgos:

  • Estratégicos: cualquier riesgo relacionado con la estrategia de la organización.
  • Comerciales: relacionados con la venta del producto.
  • Contractuales y financieros.
  • De gestión: recursos, equipos, calendarios, estimaciones, etc.
  • De proyecto: aspectos técnicos.
  • De explotación: en el proceso y peligrosos para las personas.
  • De mantenimiento.

Decisión de Emprender el Proyecto

Se toma tras la constatación de que los requisitos del software están cambiando.

Selección del Jefe de Proyecto

Cualidades deseables:

  • Liderazgo.
  • Capacidad de relación con los miembros del equipo.
  • Visión de negocio.
  • Comprensión técnica.
  • Competencia de gestión.
  • Presteza y decisión.
  • Versatilidad y flexibilidad.
  • Integridad.
  • Previsión.

Estudios de Viabilidad

Los estudios de viabilidad y factibilidad abordan los siguientes aspectos:

  • Económico.
  • Técnico.
  • Legal.
  • Operativo.
  • Plazos y calendario.

Etapas de los Estudios de Viabilidad

  • Solicitud del proyecto.
  • Establecer el alcance y los límites del sistema.
  • Estudiar la situación del personal y del sistema involucrado en el proyecto.
  • Realización de una definición de requisitos.
  • Estudiar las diferentes alternativas de solución.

Análisis de Coste-Beneficio

Permite seleccionar la alternativa más beneficiosa y prever las necesidades financieras.

Costes a Considerar

  • Hardware y software (compra o mantenimiento).
  • Comunicaciones.
  • Coste de desarrollo del sistema.
  • Gastos de instalación.
  • Costes anuales de mantenimiento.
  • Consultoría.
  • Formación.
  • Material de oficina.
  • Aprendizaje.
  • Otros.

Beneficios

  • Ahorro en mantenimiento.
  • Ahorro en inversiones y mantenimiento de hardware y software.
  • Incremento de ventas.
  • Ahorro de material.
  • Beneficio financiero.
  • Intangibles (incremento de calidad, reducción de errores).

Pruebas de Software

Verificación

¿Estamos construyendo correctamente el producto?

Proceso de evaluación de un sistema o de uno de sus componentes para determinar si los productos de una fase satisfacen las condiciones impuestas al comienzo de la fase.

Validación

¿Estamos construyendo el producto correcto?

Proceso de evaluación de un sistema para determinar si satisface los requisitos especificados.

Complejidad Ciclomática

V(G) = Nodos + 1

Prueba Funcional o de Caja Negra

  • Reduce el número de otros casos necesarios para que la prueba sea razonable.
  • Cubre un conjunto extenso de otros casos posibles.

Enfoque Práctico Recomendado para el Diseño de Casos de Prueba

  • Si contiene combinaciones, comenzar formando sus grafos de causa-efecto.
  • Elegir límites para dar valores a las causas.
  • Identificar las clases válidas.
  • Utilizar la técnica de conjetura de errores.
  • Ejecutar los casos generados por caja negra.
  • Examinar la lógica del programa para añadir casos precisos (caja blanca).

Plan de Pruebas

Objetivo: Señalar el enfoque, los recursos y el esquema de actividades de la prueba, así como los elementos a probar, las características, el personal responsable y los riesgos asociados.

Depuración

Se define como el proceso de localizar, analizar y corregir los defectos que se sospecha que contiene el software.

Consecuencias de la Depuración

  • Encontrar la causa del error.
  • No encontrar la causa y tener que generar nuevos casos de prueba.

Etapas de la Depuración

  • Localización del defecto (mayor parte del esfuerzo).
  • Corrección del defecto.

Estrategia de Aplicación de Pruebas

Etapas: Comienzan a nivel de módulo, una vez terminadas, progresan hacia la integración del sistema, culminan cuando el cliente acepta el producto.

Recomendaciones Prácticas Respecto a la Integración

  • Utilizar una aproximación combinada:
    • Se comienza en los módulos de niveles superiores de forma descendente.
    • Se comienza simultáneamente de forma ascendente.
    • Se continúa hasta que ambas aproximaciones se encuentran en un nivel intermedio.
  • Identificar y probar cuanto antes aquellos módulos considerados críticos (por ejemplo, los que ejercen mayor control sobre otros).

Cálculo de Holguras

  • Holgura total: Htij = TLj – TEi – Tij
  • Holgura libre: Hlij = TEj – TEi – Tij

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *