cerrar-sesion editar-perfil marker video calendario monitor periodico fax rss twitter facebook google-plus linkedin alarma circulo-derecha abajo derecha izquierda mover-vertical candado usuario email lupa exito mapa email2 telefono etiqueta

400510402. Desarrollo distribuido globalmente

Escrito por Redacción en Tema de portada
no hay comentarios Haz tu comentario
Imagen de logotipo de facebook Imagen de logotipo de Twitter Imagen de Logotipo de Google+ Imagen de logotipo de Linkedin

Recuerdo el tiempo en que todos veníamos a un mismo lugar a trabajar en proyectos de desarrollo de software. Hoy, no es infrecuente que los equipos trabajen juntos en proyectos enteros y que no se vean nunca en persona. Pero aunque la globalización ha reducido hoy en día el número de desarrolladores que vuelan con frecuencia, no ha reducido el riesgo y la complejidad inherentes a la producción de un proyecto de éxito.

Y tampoco les ha pasado desapercibido a los directivos el atractivo del desarrollo y descarga global (GDD, por sus siglas en inglés) Organizaciones de todos los sectores del mercado usan GDD como una variable competitiva. Aunque la mayoría de las organizaciones dedicadas a las TIC saben los beneficios que cabe esperar de GDD, normalmente no están tan seguros de cómo conseguirlos.

Aún así, ello no ha afectado a la velocidad con la que se ha adoptado GDD. Con frecuencia, los requisitos de las empresas obligan a las organizaciones dedicadas a las TIC a adoptar GDD antes de que puedan establecer unas estrategias y unas plataformas que lleven al éxito.


Y conforme sale el tren de la estación y el ámbito y escala de los trabajos relacionados con GDD aumentan, también aumenta la posibilidad de fracasar. Este patrón continúa hasta que la frustración hace que las organizaciones lleguen a la conclusión de que GDD causa más problemas que resuelve.

((El desarrollo del software es una cuestión de trabajo en equipo. Si hacemos separaciones según geografía y empresa en un equipo de proyectos, aumentamos la complejidad))

GDD no es ni sencillo ni natural. El desarrollo del software ha sido siempre una cuestión de trabajo en equipo. Si hacemos separaciones según geografía y empresa en un equipo de proyectos, aumentamos la complejidad implícita en la consecución de resultados de éxito. Aún así, la flexibilidad global es la base clave para lograr ventajas en el coste, el tiempo y la calidad. Para triunfar en GDD, tenemos que proteger el factor equipo en el desarrollo de software.

Las bases para mantener la cohesión del equipo en GDD es una plataforma de procesos global que ofrezca la orquestación necesaria para garantizar que los equipos globales trabajan juntos y en sintonía. Una plataforma de procesos permite que los proyectos de GDD tengan cohesión y dirección en los equipos sin sacrificar la flexibilidad necesaria para el desarrollo ágil.

En lugar de obligar a que los equipos de GDD adopten un proceso único y “común” para todos los proyectos, les da a los equipos la capacidad de adoptar métodos y buenas prácticas que son visibles, prácticos, y bien gobernados.

La plataforma sirve para unir a los equipos globales y reduce el riesgo de fallo según se van haciendo más complejas las iniciativas de desarrollo global. Con una plataforma de procesos global podemos codificar fácilmente lo aprendido y lograr una constante mejora del proceso global.

Pero el proceso tiene poco valor sin la capacidad de institucionalizarlo. En los equipos distribuidos a nivel global o de organización, las plataformas GDD se convierten en instrumentos fundamentales para el éxito. La plataforma debería ser capaz de unir a los equipos globales de desarrollo con los procesos. Tiene que poder proporcionarles la capacidad de trabajar de forma local y a la vez colaborar de forma global.

En el desarrollo global, la comunicación natural entre los miembros del equipo de desarrollo se ve ampliamente reducida. Esto puede introducir vacíos en la comunicación y el entendimiento. Una plataforma que mantenga conectado el trabajo del equipo global y disponible “en contexto” a lo largo de su ciclo de vida, puede reducir el riesgo de que estos vacíos se transformen en malinterpretaciones.

