lundi 23 mars 2009

LEAN, CARTOGRAPHIE DU FLUX DE VALEUR

Il s'agit d'identifier toutes les étapes créatrices de valeur en éliminant les activités qui ne créent pas de valeur.

COMMENT PROCÉDONS-NOUS?

Il n'y a pas réellement de pratique agile qui implémente spécifiquement cet objectif. Ceci dit, toutes les pratiques de l'Extreme-Programming implémentent la valeur Simplicité, qui consiste à maximiser le travail à ne pas faire.

Alors, nous pratiquons le Value Stream Mapping du Lean. Les activités à mener en série et en parallèle sont identifiées. Des temps moyens par poste sont mesurés afin de révéler les contraintes et de mesurer une cadence type. Nous avons aussi remarqué que cette cartographie est appréciée par les nouveaux arrivant sur le projet. La cartographie permet de visualiser comment nous procédons pour transformer les besoins en logiciel opérationnel.

IDENTIFIER LES GASPILLAGES

Lorsqu'on pratique le Value Stream Mapping, il faut apprendre à identifier les gaspillages. Il s'agit des pratiques qui ne créent pas de valeur.
Par exemple, dans notre secteur, les développeurs sont terrorisés par le risque que le logiciel ne tienne pas sur la carte embarquée à cause d'un dépassement de charge de calcul ou d'utilisation de mémoire. Alors, nombreux dans notre filière optimisent leur code prématurément. Cette optimisation est pilotée par la peur et non par des faits. Voilà une source de gaspillage: il se peut bien que le code soit suffisamment performant! L'effort consacré à l'optimisation est alors perdu. De plus, le code est devenu plus complexe. C'est pourquoi, notre pratique est de ne pas optimiser prématurément le code.
Par contre, nous nous devons de surveiller les performances tôt et souvent. Le code est alors optimisé au besoin et de manière ciblée sur la base d'informations concrètes. En effet, nous pensions qu'il est plus aisé d'accélérer un code correcte que de corriger un code rapide. La prise de décision est facilitée en automatisant la mesure des performances et le profiling du code.

Néanmoins, cette pratique n'empêche pas d'optimiser prématurément le code. Voilà encore une raison pour laquelle nous pratiquons le Pair Programming. Le navigateur se doit de décourager le pilote d'optimiser prématurément le code.

Le prochain billet sera consacré au flux continu de valeur. A bientôt!

1 commentaire: