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:
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.
Agile implique:
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...
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.
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:
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.
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.
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.