Plataforma de Procesos Global

La comunicación y colaboración tácita e informal en los proyectos de software forma lazos de fuerte cohesión en el equipo. Ello permite a los equipos de desarrollo local auto corregir y auto dirigir de manera informal sus métodos de colaboración, de comunicación y de coordinación. No es infrecuente es estos equipos que se perciban los procesos como algo que hace que la vida resulte difícil y como más onerosos que ventajosos.

Sin embargo, los procesos son esenciales para dirigir los equipos GDD porque se pierde una gran cantidad de colaboración activa e informal en la divisoria entre equipos de proyectos distribuidos. El proceso se convierte en el puente que une a los equipos de GDD y ofrece la dirección y orquestación necesarias para garantizar que se consiga finalizar el proyecto con éxito. La comunicación y colaboración que normalmente no se habría definido o reflejado formalmente es necesaria aquí para reducir el riesgo de malinterpretación.

El valor de una plataforma de procesos se incrementa de forma significativa conforme aumenta el número de equipos y organizaciones implicadas en GDD. Ello es debido a que una plataforma sigue ofreciendo a los proyectos GDD flexibilidad para seleccionar los métodos y procesos adecuados, a la vez que ofrece a las organizaciones la capacidad de medir, mejorar o retirar métodos y procesos según convenga.

((La comunicación y colaboración tácita e informal en los proyectos de software forma lazos de fuerte cohesión en el equipo. Ello permite a los equipos de desarrollo local auto corregir y auto dirigir de manera informal sus métodos de colaboración))

Es importante recordar que aunque la analogía de la fabricación se ha relacionado con frecuencia con el desarrollo del software, son distintos. Cuando las organizaciones se embarcan en GDD, no deberían tratar a los proveedores de servicios o a los equipos auxiliares como “fábricas de software”. Un desarrollo del software innovador necesita de libertad creadora. Un enfoque en procesos “justos y precisos” es esencial para que los equipos GDD se mantengan creativos e innovadores.

Los procesos no pueden ser tan formalizados que se pierda la libertad creativa. Un proceso de descarga global debería enfocarse hacia las actividades que hay que realizar y por quienes, pero debería ofrecer libertad creativa entre equipos sobre cómo completar las actividades, siempre y cuando las líneas de comunicación permanezcan abiertas y sean entendidas por todas las partes implicadas.

Por ejemplo, al definir e implementar una especificación de software, se tiende a creer que cuanto más detallada y precisa sea la especificación mejores resultados se conseguirán entre los equipos de allende los mares.

Sin embargo, en la práctica, se contribuye poco a cumplir con los requisitos del producto final cuando se pierde tiempo de colaboración y comunicación entre los equipos distribuidos clarificando especificaciones y estilos de implementación que resultan innecesarios. Es difícil de dirigir un estilo de implementación a todos los equipos de GDD.


La mejor forma de establecer la cohesión en el estilo de implementación es acordando e incorporando buenas prácticas que son comunes y bien comprendidas entre los equipos GDD. Los métodos y procesos globales deberían centrar la energía de un equipo en gestionar y comunicar la arquitectura y los requisitos. No se debería malgastar tiempo en definir instrucciones detalladas paso a paso sobre cómo deberían hacer su trabajo los miembros del equipo distribuido.

En GDD, la actitud de “a mi manera o a la calle” para el desarrollo es rara vez efectiva. Nuestra plataforma de procesos tiene que permitir que los equipos de GDD trabajen a su manera. Un enfoque es determinar primero una metodología para el desarrollo que nuestra plataforma de procesos abogue.

Para conseguir que la plataforma sea lo más versátil, comprensible y aplicable posible, debería centrarse en proporcionar métodos que utilicen buenas prácticas comunes al sector. Convendría también incluir metodología, proceso y adopción de buenas prácticas como parte de los criterios para la selección de la obtención de servicios.

