E-Clases
Ingenieria de Software III
Home
SIA: Definiciones
SIA: Centros de Cómputo
SIA: Areas de Administracion de un CC
SIA: Técnicas y sistemas de gestión de la innovación
Matematicas
SIA II - Proyecto
Códigos para Programadores
Bases de Datos I
Diseño Páginas Web
Curso de Ingles Diciembre 2003
Ingles Tecnico
CENAFOM - Computación 02076
Ingenieria de Software I
Ingenieria de Software II
Ingenieria de Software III
Ingenieria de Software IV
Ingenieria de Software V
Ingenieria de Software VI
Ingenieria de Software VII
Ingenieria de Software VIII
Ingenieria de Software IX
Ingenieria de Software X
Ingenieria de Software XI
Encuestas y Libro de Visitas
Sitios Web
De todo Un Poco
Servicio Tecnico
Nuestros Clientes
Trabajos
Introducción a la Programación

clases2.jpg

Conceptos de administración de proyectos

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

  1. Administradores superiores. Definen los aspectos de negocios que tienen influencia en el proyecto.
  2. Administradores técnicos. Planifican, motivan, organizan y controlan a los profesionales que hacen el trabajo de software.
  3. Profesionales. Proporcionan las capacidades técnicas para hacer un producto o aplicación.
  4. Clientes. Especifican los requisitos del proyecto o aplicación.
  5. Usuarios finales. Harán uso del software cuando haya sido entregado.

Miembros del equipo de desarrollo

inge11.gif

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.

inge12.gif

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.

WorldPrime Computacion (C) 2004