Administración de Proyectos de Software: Factores Clave, Riesgos y Mejores Prácticas

Administración de Proyectos de Software

Las funciones, en pocas palabras, son organizar, planear, dirigir y controlar adecuadamente y eficientemente actividades y recursos.

¿Cuál es la importancia de la administración de los proyectos de software?

Es responsable de lograr la culminación del objetivo común (**proyecto de software de calidad**) en el tiempo y costos fijados con los recursos existentes.

Factores de Éxito y Fracaso

Fallas Comunes

  • Fallas en la venta.
  • Fallas en las competencias esenciales del equipo de proyecto.
  • Fallas en los recursos básicos necesarios.
  • Fallas en la metodología.
  • Fallas en la administración del proyecto.

Factores de Éxito

  • Establecer claramente un control de las expectativas asociadas al proyecto, esto es: qué espero del mismo, de los integrantes del equipo, qué requiero de la organización, qué espera el cliente y los integrantes del equipo, son algunas de las preguntas que debieran plantearse al inicio del mismo.
  • Involucrar a todas las áreas de procesos necesarias para obtener “el cuadro” completo de los distintos casos de negocios.
  • Lograr la aprobación del diseño empresarial que se implementará antes de hacerlo, a nivel de plan y posterior a su desarrollo, es esencial. La firma de aceptación de lo que se solicitó y lo que se realizó es altamente importante.
  • Comunicar continuamente el estado y avance del proyecto en las áreas del cliente y entre los integrantes del equipo.
  • Llevar un control de toda la documentación del proyecto. Es altamente recomendable generar minutas de la mayor cantidad de las reuniones que se realicen (idealmente todas), identificando claramente acuerdos, fechas y responsabilidades.
  • Reunirse continuamente con las áreas del proyecto (clientes y consultoría) y escuchar activamente a cada participante. El seguimiento de los temas que se obtengan siempre será positivo y así evitará el comentario de “yo traté de decirlo, pero nadie me escuchó”.
  • Elaborar y hacer seguimiento a la lista con los problemas presentados semana a semana por las áreas asociadas al proyecto. Recomendablemente favorecerá clasificarlos por área y con precisiones respecto a la prioridad, gravedad, urgencia y tendencia de cada tema.
  • Reunirse individualmente con los miembros del equipo de proyecto y determinar cuáles son las competencias esenciales de cada uno, para unirlas en pos del éxito del proyecto.
  • Es importante que en estas reuniones no necesariamente se conversen solamente los temas de proyecto clasificados como importantes o críticos, a veces ahí no están los inconvenientes y es necesario buscarlos incluso en los temas personales o de relaciones.
  • Tomar el control del proyecto manteniendo buenas relaciones con todos los integrantes es relevante. Todo integrante de un proyecto deber ser tratado como uno más del equipo. De seguro su elección no fue al azar y debe valorarse su presencia y todos quieran sentir el orgullo de haber participado en un proyecto exitoso.
  • Promover activamente el término del proyecto al interior del equipo, también siempre será un incentivo.

Gestión de Riesgos

¿Qué es un riesgo?

Un riesgo es un evento, el cual es incierto y tiene un impacto negativo. El **análisis de riesgo** es el proceso cuantitativo o cualitativo que permite evaluar los riesgos.

¿Qué es la administración de riesgos?

Comprende el descubrimiento de los posibles riesgos del proyecto.

¿Qué riesgos pueden presentarse durante un proyecto de desarrollo de software?

  1. Riesgos de tecnología: Se derivan de las tecnologías de software o de hardware utilizadas en el sistema que se está desarrollando.
  2. Riesgos de personal: Riesgos asociados con las personas del equipo de desarrollo.
  3. Riesgos organizaciones: Se derivan del entorno organizacional donde el software se está desarrollando.
  4. Riesgos de herramientas: Se derivan de herramientas CASE y de otro software de apoyo utilizado para desarrollar el sistema.
  5. Riesgos de requerimientos: Se derivan de los cambios de los requerimientos del cliente y el proceso de gestionar dicho cambio.
  6. Riesgos de estimación: Se derivan de los estimados administrativos de las características del sistema y los recursos requeridos para construir dicho sistema.

Rol de SQA (Software Quality Assurance)

SQA es un set de actividades sistemáticas que aseguran que el proceso del software y productos conformados por requerimientos, estándares, y procedimientos.

Diferencia entre Calidad y Fiabilidad

Calidad de Software

Es la concordancia con los requerimientos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se esperan de todo software desarrollado profesionalmente.

Fiabilidad del Software

La fiabilidad del software se define en términos estadísticos como la probabilidad de operación libre de fallos de un programa de computadora es un entorno determinado y durante un tiempo específico.

Unified Modeling Language (UML)

UML es un lenguaje visual que captura procesos, incrementa la comunicación, define la arquitectura, administra la complejidad y la reutilización.

Diagramas UML:

  • Diagrama de casos de uso
  • Diagrama de clases
  • Diagrama de objetos
  • Diagrama de estados
  • Diagrama de secuencias
  • Diagrama de colaboración
  • Diagrama de actividades
  • Diagrama de componentes
  • Diagrama de despliegue

Rational Unified Process (RUP)

RUP es una metodología de desarrollo de software que se divide en cuatro fases:

  1. Inicio: Define el alcance y objetivos del proyecto.
  2. Elaboración: Plan del proyecto, especificación de características y arquitectura base.
  3. Construcción: Construye y opera el producto.
  4. Transición: Transición del producto a la comunidad del usuario.

RUP es una guía de cómo usar UML de la forma más efectiva.

Team Software Process (TSP)

TSP se enfoca en la integración de equipos de desarrollo de alto rendimiento.

Triángulo del software en TSP:

  • Maximizar calidad del software.
  • Minimizar costos.

Proceso de Software Personal (PSP)

El PSP busca proporcionar un marco de trabajo para el personal involucrado en el proceso de desarrollo de software.

PSP demuestra cómo manejar la calidad desde el principio del trabajo.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.