La ingeniería y personalización del proceso ha sido tradicionalmente una actividad que ha requerido un trabajo intensivo con aplicaciones prácticas lejos del estrellato. Sin embargo, la llegada de las plataformas de procesos y de las plataformas que los automatizan y los capacitan puede ofrecer a los equipos de GDD el apoyo necesario para que lo apliquen con éxito.

El proyecto Eclipse Process Framework (EPF) (www.eclipse.org/epf) es una definición de plataforma de procesos que ofrece este servicio. Para demostrar la plataforma, el proyecto incluye una herramienta ejemplar (Eclipse Process Framework Composer) y unos contenidos de procesos (Open Unified Process/Basic Unified Process) IBM Rational (la empresa para la que trabajo) ofrece una aplicación comercial de EPF con IBM Rational Method Composer (www-306.ibm.com/software/awdtools/rmc), que incluye el IBM Rational Unified Process. Microsoft ofrece su Microsoft Solutions Framework (www.microsoft.com/technet/solutionaccelerators/msf), que va alineado con Visual Studio Team System.

Plataforma de Desarrollo Global

Aunque las plataformas de procesos globales ofrecen a los equipos la dirección adecuada, se quedan cortas a la hora de ayudar con los retos diarios implícitos en el resultado final. Vacíos en la comunicación, la coordinación y la sincronización son consecuencia natural de los GDD y nuestro objetivo ha de ser reducir al mínimo esos vacíos.

La plataforma GDD que hay disponible puede suponer una diferencia significativa en el riesgo, los costes extra y el nivel de complejidad implícitos en solventar esos vacíos.

Es importante identificar pronto los costes extra y los riesgos que conlleva el GDD, y establecer una estrategia y una plataforma que sean eficaces en abordarlos antes de que nos metamos demasiado en el proyecto. Si no proporcionamos una plataforma para GDD, los equipos del proyecto hallarán soluciones tácticas y de “mejor encaje” para el proyecto según se van enfrentando a las complejidades del resultado final. Estas soluciones de “mejor encaje” normalmente se reinventan en una base de “proyecto a proyecto” (o “jefe de proyectos a jefe de proyectos”).

Conforme van aumentando el ámbito y escala de las iniciativas en materia de GDD, los jefes de proyectos y los arquitectos técnicos irán viendo cómo les va resultando cada vez más difícil encontrar soluciones de “mejor encaje” para el proyecto que proporcionen éxito con confianza. El efecto neto es que el riesgo de éxito de los GDD aumenta conforme aumenta el coste extra necesario par gestionarlo.

((En GDD, la actitud de “a mi manera o a la calle” para el desarrollo es rara vez efectiva))

Lo que no es una llamada a crear una plataforma que contenga más de lo que necesitamos antes de ponernos con el GDD. Lo que sí implica es que, en la primera fase de adopción del proyecto, tendríamos que crear una plataforma GDD para nuestra empresa que vaya en línea con nuestros planes de GDD y nuestra estrategia futura para las TIC.

Nuestra plataforma GDD debería ofrecer a la empresa soporte y la capacidad unificados para que se adapte, de forma selectiva, a las cambiantes necesidades de nuestros proyectos GDD
La necesidad de visibilidad y colaboración durante el ciclo de vida aumenta de manera significativa con el GDD. Un método común en los proyectos de GDD es dividir el trabajo de forma funcional para que los equipos distribuidos puedan completar sus actividades individualmente.

Por ejemplo, una compañía puede hacer todo su análisis, diseño y gestión del lanzamiento en los EE.UU., a la vez que trabaja con equipos en la India para el desarrollo y la comprobación. Aunque su trabajo haya sido dividido de manera funcional, sigue siendo críticamente interdependiente.

Como la colaboración en tiempo real entre estos equipos distribuidos es limitada, con frecuencia tendrán que colaborar de forma pasiva entre ellos. Esto implica acceder y potenciar el trabajo y las actividades relacionadas de sus compañeros de una forma acordada previamente dentro del contexto de su esfera de trabajo.


