Scrum a été conçu à l'origine pour prendre en charge les environnements émergents de la technologie des objets, qui sont devenus le paradigme dominant dans le développement de logiciels. L'un des objectifs était de faire en sorte que l'organisation de l'équipe reflète la flexibilité potentielle du logiciel, étant donné que la rigidité d'un logiciel reflète toujours l'organisation qui l'a construit. C'est la loi de Conway. Fred Brooks a cité l'article de Mel Conway sur la datamation, publié en 1968, dans la revue Le mois de l'homme mythique et le nom est resté. "Toute organisation qui conçoit un système (défini au sens large) produira une conception dont la structure est une copie de la structure de communication de l'organisation.
Les langages orientés objet ont un petit ensemble de principes d'interopérabilité. Si l'un d'entre eux n'est pas respecté lors de la création d'un langage, de nombreux avantages de la technologie des objets s'évaporent. Une analogie similaire pourrait être faite à propos de Scrum. Voici donc un ensemble de principes candidats.
Héritage
Il est facile d'étendre le schéma Scrum pour l'adapter à l'environnement local sans modifier la métaclasse représentée par le schéma organisationnel Scrum.
Polymorphisme
Le même message envoyé à un Sprint différent peut produire un résultat dépendant de l'environnement.
Encapsulation (dissimulation d'informations)
Le travail est présenté par tranches. Les équipes Scrum peuvent s'adapter en faisant en sorte qu'un Scrum de Scrum ressemble à un Scrum tream pour un autre Scrum de Scrum. L'utilisation d'un réseau orienté objet pour la mise à l'échelle permet une mise à l'échelle potentiellement illimitée.
Conception émergente
Un petit changement peut avoir un effet d'entraînement qui entraîne un remaniement et l'émergence d'une nouvelle conception.
Messagerie
OO est un environnement de messagerie. Les communications constantes à large bande sont les plus efficaces.
Auto-organisation
Il n'y a généralement pas d'objet "de contrôle". Le comportement émerge de l'interaction entre les objets dans les langues et entre les personnes dans les Scrum.
Agrégation
Les objets peuvent être regroupés en composants. Les composants s'agrègent en une architecture. Les Scrum peuvent être agrégées en Scrum de Scrum orchestrées par une métaScrum. Une métaClasse crée le cadre pour toutes les classes. Le cadre Scrum peut être considéré comme une métaClasse définissant les attributs minimaux d'un Scrum et la relation entre les composants.
Réflexion
L'examen et l'analyse constants à un méta-niveau permettent d'accroître les fonctionnalités et la flexibilité. Il s'agit d'une caractéristique extrêmement puissante qui manque à certains langages et qui tend à les paralyser. Elle conduit à la rétrospective dans Scrum.
Toutes les implémentations logicielles d'objets utilisent la métaclasse d'un langage spécifique pour créer des structures cohérentes. Des centaines de personnes ont créé de nouveaux langages d'objets et 99% d'entre eux ont échoué sur le marché. Ces langages sont comme des implémentations maison d'Agile. L'expression "Nous faisons de l'Agile" n'a pas de sens. C'est comme dire que nous faisons de la technologie des objets. Au cours de la dernière décennie, nous regardions le code d'une application C++ et nous ne voyions rien d'autre que de vieilles procédures C. Souvent, il n'y avait pas un seul objet à utiliser. Souvent, il n'y avait pas un seul objet à trouver. Aujourd'hui, nous voyons des organisations hiérarchiques mettre en place des équipes hiérarchiques et appeler cela Agile. Elles ne peuvent pas s'en empêcher. Elles doivent d'abord changer l'organisation pour y parvenir, faute de quoi la loi de Conway les condamne à l'échec.
Certains langages sont structurés pour fonctionner ensemble, comme JRuby avec Java. C'est un peu comme Scrum et XP. D'autres, comme Java et C++, héritent des caractéristiques d'un ancêtre commun mais ne se mélangent pas bien. Ceux qui prennent des morceaux de langages agiles et les assemblent obtiennent ce que l'on attend d'eux... un cheval conçu par un comité. Il ne peut pas fonctionner, mais il peut peut-être stocker de l'eau.