Introducción
Este principio enfatiza la importancia de fomentar una óptima comunicación en todo el proyecto. Esto se
logra mediante una adecuada organización del equipo y la configuración de entornos de colaboración
eficaces.
|
|
Ventajas
|
-
Productividad de equipo
-
Más interrelación entre las necesidades empresariales y el desarrollo y las
operaciones de los sistemas de software.
|
Patrón
|
-
Motivar al personal para que rinda al máximo.
-
Crear equipos autogestionados.
-
Fomentar la colaboración entre funciones (por ejemplo, analistas, desarrolladores,
verificadores)
-
Proporcionar entornos de colaboración eficaces
-
Gestionar los artefactos en evolución y las tareas para mejorar la colaboración y
la perspectiva del progreso y de la calidad con los entornos integrados.
-
Integrar los equipos comerciales, de software y de operación
|
Antipatrones
|
-
Para apoyar a los desarrolladores heroicos que deseen trabajar jornadas muy largas,
incluidos los fines de semana.
-
Tener un personal altamente especializado equipado con sólidas herramientas con las
que realizar su trabajo, con una colaboración limitada entre los distintos miembros
del equipo y una integración limitada entre las diferentes herramientas. Se parte
de la suposición de que si todos los implicados realizan su trabajo, el resultado
final será satisfactorio.
|
|
Discusión
Un grupo de personas con talento y motivación en estrecha colaboración producen el software. Muchos sistemas complejos
precisan la colaboración de un cierto número de interesados con diversas habilidades, y los proyectos más grandes
suelen abarcar los límites geográficos y temporales, aumentando la complejidad del proceso de desarrollo. Por eso, las
cuestiones de personal y la colaboración (lo que algunos han denominado el elemento "soft" del desarrollo de software)
han sido un punto de atención principal de la comunidad de desarrollo ágil. El seguimiento de este principio precisa la
respuesta a muchas preguntas, que incluyen:
-
¿Cómo motivar al personal para que rinda al máximo?
-
¿Cómo colaborar en un equipo de software en paralelo frente a uno distribuido?
-
¿Cómo colaborar entre equipos responsables del aspecto comercial, del desarrollo de software y de las
operaciones de IT?
El primer paso para una colaboración eficaz es motivar a los individuos del equipo para que rindan al máximo.
La noción de equipos autogestionados ha ganado popularidad en la comunidad Agile (consulte Concepto: Prácticas de Agile y RUP); se basa en hacer que un equipo se comprometa
con su objetivo de entrega y, a continuación, proporcionarles la capacidad de decidir sobre todos los temas que
influyen en el resultado directamente. Cuando sienten que son enteramente responsables del resultado final, la
motivación es mucho mayor para llevar a cabo un buen trabajo. Ya en el manifiesto Agile se habla de crear proyectos en
torno a individuos motivados. Debe proporcionárseles el entorno y el soporte necesario, y confiar en ellos para que
terminen el trabajo.
El segundo paso es fomentar la colaboración entre funciones. Como dice Walker Royce, el desarrollo de software
es un deporte de equipo. Un enfoque iterativo aumenta la necesidad de trabajar en estrecha colaboración como equipo. Es
necesario deshacer los obstáculos que suelen existir entre analistas, desarrolladores y verificadores, y ampliar las
responsabilidades de estos roles para garantizar una colaboración eficaz en un entorno con un ritmo rápido. Todos los
miembros necesitan entender la misión y la visión del proyecto.
A medida que crecen los equipos, debe proporcionarles entornos de colaboración eficaces. Estos entornos
facilitan y automatizan la recopilación de métricas y los informes de estado y automatizan la gestión de compilaciones
y la contabilidad en torno a la gestión de la configuración. Esta eficacia reduce la necesidad de reuniones, lo que
libera a miembros del equipo para que puedan pasar más tiempo en actividades más productivas y creativas. Estos
entornos también deben habilitar una colaboración más eficaz al simplificar la comunicación, salvando lapsos de espacio
y de tiempo entre los distintos miembros del equipo. Se dan ejemplos de este tipo de rangos de entorno desde las salas
de proyectos compartidas, a soluciones de red o basadas en web, como las wikis o los entornos de desarrollo integrados
y los entornos de gestión de cambios y configuración.
A medida que el software se convierte en un factor más importante para los principales procesos empresariales, aumenta
la necesidad de colaboración efectiva entre equipos. En la mayoría de empresas, los equipos responsables de dirigir el
negocio, desarrollar las aplicaciones y ejecutarlas cuentan con poca comunicación.
El objetivo final de este principio es la colaboración integrada entre los equipos comerciales, de software y de
operación. A medida que el software se convierte en un factor más importante en cómo llevamos el negocio, debemos
crear una estrecha colaboración entre 1) los equipos que deciden cómo llevar a cabo los negocios en el presente y en el
futuro, 2) los equipos que desarrollan los sistemas de software de soporte y 3) los equipos que ejecutan las
operaciones de IT. En la mayoría de las empresas, estos tres grupos tienen poca comunicación.
|