Coordinación, sincronización y comunicación se hacen así esenciales, porque cualquier pregunta o respuesta que no pueda ser resuelta de forma independiente causará retrasos o respuestas de “la mejor ocurrencia” para que continúe el trabajo.

Cuando no se instituye una plataforma GDD eficaz, los miembros del proyecto GDD tienen que averiguar ellos mismos cómo mantener la coordinación, sincronización y comunicción. En estos proyectos, los retrasos y el tener que volver sobre lo ya hecho son con frecuencia enemigos encontrados además de resultar de mayor complejidad y mayores costes.

Es importante recordar que los equipos distribuidos que no forman parte de la organización del propietario del proyecto necesitan tener igual o mayor acceso y soporte a la plataforma GDD. Los equipos de ultramar normalmente no tienen la ventaja de participar de forma activa en los requisitos, el análisis y actividades de diseño que fomentan un alto grado de colaboración.

Por lo tanto, dependen mucho más de la plataforma GDD como medio de comunicación. La plataforma GDD tiene que ser utilizada también de forma efectiva por las partes involucradas en el análisis, diseño, y otras disciplinas y actividades que requieren un alto grado de colaboración. Con frecuencia, los equipos que realizan estas actividades utilizan canales informales de colaboración y comunicación fuera de la plataforma GDD, lo que excluye de la interacción a los equipos distribuidos.

Puede creerse que la interacción o lo tratado puede ser “vuelto a expresar” en forma de especificaciones, modelos y cosas por el estilo. Si bien son importantes para mantener a los equipos centrados en los objetivos del proyecto, no sirven como sustitución del contexto que proporciona la observación y participación directas.

((Los equipos distribuidos que no forman parte de la organización del propietario del proyecto necesitan tener igual o mayor acceso y soporte a la plataforma GDD))

Entre los ejemplos comerciales de plataformas GDD se encuentran IBM Rational Software Delivery Platform (www.ibm.com/developerworks/platform) y Visual Studio Team System de Microsoft (msdn2.microsoft.com/en-us/teamsystem). Junto con otros, se están transformando en “entornos colaboradores de desarrollo” y están destinados a revolucionar las plataformas GDD actuales. El proyecto Jazz de IBM Rational (www.jazz.net ) es un ejemplo.

Las empresas pueden también considerar la implementación de una plataforma de desarrollo global para múltiples distribuidores mediante la selección de la mejor raza de herramientas y de tecnologías para las disciplinas del software e incentivar su soporte de integración.

Sin embargo, es importante seleccionar una plataforma que esté estrechamente emparejada con las actividades para el desarrollo de software y el producto del trabajo del equipo de GDD durante todo el ciclo de vida, a la vez que se da flexibilidad y soporte para dejar que los miembros del equipo puedan trabajar como normalmente lo hacen.

En última instancia, la mejor plataforma GDD mejora la cohesión de nuestros equipos de proyectos de GDD desde principio a fin y hace que el trabajo distribuido globalmente y entre organizaciones se aproxime lo más posible al trabajo a nivel local de una sola unidad.

Medidas globales

Una medida y una estrategia de medición efectivas de GDD reduce el ruido organizativo y de políticas y mantiene a los equipos distribuidos centrados en los objetivos del proyecto. Es ingenuo creer que los retos en materia de GDD se limitan a la tecnología y los procesos. Cuando hay implícitas múltiples culturas, organizaciones y disciplinas, el clima político puede nublar y distraer a los equipos de proyectos de GDD.

Para minimizarlo, lar organizaciones deberían fomentar lo más posible un espíritu de transparencia en los proyectos GDD. Un método para aplicar transparencia consiste en dar a todos los miembros del equipo de GDD acceso a los informes sobre el progreso del proyecto global, algo que está normalmente reservado sólo para los propietarios y los jefes del proyecto.

