La administración eficaz de un proyecto de software se centra en las tres p's. personal, problema y proceso.
En ese orden.
Personal
Participantes
- Administradores superiores. Definen los aspectos de negocios que tienen influencia en el proyecto.
- Administradores técnicos. Planifican, motivan, organizan y controlan a los profesionales que hacen el trabajo de software.
- Profesionales. Proporcionan las capacidades técnicas para hacer un producto o aplicación.
- Clientes. Especifican los requisitos del proyecto o aplicación.
- Usuarios finales. Harán uso del software cuando haya sido entregado.
Miembros del equipo de desarrollo
Organización del equipo de desarrollo
- Jerárquico.
- Propuesta por primera vez por Harlan Mills y descrita en 1972.
- También se le conoce como equipo programador jefe
- El núleo se compone de:
- Programador o ingeniero en jefe. Planifica, coordina y revisa todas las actividades técnicas del equipo.
- Personal técnico. Llevan a cabo las actividades de análisis y desarrollo.
- Ingeniero de apoyo. Ayuda al ingeniero en jefe y puede sustituirle sin perdida de continuidad del proyecto.
- Además existen especialistas que ayudan al ingeniero en jefe. Por ejemplo, expertos en bases de datos, comunicaciones,
etc. Y un bibliotecario de software (librarian), que puede colaborar con varios equipos a la vez y se encarga de la
documentación, listados fuente, ayuda a recopilar datos de productividad y cataloga e indexa los módulos u objetos reutilizables.
Organización de equipos según Mantei
- Descentralizado democrático (DD).
- No tiene un jefe permanente. Se nombran coordinadores de tareas a corto plazo y se sustituyen por otros para diferentes
tareas.
- Las decisiones y los enfoques se hacen por consenso.
- La comunicación entre los miembros del equipo es horizontal.
- Descentralizado controlado (DC).
- Tiene un jefe definido que coordina tareas específicas y jefes secundarios que tienen responsabilidades sobre subtareas.
- La solución de problemas es una actividad del grupo, pero la implementación de soluciones se reparte entre los subgrupos
por el jefe de equipo.
- La comunicación entre subgrupos e individuos es horizontal.
- También hay comunicación vertical a lo largo de la jerarquía de control.
- Centralizado controlado (CC).
- El jefe de equipo se encarga de la solución de problemas a alto nivel y la coordinación interna del equipo.
- La comunicación entre el jefe y los miembros del equipo es vertical.
Existen siete factores de un proyecto que deben considerarse al planificar el organigrama de equipos.
- Dificultad del problema.
- Tamaño del programa en líneas de código o puntos de función.
- Tiempo de vida del equipo.
- Grado en que el problema puede ser modularizado.
- Calidad requerida y fiabilidad del sistema que se va a construir.
- Rigidez de la fecha de entrega.
- Grado de comunicación requerido para el proyecto.
Impacto de las características del proyecto en el organigrama del equipo.
Tipo de equipo
| DD
| DC
| CC |
Dificultad |
Alta
| x
|
| |
Pequeña
|
| x
| x |
Tamaño |
Grande
|
| x
| x |
Pequeño
| x
|
| |
Duración del equipo |
Corto
|
| x
| x |
Largo
| x
|
| |
Modularidad |
Alta
|
| x
| x |
Baja
| x
|
| |
Fiabilidad |
Alta
| x
| x
| |
Baja
|
|
| x |
Fecha de entrega |
Estricta
|
|
| x |
Flexible
| x
| x
| |
Comunicación |
Alta
| x
|
| |
Pequeña
|
| x
| x |
Paradigmas de organización de equipos según Constantine
- Paradigma cerrado.
- Tiene jerarquía tradicional de autoridad similar al equipo CC.
- Trabajan bien cuando producen software similar a otros anteriores, pero son menos innovadores.
- Paradigma aleatorio.
- El equipo se estructura libremente y depende de la iniciativa individual de los miembros.
- Son buenos cuando se requiere innovación o avances tecnológicos.
- Tienen problemas cuando se requiere un rendimiento ordenado.
- Paradigma abierto.
- Estructura el equipo de forma que consiga algunos de los controles asociados con el paradigma cerrado y mucha de la innovación
del paradigma aleatorio.
- El trabajo se desarrolla en colaboración, con mucha comunicación y toma de decisiones consensuadas.
- Son adecuados para resolver problemas complejos, pero pueden no ser tan eficientes como otros equipos.
- Paradigma sincronizado.
- Se basa en la partición natural de un problema y organiza los miembros del equipo para trabajar en partes del problema
con poca comunicación activa entre ellos.
Actividades del equipo de desarrollo
- Comunicación con el cliente.
- Planeación.
- Análisis de riesgos.
- Ingeniería.
- Construcción y liberación.
- Evaluación del cliente.
Técnicas de coordinación de proyectos.
Las técnicas se pueden categorizar de la siguiente forma:
- Formal, enfoque impersonal.
- Documentos y entregas, p.e. código fuente.
- Memorandums técnicos.
- Metas intermedias (milestones).
- Planificaciones del programa y herramientas de control del proyecto.
- Peticiones de cambios.
- Informes de seguimiento de errores.
- Formal, procedimientos interpersonales. Se enfocan a las actividades de garantía de calidad.
- Reuniones de revisión de estado.
- Inspecciones de diseño y código.
- Informal, procedimientos interpersonales.
- Reuniones de grupo para la divulgación de información y resolución de problemas así como definición de requisitos y personal
de desarrollo.
- Comunicación electrónica.
- Email, listas de noticias, páginas WWW, video-conferencias.
- Red interpersonal.
- Discusiones con personas que no están en el proyecto pero que pueden tener experiencia o visión.
Problema
Dado el problema se necesita definir:
- Alcance del proyecto.
- Contexto.
- ¿Cómo encaja el software a construir en un sistema, producto o contexto de negocios mayor?
- ¿Qué limitaciones se imponen como resultado del contexto?
- Objetivos de la información.
- ¿Qué objetos de datos visibles al cliente se obtienen del software?
- ¿Qué objetos de datos son requeridos de entrada?
- Función.
- ¿Qué función realiza el software para transformar la información de entrada en una salida?.
- Rendimiento.
- Hay características de rendimiento especiales que abordar?
- Descomposición.
- Aplicar la estrategia de divide y vencerás partiendo el problema en subproblemas que resultan más manejables.
Proceso
- Debe adaptarse al personal y al problema.
- Escoger una estructura común de procesos, un paradigma de ciclo de vida apropiado y un conjunto de tareas para completar
el trabajo.
|