
En 2001, un groupe de technologues et de programmeurs qui ont partagé des théories non triviales sur la façon de gérer le développement de logiciels s'est réuni à la station de ski Snowbird pour écrire certains de ces concepts par écrit. C'est ainsi qu'est né le
Manifeste Agile - un document d'une simplicité trompeuse conçu pour redéfinir le dogme du développement logiciel. Le développement de logiciels de style agile est devenu un nouveau standard dans l'organisation du travail des programmeurs dans une organisation. Des entreprises telles que
Facebook ,
Amazon ,
Apple ,
Google et
Netflix ont construit leurs processus de développement interne conformément aux dispositions de base de ce manifeste. Compte tenu de l'ampleur d'Agile et de sa résonance publique parmi les partisans, il est facile de voir que Agile est la plus influente de toutes les interprétations formalisées du développement logiciel. Cependant, Agile est une idéologie. Le système normatif de valeurs et de croyances, presque au point d’être absorbé par le développement de logiciels. Ainsi, l'industrie du logiciel offre aujourd'hui une opportunité intéressante pour évaluer dans quelle mesure les objectifs nominaux d'une certaine idéologie sont cohérents avec sa mise en œuvre dans la pratique.
En substance, Agile était une émeute contre la domination des entreprises dans le développement de logiciels. Pour la première fois, il a été reconnu que le développement de logiciels est un processus complexe et souvent mystérieux qui doit être protégé de la bureaucratisation des entreprises. Changement, réinvention, flexibilité, dynamisme - tels sont les fils rouges qui traversent le manifeste Agile. Ils se sont révélés infiniment attrayants: selon
une étude mondiale , environ 97% de toutes les organisations sous une forme ou une autre pratiquent les principes de l'Agile. Grâce à cette diffusion généralisée, Agile a atteint une nominalisation totale dans la théorie de la gestion du développement logiciel: aujourd'hui, le terme «agile» fait référence à l'idéologie, aux méthodes de travail, et même aux systèmes utilisés pour développer des logiciels dans une organisation moderne. L'agilité s'étend même au-delà des équipes de programmeurs et est de plus en plus pratiquée dans d'autres équipes responsables, par exemple, des finances ou de la gestion des ressources humaines. Agile, interprétée comme une théorie universelle de la gestion, s'est révélée extrêmement accessible et populaire - malgré la
rareté des preuves empiriques de son efficacité et de son utilité.
Fait intéressant, le manifeste Agile n'essaie pas d'articuler des méthodes de travail, des règles, des processus, des systèmes ou des structures spécifiques qui pourraient aider à développer un logiciel de style Agile. Ce n'est pas surprenant: après tout, le manifeste Agile n'a jamais prétendu avoir une description détaillée de la façon d'atteindre les objectifs de ce manifeste. Un flou aussi net n'a pas diminué la popularité d'Agile: en fait, la croissance rapide de la demande de méthodes et d'outils Agile spécifiques a conduit à l'émergence d'une méta-industrie basée sur les ressources Agile. Cet intérêt a stimulé l'introduction de l'Agile, la pénétration dans de nouvelles industries de l'idéologie de l'Agile et de ses dérivés. Les méthodologies Agile les plus clairement définies (par exemple, Scrum et Kanban - c'est-à-dire les descriptions détaillées des processus qui doivent être suivis pour mettre en œuvre les principes du manifeste Agile) et les plates-formes logicielles spécialisées spécifiquement conçues pour soutenir le développement Agile se sont avérées les plus distinctes. La société technologique australienne Atlassian vend une gamme de produits conçus pour prendre en charge les processus de développement de logiciels de style Agile; Il convient de noter en particulier Confluence et Jira, qui sont de facto devenus les normes de l'industrie. Pour ceux qui ne sont pas cuits dans la communauté technologique, ces produits semblent assez mystérieux. Un certain nombre d'articles explicatifs ont été publiés avant qu'Atlassian ne soit inscrit sur les listes du NASDAQ immédiatement après. Les articles visaient à expliquer ce que Atlassian vend exactement et pourquoi la société a atteint une capitalisation boursière aussi élevée.
Comme les logiciels Atlassian, le vocabulaire décrivant les processus Agile et les méthodes de travail quotidiennes est également devenu de plus en plus impénétrable pour les non-initiés. Les praticiens agiles parlent de sprints, de tableaux Kanban, de diagrammes de tâches, de vitesses, de récits d'utilisateurs, d'épopées et de rétrospectives - la signification de tous ces mots change souvent selon le contexte, et ces termes eux-mêmes peuvent être associés à une ou plusieurs méthodologies Agile clairement définies. Faut-il s'étonner qu'à mesure que la méthodologie Agile se complexifie, il y a une cohorte croissante de consultants spécialisés qui aident à donner un sens à tout cela. Bain & Company dispose d'environ 1 000 praticiens Agile. C'est peut-être l'indicateur le plus fiable qui montre la rentabilité de l'industrie du conseil Agile. Cependant, si le manifeste Agile est aussi simple qu'il y paraît à première vue, alors pourquoi y a-t-il autant de consultants? Dans quelle mesure les services de l'un d'entre eux affectent-ils la qualité et l'efficacité du travail dans une entreprise technologique typique?
Malgré le vocabulaire, les outils spécialisés et un énorme corpus de ressources disponibles pour tous ceux qui souhaitent pratiquer le développement de logiciels de style Agile dans leur entreprise, il est souvent difficile de suivre avec précision la mise en œuvre d'Agile dans la pratique - c'est-à-dire qu'elle correspond à l'esprit et à la lettre enregistrés par les auteurs dans le manifeste Agile Le manifeste Agile est intentionnellement et inévitablement rendu abstrait. Cela a peut-être conduit à une distorsion progressive de la méthodologie Agile et, par conséquent, à toute la culture de gestion dans l'industrie du logiciel en tant que telle. Quelque chose de colossal a été construit sur des fondations apparemment simples - un mécanisme qui a extrêmement déçu ceux qui ont jeté les bases de sa première itération. De plus, en raison de la longue popularité d'Agile, les spécialistes qui n'ont pas de qualification Agile formelle ont commencé à perdre la concurrence face à des collègues qui sont censés être professionnellement versés en Agile. De nombreux bonus de carrière attendent ceux qui prétendent comprendre l'appareil Agilr et savent comment l'utiliser. Une telle réalité stimule le conformisme et noie toute tentative de douter de la domination d'Agile ou de poser une question sur son efficacité.
Andy Hunt, l'un des auteurs fondateurs du manifeste Agile, se
plaint qu'en raison de la formulation abstraite du Manifeste original, des règles sans fin sont apparues et se sont répandues qui sont utilisées hors contexte et censées former la base du développement de style Agile. Au fil du temps, ces règles sont codifiées sous la forme de méthodologies spécialisées qui doivent être suivies sans réfléchir, tout en oubliant les lignes directrices originales du Manifeste. En d'autres termes, l'idéologie Agile s'est révélée extrêmement difficile à étudier, à apprendre et à pratiquer. Par conséquent, certains personnages s'appuient sur des règles ou des heuristiques définies de manière rigide qui sont transmises en tant qu'Agile, puis continuent de remplacer ces règles (souvent prises hors contexte) par des pratiques Agiles qui sont cohérentes avec les objectifs du Manifeste. Dans la plupart des organisations, aucun raffinement progressif du processus de développement ne se produit; au lieu de cela, les gestionnaires se trompent, estimant que le processus ne permet pas de changements, refusent l'amélioration progressive du produit et s'efforcent d'arracher trois skins aux développeurs, opérant principalement avec des canons pris au plafond et fixés de manière rigide. Les organisations qui n'obtiennent aucun avantage réel d'Agile (et il y en a beaucoup) se tournent naturellement vers la surveillance de la mise en œuvre d'un certain processus Agile, tout en ignorant les résultats les plus flous mais les plus importants du processus - c'est-à-dire la livraison de logiciels viables.
L'apogée de Scrum et Kanban est, au mieux, une tentative de formaliser et de diffuser l'idéologie Agile. Dans le pire des cas, toutes ces méthodologies ne sont rien de plus qu'une bureaucratie supplémentaire, générant de nouvelles règles et mesures déraisonnables que les développeurs doivent suivre. Tout cela est imposé pour des raisons souvent mal supportées empiriquement. Les gestionnaires, consultants, développeurs et même des organisations entières médiocres prospèrent dans de telles circonstances: il devient plus facile de se concentrer sur les règles nominales de l'idéologie et, progressivement, il s'avère plus prioritaire que d'atteindre des objectifs réels. Fondamentalement, dans l'industrie du développement logiciel, il y a une
manie avec la mesure de la «contribution» et du «retour» d'Agile au niveau des employés individuels. Une telle manie a conduit à négliger l'éthique Agile d'origine, un changement dans les priorités de collecte des statistiques pour chaque employé individuel, alors qu'en fait il est nécessaire d'améliorer progressivement les processus au niveau de toute l'organisation.
La plus grande ironie de cette dégénérescence est que la philosophie Agile originale a été conçue pour libérer le programmeur moyen de la tyrannie de la microgestion et de la supervision bureaucratique inutile. Au lieu de cela, l'essence même de cette idéologie dans sa forme actuelle est déjà difficile à reconnaître pour ceux qui l'ont créée. Plus généralement, le sort d'Agile en tant que méthodologie logicielle est un exemple amer de la façon dont une idéologie laconique et abstraite est progressivement déformée et déformée à mesure que son influence grandit, et de plus en plus de tentatives sont faites pour la mettre en pratique.