Las mejores medidas para fomentar el trabajo conjunto hacia el éxito del proyecto requieren de cooperación mutua entre todos los equipos del proyecto distribuidos globalmente y entre distintas organizaciones. Por ejemplo, podemos responsabilizar a todos del tiempo de respuesta en la solicitud de cambio general desde que se emite hasta la implementación y el lanzamiento.

Es de alguna forma irónico que esta media se utilice a menudo para medir la eficacia de un jefe de proyectos cuando la medida se ve claramente más influida por el trabajo del equipo de GDD. Las medidas de GDD deberían fomentar el espíritu y entendimiento de que todos en conjunto logran el éxito o el fracaso.

Cuando indicamos que vamos a medir algo o a alguien, la pregunta siguiente es cómo lo vamos a hacer. Recordemos que una medida y una estrategia de medición sólo es efectiva y creíble si puede ser implementada y bien gobernada. Nuestra plataforma debería permitir que la organización implemente de forma efectiva y controle las mediciones y medidas.

Un método de medición y de medidas puede también beneficiar la obtención de servicios de software. En la actualidad, la contratación y externalización son componentes normales en los proyectos de desarrollo del software. Ello ha aumentado el clima competitivo en la obtención global de servicios de desarrollo del software y ha proporcionado a las organizaciones múltiples opciones.

Muchas organizaciones se aprovechan de esta flexibilidad y utilizan múltiples proveedores de servicios mediante el “multisourcing” o “multiprovisión”. Por desgracia, el criterio de evaluación utilizado por la mayoría de las organizaciones para decidir quienes son los mejores proveedores de servicios para un trabajo sigue siendo esencialmente subjetivo. Eso aumenta el riesgo de fracaso porque es difícil saber qué proveedor de servicios nos va a dar el mejor servicio para un proyecto ya planificado.

Con una estrategia de medición efectiva, las organizaciones pueden seleccionar el mejor proveedor de servicios para ese trabajo basándose en datos cualitativos. Este método puede además ayudar a que las organizaciones gestionen su ecosistema de socios mediante la selección natural. En última instancia, reduce el riesgo del desarrollo distribuido globalmente mediante una mejor predicción y unos resultados mesurables porque fomenta que los proveedores de servicios se alineen con los objetivos de la organización que los contrata.

A su vez, los proveedores de servicios se ven recompensados con contratos futuros y relaciones a largo plazo. Tiene además el potencial de reducir los costes de gestión de los distribuidores al ofrecer a las organizaciones una plataforma que gestione el funcionamiento de los contratos de servicios.

(Tanto IBM Rational Project Console como IBM Rational Portfolio Manager ([www-306.ibm.com/software/awdtools/portfolio) ofrecen mediciones globales de todo el ciclo de vida)]

Nuestra plataforma GDD es fundamental para instituir nuestro método de medidas y mediciones con el menor esfuerzo y coste extra posibles. Muchas herramientas que dan soporte a los equipos de GDD también ofrecen mediciones e informes, pero normalmente están limitadas a su dominio específico.

Es importante garantizar que nuestra plataforma ofrezca medición e informes holísticos además de la buena gobernanza necesaria para garantizar la integridad de las mediciones. Tanto IBM Rational Project Console como IBM Rational Portfolio Manager (www-306.ibm.com/software/awdtools/portfolio) ofrecen mediciones globales de todo el ciclo de vida y unos informes estrechamente emparejados con la Rational Software Delivery Platform de IBM (www.ibm.com/developerworks/platform). También Microsoft tiene herramientas de gestión de proyectos que pueden ofrecer informes ALM como parte de Visual Studio Team System.

Conclusión

La globalización continúa borrando fronteras para la empresa y las TIC sin que muestre signos de ralentización, y las oportunidades que se derivan de ello son difíciles de resistir. Con la plataforma de procesos global, la plataforma y las mediciones apropiadas, podemos garantizar que nuestra organización TI no se va a quedar sin trabajo. DDJ

Etiquetas

Noticias relacionadas

Comentarios

No hay comentarios.

Deja un comentario

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

Debes haber iniciado sesión para comentar una noticia.