Beruflich Dokumente
Kultur Dokumente
Capítulo 2
Desarrollo de software en equipo
Uno de los objetivos muy importantes de este curso es aprender a trabajar en equipo de
manera exitosa. Se enseñarán las técnicas para trabajar en equipo, con la finalidad de que
los alumnos adquieran la experiencia que les permita incorporarse en equipos profesionales.
Desarrollar software es como construir una casa. Se forma un equipo en el que participa el
cliente que manda hacer la casa, en algunas ocasiones, los usuarios que la habitarán y los
constructores. Los constructores tienen diversas responsabilidades o especializaciones que
combinan para terminar la casa. Habrá albañiles, electricistas, plomeros y carpinteros.
Todos son coordinados por el arquitecto, que define el diseño de la casa, dirige a los
constructores para que hagan sus tareas en el tiempo asignado y comunica los avances al
cliente.
Hay tres aspectos esenciales para el buen funcionamiento del equipo: asignación de roles
con sus responsabilidades respectivas, coordinación de trabajo y comunicación. [Goldberg].
Para que cada participante sepa qué debe hacer, se definen y asignan roles a los miembros
del equipo.
Para este curso se proponen 5 roles de tipo administrativo [Humphrey 2000]. Cada rol tiene
una perspectiva diferente del trabajo: el equipo, el desarrollo, la planeación, la calidad y el
ambiente de trabajo. El líder coordina al equipo. El administrador de desarrollo coordina la
construcción del producto y asigna las tareas relacionadas con el desarrollo a otros
miembros del equipo. El administrador de planeación define el plan de trabajo y le da
seguimiento. El administrador de calidad es el encargado de asegurar la calidad del
En la siguiente tabla, para cada rol se describen sus responsabilidades y se indica el capítulo
de este libro en el que se describe el rol con detalle.
Para que el equipo sea efectivo, cada miembro debe tener las habilidades necesarias para
cumplir sus responsabilidades. La tabla 2 describe para cada rol sus habilidades requeridas
y la referencia al capítulo del libro en que se detallan.
Comunicación en el equipo
La comunicación externa del equipo con el instructor se lleva a cabo por medio del líder. El
líder informa al instructor lo que ha hecho el equipo, los problemas que surgen y los
riesgos. El instructor da seguimiento al estado del equipo. En proyectos reales, el líder del
proyecto también establece la comunicación con el cliente para ir refinando los
requerimientos del producto e informarle sobre los avances.
La comunicación interna del equipo sirve para que todos conozcan el estado de trabajo de
los demás. Para esto se establecen reuniones semanales del equipo. En estas reuniones se
revisan los avances del trabajo y se toman acuerdos.
La estructura del equipo está influida por el proyecto, la coordinación del grupo y las
necesidades de comunicación. La estructura es la forma en que se organizan las personas,
se comunican, se asignan responsabilidades e informan los avances. [Goldberg]. Existe
todo un espectro de tipos de estructuras para organizar los equipos: desde las muy
jerárquicas a las muy democráticas.
Los equipos jerárquicos se organizan como un árbol, donde en la raíz está la autoridad y en
niveles inferiores los trabajadores técnicos. Esta estructura es común en organizaciones
grandes con niveles de autoridad bien definidos. La idea central es que las autoridades
toman las decisiones y delegan el trabajo a los niveles inferiores.
En equipos democráticos todos trabajan al mismo nivel y son iguales. Los equipos de
estudiantes son ejemplos claros de esta estructura democrática. En procesos de desarrollo
de software, llamados ágiles, también se sigue una estructura democrática.
Para las reuniones del instructor con el líder, se describen sus objetivos y el esquema de la
agenda típica.
Estas reuniones pueden ser formales (tener horario y duración fijo) o mas informales en que
el líder hace cita con el instructor por algún problema.
Según Personal Software Process [Humphrey 97] se deben tomar medidas individuales del
tiempo dedicado a las actividades de desarrollo para ayudar a los ingenieros de software a
controlar, manejar y mejorar su trabajo. Se realizan la toma de medidas personales de
tiempo, al efectuar cada una de las tareas de desarrollo, y del tamaño de los productos y
estas se registran en una forma de Registro de tiempos.
Team Software Process propone que cada miembro del equipo resuma su trabajo de la
semana en la forma Semana personal. A partir de los datos en estas formas de todos los
miembros, el administrador de planeación llena la forma Semana del equipo que resume las
tareas efectuadas esa semana por el equipo, los tiempos en realizarlas, las tareas completas
y los riesgos detectados.
Estas mediciones se convierten en datos históricos para futuros ciclos y proyectos. El uso
de los datos históricos permite mejorar la planeación de nuevos proyectos al hacer
estimaciones de tiempos, tamaños y calidad basados en lo sucedido en proyectos anteriores.
Estos datos históricos permiten también prevenir los riesgos y hacer propuestas de mejoras.
El resumen de los productos trabajados cada semana por cada miembro del equipo, se
registra en la forma Semana personal. En el encabezado de esta forma se registra el nombre
Su objetivo es registrar los productos en que se trabaja cada semana indicando el tiempo
que se les dedicó (aproximadamente), el tamaño de ese producto y el estado de avance del
producto en esta semana. Estos datos se registran en una tabla que tiene los siguientes
campos:
Productos de desarrollo generados. Se lista los productos en que se trabajó esta semana.
Tiempo dedicado. Es el tiempo dedicado en esta semana a cada producto en todas las
sesiones en que se trabajó en él. Cada vez que se trabaja en un producto se puede anotar en
esa columna el tiempo invertido y sumar esos tiempos al final de la semana y marcar el
total.
Tamaño del producto. Se indica el tamaño del producto en unidades que corresponden al
tipo de producto, pueden ser páginas, líneas de código, diagramas, etc.
En la reunión semanal del equipo, cada miembro informa de sus avances entregando su
forma Semana personal. El administrador de planeación recoge todas estas formas y hace
un resumen del avance del equipo en la forma Semana del equipo que entregará al
instructor cada semana.
El encabezado de esta forma indica el nombre del equipo, la semana y ciclo que se reporta.
En ella se registran el estado actual del avance del proyecto haciendo un resumen del
avance de todos los miembros. Consiste en 3 tablas en las que se registra:
En esta tabla se registran los tiempos dedicados por los miembros del equipo a las
actividades de desarrollo.
Esta forma incluye una tabla para dar seguimiento a los riesgos identificados en esta
semana y su estado. En el capítulo 3 se revisará que son los riesgos y cómo manejarlos.
Esta forma cambia en el segundo ciclo puesto que se aprovechan los datos recolectados en
el primer ciclo y se pueden hacer estimaciones de tiempo y tamaño para los productos. Esta
tabla es como sigue.
Además se llena esta tabla en la que se indica, según lo estimado cuánto tiempo menos (o
más y se pone negativo) se empleó esta semana y cuánto se ha ganado en el ciclo sumando
lo ganado hasta la semana anterior (forma semana del equipo de la semana pasada), mas lo
ganado de esta semana (renglón de arriba).
Referencias bibliográficas
• Ebert Ch., Dunke R., Busndschuh M., Schmietendorf A. Best practices in Software
Measurement. How to use metrics to improve project and process performance.
Springer 2005.
• Goldberg A., Rubin K. Succeeding with Objects: decision framework for project
management. Addison Wesley 1995. Cap. 12.
• Humphrey Watts S., Introduction to Personal Software Process. SEI Series in Software
Engineering Addison Wesley 1997.
• Humphrey Watts S., Introduction to Team Software Process, SEI Series in Software
Engineering, Addison Wesley, 2000.
• Pfleeger S.L. Software Engeneering. Theory and practice 3ª edición. Prentice Hall.
2006.
• Tomayko J. E., Hazzan O. Human Aspects of Software Engineering. Charles River
Media, Computer Engineering Series. 2004.