Curtis Tsang 4 août 2016 0 commentaire
“Pour bien faire son travail, un artisan a besoin des meilleurs outils” 《Analectes de Confucius》
L’approche logicielle consiste à appliquer des techniques de processus choisies afin d’améliorer la qualité d’un projet de développement logiciel, ce qui réduit les défauts et, par conséquent, permet des délais de livraison plus courts et une meilleure valeur ajoutée. Une approche logicielle est souvent présentée comme supérieure à toutes les autres, mais cela reste toujours sujet à débat sans fin. Je dois dire qu’il n’existe pas une seule meilleure méthode de développement ; différentes méthodes conviennent mieux à différents contextes de projet.Ce qui est le meilleur dépend de qui est concerné par la méthode, dans quelles circonstances, à quel but, et ainsi de suite ; dire qu’aucune méthode unique n’est la meilleure pour les développeurs logiciels, c’est aussi dire que différentes méthodes sont les meilleures pour différentes équipes ou pour des projets de nature différente.
Grady Booch dit à ce sujet :
« Si vous voulez construire une cabane pour chien, vous pouvez commencer presque n’importe où avec une pile de bois, quelques clous et quelques outils de base, comme un marteau, une scie et un mètre ruban. En quelques heures, vous obtiendrez probablement une cabane pour chien fonctionnelle… Si vous voulez construire un immeuble de grande hauteur, vous devrez faire une planification approfondie… Vous ne serez qu’une petite partie d’un groupe bien plus important chargé de concevoir et de mettre en œuvre le bâtiment, et donc l’équipe aura besoin de tout un tas de plans et de modèles pour communiquer entre eux… »
Prendriez-vous la même approche pour une petite application web et une sonde spatiale de la NASA ? Probablement pas. Prendriez-vous la même approche avec une équipe de six personnes que celle que vous adopteriez 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’existe pas detaille unique pour tous solution pour le développement logiciel, en fait, les concepteurs doivent disposer d’une large gamme d’outils, comprendre les avantages et inconvénients de chacun, et être capables de choisir rapidement les outils les plus appropriés à appliquer dans un flux de travail souhaitable pour le contexte donné.