Ce que les utilisateurs d’Agile ne disent pas et est-il possible de construire un pont selon Agile?

Aujourd'hui, le développement agile a retrouvé le sommet de sa popularité - de nombreuses entreprises informatiques (et pas seulement informatiques) travaillent uniquement selon agile. Et ceux qui n’ont pas suivi la tendance, embauchent en toute hâte des formateurs, réapprennent les employés, reconstruisent le processus et implantent agile, sous une forme ou une autre.

Mais agile, est-il aussi bon et universel que le prétendent ses adeptes? En effet, dans le cas de son utilisation maladroite et en fonction de sa souplesse, il peut apporter beaucoup plus de problèmes et de déceptions que d’avantages? Essayons de le comprendre ensemble...

Étudions les cas les plus courants et les questions qui préoccupent les managers et les propriétaires d’entreprise lorsqu'ils pensent à implanter le développement agile:

  • Notre projet est très complexe et nécessite la maîtrise de connaissances spécialisées, une élaboration approfondie et le respect des différentes normes sectorielles. Pourrons-nous travailler selon agile et en tirerons-nous des avantages?
  • Le strict respect des délais, des budgets et des plans est essentiel pour nous et nos investisseurs. Agile avec sa souplesse déclarée, peut-il assurer l’exécution à temps des tâches fixées?
  • Nous travaillons avec une équipe répartie, située dans différents pays et fuseaux horaires. Pouvons-nous bien gérer les membres de l'équipe et assurer une communication efficace, en implantant agile? Ces changements peuvent-ils entraîner une perte de contrôle des processus?

Les réponses à toutes ces questions n’ont rien de banal et nécessitent une compréhension des bases des développements flexibles, de leurs forces et faiblesses.

Dans notre série d'articles sur les particularités du travail selon agile, nous vous révélerons tous les secrets qui vous permettront de prendre des décisions mûres et réfléchies.

Partie 1. Utilisation du développement agile dans le cadre des projets complexes.

Particularités du travail selon Agile

Agile implique:

  • Un changement constant de priorités.
  • La précision et la mise en œuvre des exigences après chaque itération.
  • Une fourniture constante des fonctionnalités les plus demandées.
  • Tout cela est conçu, semble et marche vraiment cool!

D’autre part, cette approche rend impossible la création de spécifications détaillées (elles se révèlent dépourvues de sens, car toute modification des exigences entraîne une chaîne de modifications de ces spécifications, et de plus, elles peuvent perdre complètement leur actualité après plusieurs itérations).

De plus, agile ne fonctionne pas efficacement avec de longues itérations, quel est le sens des développements flexibles si nous ne voyons le résultat de nos corrections qu’après six mois - un an?

Mais que faire, alors, avec des projets complexes, tels que: construction de ponts, de bâtiments, fabrication d’avions, de fusées ou d’équipement médical?

Est-il possible de construire un pont selon agile si, après la mise en œuvre et la démonstration de chaque composant, on nous demande de faire des précisions relatives aux exigences et priorités?

En effet, dans ce cas, les nœuds seront changés et livrés conformément aux priorités évolutives du client, et non comme cela est nécessaire du point de vue ingénieur. De plus, des modifications apportées à la construction de certains nœuds peuvent amener à des conséquences catastrophiques: les composants peuvent ne plus se combiner ou les exigences générales, relatives à la résistance et à la sécurité de la structure, peuvent être affectées...

De nombreux projets complexes, nécessitant une planification rigoureuse, existent dans les technologies de l'information. Il s’agit du logiciel pour les institutions financières ou médicales, des programmes de gestion de divers nœuds dans les avions, les voitures, les engins... On peut en énumérer beaucoup.

cascade avec des spécifications gigantesques, des processus clairs et l'impossibilité totale de changer quoi que ce soit après le début du projet...

Il n’est pas encore le temps d’abandonner Agile...

Cependant, nous sommes persuadés que même lors de la réalisation des tâches extrêmement complexes, les développements flexibles peuvent être appliqués, bien qu'avec des réserves. En effet, agile offrira d’énormes avantages à tout projet.

Grâce à des corrections et des retours constants à toutes les étapes, le produit final sera beaucoup plus moderne, il répondra mieux aux besoins de vos clients, sera implanté en fonction des dernières tendances et technologies, dont nous serons évidemment dépourvus dans le cas d’un modèle en cascade.

Bien sûr, ce sera un défi très non trivial. Cela nécessitera une équipe de gestionnaires expérimentés, une implication profonde de spécialistes techniques ainsi que des outils puissants pour la visualisation et la planification des tâches.

Il est impossible de même essayer d’apporter des modifications aux processus de développement, si vous gérez des projets uniquement à l'aide d'un tableau avec des autocollants, d'Excel, d’Outlook ou d'une autre application obsolète et peu efficace. Il est très important que ce soit un outil moderne puissant (comme TBB, Jira, Azure DevOps ), doté de capacités diversifiées de surveiller sous différents angles tous les détails de projet importants.

Construction d’un pont selon agile

Maintenant, revenons à l'exemple de la construction d’un pont. Pour avoir la possibilité de mettre en œuvre ce projet selon agile, il est tout d'abord nécessaire de décomposer correctement le contenu de travaux en modules faiblement dépendants. (Un schéma similaire est à reproduire vis-à-vis de tout projet complexe).

Ensuite, il faut mettre en évidence:

  • des modules centraux non modifiables (core modules).
  • des modules autorisant des modifications partielles.
  • des modules prêts à toute modification.

Au cours du processus de réalisation, l’équipe de projet doit surveiller attentivement tous les changements, en particulier dans les zones d’interaction entre les modules, les tester soigneusement pour la compatibilité et réviser périodiquement l’ensemble du projet en vue de s’assurer de sa conformité aux normes générales.

Par exemple, nous pouvons décomposer la structure du pont en modules suivants:

des supports, des volées, des infrastructures autour du pont et revêtement de décoration du pont.

  • Les supports sont un noyau non modifiable qu’il faut concevoir et implanter conformément à des normes d'ingénierie et régionales strictes, le modèle en cascade correspondra uniquement.
  • Les volées - à première vue, elles semblent aussi non modifiables, mais nous pouvons corriger leur destination et paramètres en respectant certaines limites (on peut changer la largeur, la hauteur, le matériau et même le type de volées).
  • Les infrastructures autour du pont et revêtement de décoration du pont - c’est ce qui le rend original et commode, à mettre en œuvre uniquement selon agile.

Il est possible que ces recommandations semblent un peu vagues. Mais chaque projet est unique et chacun doit rechercher sa propre voie d’une mise en œuvre flexible. Dans cet article, nous avons montré un exemple simplifié de la mise en œuvre de projets complexes en utilisant les avantages des approches agiles.

Bilan

  • Agile est applicable à tout type de projet, mais avec certaines particularités.
  • Implanter agile est une solution certainement avantageuse, qui vous procurera une énorme avance sur la distance.
  • Dans les cas des projets complexes, il faut implanter agile très soigneusement, et sous la surveillance de formateurs et de managers expérimentés.
  • Pour que la transition à agile soit réussie et sans problèmes, il faudrait utiliser les outils de gestion modernes TBB, Jira, Azure DevOps ou autres.

Pour plus d’informations sur l’un des outils de gestion de projets mentionnés ci-dessus ou pour accéder à nos autres articles, cliquer sur le lien.

A suivre...