Voici un exemple de développement logiciel agile par rapport à waterfall:
Prenez une banque qui doit mettre à jour le logiciel qu'elle utilise. Ils passent beaucoup d'heures à écrire des exigences très détaillées pour chaque éventualité possible. Lorsqu'ils ont terminé de les rédiger, ils les transmettent aux développeurs qui les interprètent et les codent. Ils se réunissent de temps en temps pour en discuter et chacun retourne à son bureau et travaille de son côté. Lorsque le moment est venu de mettre en œuvre, le chef de projet découvre que ce qu'ils ont construit n'était pas exactement ce qui était attendu parce qu'ils ont construit ce qu'ils ont compris mais la compréhension était erronée.
Prenez maintenant la même banque travaillant en Agile qui doit mettre à jour le même logiciel . Avant d'écrire un mot de documentation, ils se réunissent et font un brain storming d'idées. Ils se tiennent littéralement tous autour et discutent de ce qu'ils auront besoin de construire. Tout en discutant, ils créent des histoires sur la façon dont l'utilisateur interagira avec le système. Ils écrivent ces histoires d'utilisateurs et précisent ensuite les critères de chaque fonctionnalité qu'ils ont trouvée. Ils procèdent ainsi à plusieurs reprises et, lorsque tout le monde a terminé, ils comprennent tous ce qui doit être construit. Le code est construit deux semaines à la fois et vérifié pour s'assurer qu'il est correct avant de passer à la suite. La documentation est rédigée sous forme de recueil des histoires d'utilisateurs et d'un guide des changements à apporter. Au moment où le projet est terminé, ils ont accompli ce qui était attendu.
Il semble que l'agile ait mieux fonctionné.
Je ne dis pas que l'agile résout tout ou que les projets logiciels ne peuvent pas échouer même avec l'agile, mais le pouvoir de la communication est très fort et aide vraiment les équipes agiles plus que dans toute autre méthodologie de développement.
Pour en savoir plus sur l'écriture des histoires d'utilisateurs, lisez cet article, consultez également cet article : Qu'est-ce que le développement logiciel agile.