Ticker

6/recent/ticker-posts

@espicesar Ventajas del Desarrollo de Software Global

Términos como: "Distributed Software Development (DSD), Global Software Engineering (GSI) o la más difundida Global Software Development (GSD)" vienen a ser un paradigma para los gigantes de la industria del software mundial.

GSD hace mención al "desarrollo de software colaborativo" entre grupos de trabajo dispersos de por lo menos cincuenta metros de distancia hasta lugares remotos como el otro lado del continente; nótese que trabajar bajo estas distancias puede implicar importantes retos de coordinación por motivos de comunicación (idioma) y tiempo (zonas horarias).

La misión del GSD es "descomponer las tareas inseparables" para luego integrarlas.

El desarrollo de software es una actividad compleja (intrínseca) de conocimiento intensivo; por lo que el motivo principal para la distribución de actividades es básicamente de carácter económico; las grandes corporaciones dedicadas a este rubro han extendido sus actividades a países remotos con la finalidad de encontrar talentos con mano de obra barata o países donde por lo general enfrentarán menores costos en mano de obra, menor presión en leyes laborales, menor cantidad de normativas gubernamentales, reducción de otro tipo de costos, u otros beneficios cualesquiera desde el punto de vista del lucro económico para la empresa.


Otro de los motivos para aplicar GSD es aprovechar las zonas horarias para trabajar ininterrumpidamente 24x7 los 365 días del año, así el trabajo se va relevando de una sede a otra, de tal forma que mientras en una es de noche y sus trabajadores descansan se releva el proyecto a otra en la que es de día y los trabajadores están en su jornada normal de trabajo y así de forma cíclica (hasta tres zonas horarias que podrían ser “Asia / Oceanía y terminando en los EE.UU.”). De esta manera se acorta el tiempo de los proyectos y se ahorra en pagar horas extras y demás gastos que implicaría sobretiempo de labores.

El GSD debe Orquestar Idioma, cultura y zona horaria.

Relevar código fuente constantemente en pleno ejercicio de desarrollo es aún  un paradigma; un desarrollador no puede estar relevando el avance de su compleja lógica y estilo de programación hacia otro desarrollador para que lo culmine y además cumplir con los tiempos estimados, este punto ya lo he tratado anteriormente en el artículo: "Relevos de código fuente en desarrollo de software"; en tanto para salvar esta problemática la distribución de paquetes de trabajo entre las ubicaciones remotas deberá ser con un máximo de ocho horas (jornada laboral) por cada paquete de trabajo asignado a cada desarrollador, así se evita relevar código incluso y solo se centra en la integración de los módulos que fueron dispersos en las diferentes ubicaciones.

A través de diversas investigaciones en empresas que han optado por este marco de trabajo, la literatura sugiere que GSD solamente debería ser aplicado sobre etapas de codificación y pruebas, ya que las otra etapas como análisis y diseño son intrínsecamente asociadas al negocio y deben permanecer lo más próximo al cliente para una retroalimentación mas consistente.

Para lograr que GSD sea un marco de trabajo sólido, los retos a los que se debe enfrentar son diversos, por tal motivo, las empresas que optan por este modo de trabajo tienen que personalizar sus procesos de acuerdo al proyecto en marcha; al día de hoy la literatura aún no ha mostrado casos de éxito con algún modelo estándar sólido para enfrentar este tipo de proyectos, aunque se sabe que gigantes como IBM y Microsoft utilizan esta forma de trabajo.

Marcos Ruano Mayoral en su tesis doctoral: “Marco para la asignación de paquetes de trabajo en entornos de desarrollo global de software” sintetiza dos retos más relevantes para GSD:

•  Gestión del proyecto y del proceso. Debido a la complejidad organizativa, la planificación y la asignación de tareas es más problemática en entornos distribuidos. La dirección del proyecto ha de tener en cuenta el impacto que esta gestión puede tener en diferentes aspectos del proyecto.
• Coordinación. Entendida como la gestión de la información necesaria, de la gente adecuada y del momento oportuno para desarrollar una actividad. La coordinación en escenarios geográficamente dispersos se complica en términos de organización del trabajo y de comunicación entre otros, lo que tiene una gran repercusión en la gestión del proyecto.

Follow-the-sun (FTS) es una terminología para desarrollar trabajos en diferentes lugares con diferentes zonas horarias, este flujo de trabajo se creó con el fin de reducir la duración del proyecto y aumentar la capacidad de respuesta, en tanto, el trabajo es "siguiendo al sol" y nunca se detiene.

Hoy en día aplicar GSD en nuestro medio es posible gracias a la internet y a las tecnologías de apoyo (herramientas de gestión de proyectos, framewors de desarrollo, entre otros), con un organizado entorno de trabajo (Database, Middleware, etc.) y una armoniosa orquestación en la gestión de trabajo es posible integrar grupos dispersos a nivel mundial para la generación de software de gran escala y en corto tiempo.

¿Que otros aspectos consideras importante para normalizar GSD como estándar de trabajo en nuestro medio?


César Espinoza Callo
www.elexpositor.com

_______________________________________
Fuentes:
Ampliación de mi artículo:
http://www.cxo2cio.com/2015/04/que-es-gsd.html

Publicar un comentario

0 Comentarios