Su navegador no soporta JavaScript. Roots of Scrum: Object Technology - Scrum Inc.
  • LinkedIn
  • YouTube
  • RSS

Scrum se diseñó originalmente para dar soporte a los entornos emergentes de tecnología de objetos, que ahora se han convertido en el paradigma dominante en el desarrollo de software. Uno de los objetivos era conseguir que la organización del equipo reflejara la flexibilidad potencial del software, ya que la rigidez del software siempre refleja la organización que lo construyó. Es la ley de Conway. Fred Brooks citó el documento Datamation de Mel Conway de 1968 en El mítico Hombre-Mes y se le quedó el nombre. "Cualquier organización que diseñe un sistema (definido en sentido amplio) producirá un diseño cuya estructura sea una copia de la estructura de comunicación de la organización".

Los lenguajes orientados a objetos tienen un pequeño conjunto de principios de interoperabilidad. Si se rompe alguno de ellos al crear un lenguaje, muchas de las ventajas de la tecnología de objetos se evaporan. Se podría hacer una analogía similar con Scrum. He aquí un posible conjunto de principios.

Herencia
Es fácil ampliar el patrón Scrum para adaptarlo al entorno local sin modificar la metaClase representada por el patrón organizativo Scrum.

Polimorfismo
El mismo mensaje enviado a un Sprint diferente puede producir un resultado dependiente del entorno.

Encapsulación (ocultación de información)
El trabajo se empaqueta en incrementos. Los equipos Scrum pueden escalar haciendo que un Scrum de Scrums se parezca a un Scrum tream a otro Scrum de Scrums. Utilizar una red orientada a objetos para escalar permite un escalado potencialmente ilimitado.

Diseño emergente
Un pequeño cambio puede tener un efecto dominó que provoque la refactorización y surja un nuevo diseño.

Mensajería
OO es un entorno de mensajería. La comunicación constante de gran ancho de banda funciona mejor.

Autoorganización
No suele haber un objeto "de control". El comportamiento surge de la interacción entre objetos en las lenguas y entre personas en los Scrum.

Agregación
Los objetos pueden agregarse en componentes. Los componentes se agregan en una arquitectura. Los Scrum pueden agregarse en Scrum de Scrum orquestados por un metaScrum. Una metaClase crea el marco para todas las clases. El marco Scrum podría verse como una metaClase que establece los atributos mínimos de un Scrum y la relación entre componentes.

Reflexión
La revisión y el análisis constantes en un metanivel conducen a una mayor funcionalidad y flexibilidad. Esta es una característica extremadamente potente que falta en algunos lenguajes, lo que tiende a paralizarlos. Lleva a la Retrospectiva en Scrum.

Todas las implementaciones de software de objetos utilizan la metaClase de un lenguaje específico para crear estructuras coherentes. Hubo cientos de personas que crearon nuevos lenguajes de objetos y 99% de ellos fracasaron en el mercado. Son como implementaciones caseras de Agile. "Estamos haciendo Agile" no tiene sentido. Es como decir que estamos haciendo tecnología de objetos. En la última década, mirábamos el código de una aplicación C++ y no veíamos más que procedimientos C antiguos. A menudo no se encontraba ni un solo objeto. Hoy vemos organizaciones jerárquicas implementando equipos jerárquicos y llamándolo Agile. No pueden evitarlo. Primero tienen que cambiar la organización para hacerlo bien o la Ley de Conway asegura que fracasarán.

Ciertos lenguajes están estructurados para trabajar juntos como JRuby con Java. Esto es análogo a Scrum y XP. Otros, como Java y C++, heredan características de un ancestro común pero no se mezclan bien. Aquellos que toman piezas de lenguajes ágiles y las improvisan obtienen lo que cabría esperar - un caballo diseñado por un comité. No puede correr pero tal vez pueda almacenar agua.

es_ARSpanish
Acciones