Kad Dembele

L'artisanat du logiciel

Dans mon billet précédent, je vous ai parlé de l'architecture logicielle et principalement des principes de base de la conception logicielle. Et nous avons vu que les deux indicateurs de qualité logicielle, les plus importants(La facilité d'utilisation et la maintenabilité) étaient les plus négligés car la plus part des architectes se limitent à la livraison de logiciels fonctionnels (Get It Done).

Et c'est tout là, la différence entre un industriel qui se contente de produire à la chaîne de manière répétitive des produits basés sur un modèle et un artisan qui use de son savoir faire pour créer des œuvres artistiques (Architecture des bâtiments, ..., Architecture des logiciels) et de ses fonctions cognitives pour s'améliorer au fil du temps. D'où le mouvement software craftsmanship.

Un artisan du logiciel est avant tout celui qui conçoit bien son logiciel, dans le sens de l'architecture logicielle bien sûr (Get it Right). D'où les quatre valeurs prônées par l'artisanat du logiciel

  • Pas seulement des logiciels opérationnels,
    • mais aussi des logiciels bien conçus.
  • Pas seulement l'adaptation aux changements,
    • mais aussi l'ajout constant de la valeur.
  • Pas seulement les individus et leurs interactions,
    • mais aussi une communauté de professionnels.
  • Pas seulement la collaboration avec les clients,
    • mais aussi des partenariats productifs.

De ces valeurs que tout aspirant Artisan du logiciel doit respecter, Il ressort clairement l'envie de bien faire les choses, d'améliorer de façon constante, de partager le savoir faire et d’intégrer le client au cycle de vie du logiciel.

J'ai eu à lire sur de nombreux blogs des personnes qui disent qu'une entreprise a besoin d'industrialiser ses processus pour pouvoir produire et qu'un artisan n'a pas sa place au sein d'une entreprise, ces personnes ont entièrement raison, sauf que le but d'un artisan logiciel n'est pas de transformer une entreprise industrielle en entreprise artisanale mais plutôt de concevoir des logiciels dignes des plus grandes œuvres artistiques en:

  • Affectant au mieux les responsabilités dans le code (Principe de responsabilité unique)
  • Rendant le code le plus extensible possible (Principe d'ouverture/fermeture)
  • Permettant aux objets de la même famille de se substituer mutuellement (Principe de substitution de Liskov)
  • Limitant l'accès aux objets à des méthodes dont ils n'ont pas besoin (Principe de ségrégation des interfaces)
  • Assurant que les dépendances entre les différents modules soient gérées par abstraction (Principe d'inversion des dépendances)

Ces différents principes (SOLID) énoncés par Uncle Bob visent à simplifier les techniques de conception logicielle et à rendre les logiciels conçus maintenables, évolutifs et compréhensibles.

Pour revenir sur l'industrialisation des processus de travail, il est évident que la deuxième valeur du manifeste de l'artisanat du logiciel qui vise à créer constamment de la valeur ajoutée passe par la mise en place des processus d'automatisation des phases de test et de déploiement de l’œuvre créée (logiciel) mais n'équivaut en aucun cas à industrialiser la phase de conception elle même.

Pour conclure, je dirai que l'artisanat du logiciel est l'art de bien concevoir des logiciels (Get It Right) grâce à un savoir faire et un apprentissage continuel et peut être / doit être considérer comme un complément technique à l'agilité.

508 comments

  • bruiDsb
    bruiDsb, 14 February, 2018 08:02 Comment Link

    cialis coupon
    lifestyle cialis pills
    http://cialisampsl.com
    vicodin and cialis generic buy
    buy cialis online cheap

  • councagb
    councagb, 14 February, 2018 07:02 Comment Link

    buy cialis generic
    cialis generic paypal
    http://cialisampsl.com
    women who take cialis pharmacy
    cheap generic cialis

  • unloleb
    unloleb, 14 February, 2018 05:02 Comment Link

    cheap cialis
    xatral cialis online pharmacy generic
    http://cialisampsl.com
    cialis dosage 20mg
    generic cialis online

  • Uploasyb
    Uploasyb, 14 February, 2018 03:02 Comment Link

    generic cialis
    melon and viagra cialis pills
    http://cialisampsl.com
    generic cialis tadalafil tadalis bestellen buy
    buy cialis generic

  • Geogpemi
    Geogpemi, 13 February, 2018 10:02 Comment Link

    indian cialis generic levitra
    buy cheap cialis online
    yasmin light headed cialis pills
    generic cialis
    buy generic cialis online sildenafil citrate buy

  • shieve
    shieve, 13 February, 2018 10:02 Comment Link

    my experience with cialis pharmacy
    cialis online
    chemical name cialis pills
    cheap cialis online
    viagra levitra cialis generic drugs

  • Ephelay
    Ephelay, 13 February, 2018 09:02 Comment Link

    viagra dropship cialis generic
    generic cialis
    cialis tablets in india
    buy cialis online
    get cialis presСЃriСЂtion and order cialis online

  • scievy
    scievy, 13 February, 2018 08:02 Comment Link

    cialis 20mg pills
    buy cialis
    order cialis online without health
    buy cialis
    viagra rap buy cialis online

  • bruiDs
    bruiDs, 13 February, 2018 08:02 Comment Link

    walmart pharmacy viagra cialis generic cialis
    generic cialis
    cheap generic cialis tadalafil
    generic cialis online
    best price to buy generic cialis online

  • Ephelay
    Ephelay, 13 February, 2018 08:02 Comment Link

    generic cialis canada
    buy cialis online
    cheap generic cialis from india
    cheap cialis online
    viagra femenina natural cialis generic

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.