lunes, 25 de marzo de 2013

Desarrollo Ágil en grandes empresas: Amazon.com (1era parte)

Imagen de: Ambysoft.com

Los críticos del desarrollo ágil suelen tener la opinión que enfoques iterativos como Scrum no pueden ser aplicados a grandes empresas, pues consideran que los proyectos de software de estas requieren de cientos de personas que sólo pueden gestionarse en una estructura jerárquica centralizada.

Sin embargo, a pesar de esta opinión existen ejemplos de grandes empresas que han aplicado con éxito la agilidad, uno de esos casos es el de Amazon.com, quienes tienen establecida una forma de trabajo basada en equipos pequeños con alto grado de autonomía. En esta primera parte del artículo describimos los principios de arquitectura de software y organización de equipo que le permiten a Amazon.com trabajar de forma Ágil.

A continuación, pmoinformatica.com presenta “el Desarrollo Ágil en Amazon”:

Otros Artículos de esta serie

Luego de la publicación del artículo, se ha publicado una segunda parte del caso Amazon y una tercera parte que describe y presenta enlaces a casos de estudio en Microsoft, IBM y Yahoo.

>> Desarrollo Ágil en grandes empresas: 3era parte

>> Desarrollo Ágil en grandes empresas: Amazon.com (2da parte)

Referencia

Para preparar este artículo, en pmoinformatica.com utilizamos un Post muy interesante el el blog "High Scalability Blog", en el cual se mencionan aspectos de la arquitectura de Software y estructura de organización en Amazon.com.

El Desarrollo Ágil y la Arquitectura de Software

Para poder implementar el desarrollo ágil en una gran empresa, es crítico que se seleccione una arquitectura de software adecuada.

Tradicionalmente, el desarrollo de aplicaciones de software empresariales, han requerido equipos de desarrollo de software de cientos de personas, organizados en una estructura jerárquica, pues es este tipo de organización la que permite mantener el control de las versiones y de las actividades ejecutadas en el proyecto.

Esta forma de trabajar esta opuesta a los principios de la agilidad, los cuales establecen que los equipos de trabajo deben ser pequeños (menos de 8 personas), además, cada equipo debe tener control del componente de software que está desarrollando de extremo a extremo, sin dependencias del trabajo realizado por otros equipos.

Pero, ¿Cómo trabajar con equipos pequeños e independientes y al mismo tiempo orquestar el manejo de las versiones entre ellos y del proyecto en general?, veamos cómo ha trabajado Amazon.

La Arquitectura de Software en Amazon

Amazon comenzó como una sola aplicación comunicando se con un Back end, pero eventualmente creció hasta convertirse en una plataforma de servicios totalmente distribuida y centralizada, prestando servicios a diferentes aplicaciones.

Hoy en día, la arquitectura de Amazon tiene bajo grado de acoplamiento y está construida alrededor de servicios. Está arquitectura orientada a servicios es la que les permite construir muchos componentes de software, de forma rápida e independiente.

La arquitectura de Amazon a crecido hasta tener cientos de servicios y múltiples servidores de aplicaciones. Estos servidores de aplicaciones son los que proporcionan estos servicios. Por ejemplo, la aplicación que presenta la página Amazon.com es uno de esos servidores de aplicaciones. Asimismo, existen otros servidores, específicamente: Servidores para interfaces de servicios web (Web Servers), la aplicación de servicio al cliente y la interfaz para vendedores.

Estructura de Organización Ágil en Amazon

La organización de desarrollo de software en Amazon posee las siguientes características:
  • Los equipos de trabajo son pequeños y están organizados en función de los servicios de aplicación.
  • Los Servicios de aplicación son unidades independientes que proporcionan funcionalidad dentro de Amazon. También, es la forma en que Amazon está organizada internamente en sus equipos de trabajo. 
  • Una vez que Amazon identifica una nueva idea de negocio o problema que resolver, forman un equipo.
  • Estos equipos están limitados a entre 8 y 10 personas. Los llaman “Equipos de dos pizzas” (el número de personas que se pueden alimentar con dos pizzas). 
  • Se les da el grado de autoridad necesarios y se les da “el poder” (empowerment), para resolver el problema presentado, “de cualquier forma que ellos dispongan”. 
  • Por ejemplo, en una ocasión Amazon formo un equipo para encontrar frases en un libro que son únicas a un texto. Para ello, este equipo construyo una interfaz de servicios separada para proporcionar esta funcionalidad, ellos tenían la autoridad para hacer lo que se necesitara. 
  • Una vez que se desarrolla un nuevo servicio, se hacen pruebas integrales extensas, se determina el impacto en otros servicios o componentes, tomando las medidas que sean necesarias. 
El enfoque de trabajo de Amazon.com nos recuerda la técnica de Scrum de Scrum, una forma de escalar el uso de Scrum a grandes organizaciones.

En una próxima entrega

En una próxima entrega presentaremos más información, sobre como Amazon siempre tuvo una cultura y estructura organizacional que facilitaba la aplicación del desarrollo ágil, y presentaremos más detalles sobre la forma de trabajo de los equipo de desarrollo.

¿y qué opina usted?

¿Qué opina usted del desarrollo ágil para grandes empresas?, ¿Consideras que si es aplicable o no?, ¿Por qué?. Te invitamos a dejarnos comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) (Si lo deseas, puedes firmar tu comentario con la dirección de tu web). Asimismo, te invitamos a suscribirse por los distintos canales, incluyendo lista de correo electrónico, al Twitter @PMOInformatica, a nuestra página de Facebook o al feed RSS.

Referencia

High Scalability Blog. Amazon Architecture 

¿Interesado en libros sobre Desarrollo ágil de Software?












Kanban
Autor: David J Anderson
>> España (amazon.es)
>> Latinoámerica (amazon.com)
Código Limpio
Autor: Robert C. Martin
>> España(amazon.es)
>> Latinoámerica (amazon.com)
Gestión Ágil de Proyectos
Autor: Pablo Lledó
>> España(amazon.es)
>> Latinoámerica (amazon.com)
Diseño ágil con TDD
Autor: Carlos Ble Jurado
>> España(amazon.es)
>> Latinoámerica (amazon.com)


¿Quieres conocer otros productos y últimas novedades sobre desarrollo ágil y gestión de proyectos en amazon.es y amazon.com?.

>> Visita nuestra sección de productos amazon

Otros artículos sobre Desarrollo ágil, Scrum y Test Driven Development

No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.