工欲善其事, 必先利其器” 《論語.魏靈公》

« Pour faire du bon travail, un artisan a besoin des meilleurs outils » Entretiens confucéens 

L’approche logicielle est la pratique consistant à utiliser des techniques de processus sélectionnées pour améliorer la qualité d’un effort de développement logiciel, ce qui entraîne moins de défauts et, par conséquent, offre en fin de compte des délais de livraison plus courts et une meilleure valeur. Une approche logicielle est souvent considérée comme meilleure que toutes les autres et fait toujours l’objet de débats sans fin Je dois dire qu’il n’y a pas de meilleure approche de développement, différentes méthodes sont les meilleures pour différents contextes de projet. Ce qui est le mieux dépend de qui la méthode est destinée, dans quelles circonstances, dans quel but, et ainsi de suite ; Dire qu’aucune méthode n’est la meilleure pour les développeurs de logiciels, c’est aussi dire que différentes méthodes sont meilleures pour différentes équipes ou pour différentes natures de projet.

Grady Booch dit à ce sujet :

“Si vous voulez construire une niche pour chien, vous pouvez commencer avec un tas de bois, des clous et quelques outils de base, comme un marteau, une scie et un ruban à mesurer. Dans quelques heures, vous vous retrouverez probablement avec une niche raisonnablement fonctionnelle… Si vous voulez construire un immeuble de bureaux de grande hauteur, vous voudrez faire une planification approfondie… Vous ne ferez qu’une partie d’un groupe beaucoup plus grand. responsable du développement et du déploiement du bâtiment, et donc l’équipe aura besoin de toutes sortes de plans et de modèles pour communiquer entre eux…. »

Adopteriez-vous la même approche pour une petite application Web et une sonde spatiale de la NASA ? Probablement pas. Adopteriez-vous la même approche avec une équipe de six personnes qu’avec une équipe de soixante personnes ? Encore une fois, probablement pas. Des situations différentes appellent évidemment des approches différentes, comme l’a noté Scott Amber. Il n’y a pas de solution unique pour le développement de logiciels, en fait, les concepteurs doivent disposer d’un large éventail d’outils, pour comprendre les avantages et les inconvénients de chacun, et être en mesure de décider rapidement des outils les plus appropriés pour appliquer dans un flux de travail souhaitable pour le contexte donné .