Cette section, explique les principaux types d’approche, qui peuvent être utilisés pour créer la solution. L’approche est également appelée, le cycle de vie du développement de la solution.
Nous parlerons des trois grands types d’approche du développement de solutions. L’approche, ou cycle de vie prédictif, l’approche, ou cycle de vie itératif, et l’approche, ou cycle de vie incrémental. Ce qu’on appelle l’approche Agile, est une combinaison de l’approche itérative, et de l’approche incrémentale.
Le cycle de vie d’un projet, fait référence à l’ensemble des phases, ou itérations, dans lesquelles un projet est organisé. En fonction de la structure, et du type de produit à développer, différents types de cycle de vie de projet, peuvent être définis.
Illustrons cela avec un exemple
Solution prédictive
Supposons qu’un projet soit lancé, pour combler ce nid-de-poule. Si nous connaissons les dimensions exactes du nid-de-poule, et que les exigences peuvent être établies, alors le travail à effectuer est prévisible. Cela commence par les dimensions, les exigences, et continue par la conception, et la préparation du moule, puis par la mise en place du béton, la finition du bloc, et se termine par le remplissage du nid de poule. C’est ce qu’on appelle l’approche en cascade, ou approche prédictive. Cela ne fonctionne que si toutes les exigences sont connues, et clairement comprises au début. Si nous ne connaissons pas les dimensions du nid-de-poule, cela devient un problème complexe.
Solution itérative
Dans le même exemple, supposons que vous ne connaissez pas les dimensions du nid-de-poule, donc vous décidez de ciseler la forme pour combler le vide. Vous continuez à affiner la forme, en la découpant, et en la coupant encore, et encore, jusqu’à ce qu’elle s’adapte, dans le nid de poule. Vous affinez par itérations, jusqu’à ce que le bloc sculpté s’intègre parfaitement dans le nid de poule. Par conséquent, même si vous ne connaissez pas les dimensions ou les exigences, vous pouvez combler le vide avec plusieurs itérations. C’est ce qu’on appelle l’approche itérative.
Solution incrémentale
Maintenant, résolvons ce problème complexe d’une autre manière encore. Vous pouvez créer un bloc de béton, et le livrer au client. Le client place ce bloc de béton dans le nid de poule, et vous donne son avis sur les parties restantes du nid de poule non remplies. Vous créez plus de blocs incrémentaux en fonction des rétroactions du client, et continuez à remplir le nid de poule. C’est ce qu’on appelle l’approche incrémentale. Dans ce cas, le client ne doit pas attendre à la fin du projet pour obtenir de la valeur. Au lieu de cela, le client peut commencer à utiliser les incréments, et continuer à fournir d’exigences fonctionnelles jusqu’à la fin du projet. Par conséquent, même si vous ne connaissiez pas les dimensions de départ, vous pouvez combler le vide progressivement, en utilisant une approche incrémentale.
Solution agile
C’est une autre façon intelligente de gérer le problème complexe, lorsque les exigences sont inconnues au début. Dans ce scénario, vous n’avez absolument aucune idée de la taille du nid-de-poule. Dans ce cas, vous décidez de livrer des briques plus petites. Sur la base des rétroactions régulières du client, vous pouvez fournir de petites briques, de tailles et de formes appropriées. Certaines des briques doivent être ciselées, pour mieux s’intégrer dans le nid de poule, et le client vous indique, si cette retouche d’une brique déjà livrée, doit être effectuée maintenant, ou plus tard. Car parfois le client considère, qu’il est plus important de mettre en place de nouvelles briques, au lieu d’en perfectionner une, qui ne cadrait pas bien, après la première livraison. Le client décide. Par conséquent, cette approche est à la fois incrémentale, et itérative. Il s’agit d’une approche intelligente, lorsque vous avez trop d’inconnues, et / ou d’exigences peu claires. C’est ce qu’on appelle l’approche Agile, qui est à la fois itérative, et incrémentale.
Résumé intermédiaire
Nous avons vu l’approche prédictive, l’approche itérative, l’approche incrémentale, et l’approche Agile. Nous espérons que cette méthode graphique vous aidera à vous souvenir des différents types de cycle de vie que vous pouvez utiliser pour développer votre solution.
Exemple de système en ligne
Maintenant, utilisons ces informations, et appliquons-les à l’exemple de notre solution en ligne « pour augmenter la transparence des transactions ».
Cycle de vie prédictif (également appelé « en cascade »)
Lorsque toutes les exigences sont connues, et clairement comprises au début du projet, nous pouvons suivre une approche prédictive. Nous exécutons les phases du projet dans l’ordre, et livrons une solution en ligne complète à la fin.
Cycle de vie itératif
Lorsque les exigences ne sont pas connues au départ, nous pouvons adopter l’approche itérative. Cela commence par la création d’une solution de base, pour tous les produits. Sur la base de rétroactions du client, nous affinons la solution, par itérations progressives, jusqu’à ce que le client déclare, que le produit est prêt.
Il pourrait y avoir des avantages à travailler simultanément, sur tous les processus impliqués, dans la comptabilité, les ventes, et la logistique, pour s’assurer du début à la fin, que tout est intégré, et s’emboîte.
L’approche itérative consiste à rassembler progressivement les exigences, et à affiner l’ensemble du produit, de manière itérative, jusqu’à ce que toutes les exigences du client soient satisfaites. Vous travaillez sur le tout, progressivement, et en même temps.
Cycle de vie incrémental
Maintenant, utilisons l’approche incrémentale, pour traiter ce même exemple. Nous fournissons un système en ligne fonctionnel, avec des fonctionnalités considérées complètes pour la version 1 du système, mais déployées seul pour une partie des produits. Par exemple, nous implémenterons une visibilité complète, de tous les statuts d’une seule ligne de produits. Ainsi, le client pourra commencer à l’utiliser plus tôt, sans attendre que tous les produits, migrent vers la nouvelle méthode de suivi des transactions. Cela s’appellerait, le premier incrément. Ensuite, nous ajoutons les nouvelles fonctionnalités, à d’autres gammes de produits, à raison d’une gamme de produits par incrément.
Approche Agile
Si vous utilisiez les deux, une approche itérative, et incrémentale, vous utiliseriez un cycle de vie Agile.
Ici, nous fournirons un système en ligne, avec des capacités de travail que le client peut commencer à utiliser, comme expliqué ci-dessus, dans l’approche incrémentale pour le premier incrément.
Cependant, dans une approche Agile, le client peut décider, soit de déployer des fonctionnalités déjà développées, sur une nouvelle gamme de produits, soit de développer plus de fonctionnalités, pour le même groupe de produits.
Par exemple, disons que l’incrément précédent, affiche un statut de livraison tel que : « le produit est en route vers vous », sans entrer dans les détails de ce qu’est « en route vers vous ». Durant le prochain incrément, l’équipe développera les détails, de ce qu’est « en route vers vous”. Par exemple : statut 1), le produit est sorti de notre dépôt. Statut 2), le produit se trouve au centre de distribution principal de l’expéditeur. Statut 3), le produit se trouve au centre de distribution régional de l’expéditeur. Statut 4) Le produit est sur la voie de votre domicile. Et finalement, statut 5), le produit a été livré chez vous.
Alternativement, le client peut décider que le prochain incrément, laisse la fonctionnalité au niveau assez général, de « en route vers vous », mais que l’équipe l’implémente sur une nouvelle gamme de produits.
De cette manière, le propriétaire du produit, décide à chaque incrément, que l’équipe du projet, soit ajoute plus de fonctionnalités à la solution, soit perfectionne des fonctionnalités existantes, soit implémente des fonctionnalités existantes sur plus de produits. De cette manière, le produit final est livré par incréments multiples, améliorant itérativement, soit le nombre de fonctionnalités, soit le niveau de qualité de ces fonctionnalités, soit l’ampleur du déploiement des fonctionnalités. Et cela, dans l’ordre d’exécution que le client décide, itération par itération.
Le client exprime de nouvelles exigences à chaque itération, grâce à de multiples livraisons itératives, et incrémentielles. Les itérations, et les incréments se poursuivent jusqu’à ce que le client décide que le périmètre, les fonctionnalités, et le niveau de qualité sont suffisants.
De cette façon, l’équipe projet peut s’adapter aux exigences initiales inconnues ou changeantes.
Cependant, tous les produits ne sont pas faisables par incréments. Et pour certains produits de nombreux changements sont très problématiques, en particulier dans les dernières phases du cycle de vie du développement. En règle générale, les éléments physiques sont moins éligibles aux approches progressives. En général, on peut dire que plus un produit est proche d’une étape de production à grande échelle, plus il sera difficile de formuler des exigences importantes qui ont été précédemment omises.
En autre, en raison de la flexibilité du périmètre à livrer par les méthodes Agiles, certaines personnes pensent qu’il s’agit plutôt de méthodes de développement de produits, que de méthodes de direction de projet.
Résumons en regardant à nouveau les graphiques décrivant l’approche prédictive, l’approche itérative, l’approche incrémentale, et l’approche Agile.