Feature Toggles

Plus j’avance et moins je crois aux branches et aux livrai­sons unitaires. Pour plein de raisons, quitte à sacri­fier un peu de perfor­mance, je conseille la livrai­son en produc­tion de tout le code, même s’il n’est pas fini.

L’im­por­tant c’est l’in­ter­rup­teur, la possi­bi­lité d’ac­ti­ver ou désac­ti­ver un compor­te­ment.

Feature toggles are a power­ful tech­nique, allo­wing teams to modify system beha­vior without chan­ging code. They fall into various usage cate­go­ries, and it’s impor­tant to take that cate­go­ri­za­tion into account when imple­men­ting and mana­ging toggles. Toggles intro­duce complexity. We can keep that complexity in check by using smart toggle imple­men­ta­tion prac­tices and appro­priate tools to manage our toggle confi­gu­ra­tion, but we should also aim to constrain the number of toggles in our system.

— Martin Fowler

L’ar­ticle est long, il n’aborde pas vrai­ment le comment, mais résume beau­coup de choses sur l’ap­proche et le quoi.


Publié

dans

par

Étiquettes :

Commentaires

4 réponses à “Feature Toggles”

  1. Avatar de Plop
    Plop

    S’il est une chose que j’apprécie beaucoup c’est bien cela.
    Récemment j’ai eu à faire des refactoring conséquents (et critique, genre système de sécurité de vol) dans une application. Plutôt que de faire une nouvelle branche qui aurait duré plusieurs semaines (avec tout ce que ça comporte comme problème de rebase, synchro, etc) on l’a développé directement dans la branche principale. La nouvelle architecture a été introduite en complément de l’ancienne. Au début non active.
    Petit à petit les sous-systèmes ont migré, un à un, de l’ancienne architecture vers la nouvelle, tout en douceur.
    Une fois tout migré, l’ancienne architecture a été supprimée.
    C’est un confort très appréciable, et cela supprime d’office toute crainte au moment où on ferait une bascule d’un système vers l’autre puisque tout est compilé/testé en même temps depuis le début et que le passage de l’un à l’autre est très progressif.

    Sur le sujet il y a aussi les (nombreux) écrits de Paul Hammant, particulièrement :
    – Branch by Abstraction : http://paulhammant.com/categories.html#branch_by_abstraction,_etc
    – Trunk Based Development : http://paulhammant.com/categories.html#trunk_based_development

  2. Avatar de Rik24d
    Rik24d

    L’article n’est pas entièrement publié. N’oubliez pas de souscrire aux mises à jour.

  3. Avatar de karl

    Le Feature Toggles c’est ce que fait? (faisait) Flickr avec son code. Voir http://code.flickr.net/2009/12/02/flipping-out/

    1. Avatar de Damien B

      Vi, et à Etsy aussi vu qu’une partie de l’équipe venait de Flickr.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *