vendredi 24 septembre 2010

Des bases de l’agilité : L’objectif

La focalisation sur l’objectif est un élément principal de l’ingénierie. La question est de savoir s’il est possible de se focaliser sur l’objectif. Souvent cet objectif est trop grand ou trop flou pour que les membres de l’équipe puissent se focaliser dessus.

Dans le cycle en V, il n’existe aucune définition de la limite d’un objectif. Les bonnes équipes vont choisir des objectifs réalistes et les autres rarement. Les méthodes agiles définissent des objectifs réalistes.

Dans l’agilité, la dimension des stories ou des taches est limitée. Pour les stories, la taille de chaque story a une valeur choisie dans la suite de Finobacci. Seules les story dont la taille est inférieure à 7 sont analysées et peuvent avoir une priorité suffisante pour faire partie du sprint suivant. Pour toutes les autres, soit elles ne sont pas prioritaires, soit elles sont décomposées en sous-story suffisamment petites. Pour les taches, elles ne doivent pas durer plus d’une journée.

La focalisation sur l’objectif est plus facile avec l’agilité car ceux de chaque participant sont plus précis. En particulier avec SCRUM, les rôles de chacun sont parfaitement définis. Les membres des équipes réalisent ou testent le code. Ils connaissent la totalité du projet et peuvent intervenir sur toutes les parties de celui-ci. Le travail en pair programming leur permet de connaitre la manière de travailler des autres membres de l’équipe. La normalisation des règles de codage, de commentaires, et de documentation offre un socle commun de travail. Les membres peuvent se focaliser sur la production d’un code de qualité. Le Scrum Master se focalise sur le respect des règles de l’agilité mais aussi sur les règles qui ont été définies par l’entreprise et l’équipe. Le Product Owner se focalise sur le besoin et les priorités du client. Le client se focalise sur l’adéquation entre le produit et les besoins de ses utilisateurs. Il lui est d’ailleurs recommandé de décomposer ces besoins pour qu’ils soient facilement compréhensibles.

Il est toujours plus facile de se focaliser sur un objectif petit. La dimension fractale d’un projet informatique est souvent oubliée. Lorsque je regarde un projet, je commence par voir des algorithmes, puis à la dimension supérieure des objets qui organisent et exécutent ces algorithmes, puis des packages qui remplissent des contrats, puis des services qui remplissent des contrats plus complexes, puis des applications qui fournissent des services et interagissent avec l‘utilisateur. A chaque dimension, l’analyse, la description ou la réalisation doit demander un travail de moins d’une journée. Cette durée correspond aux temps maximum de focalisation sur un travail précis continu.

L’objectif est le but de chaque membre de l’équipe. Les méthodes agiles proposent une solution pour créer des objectifs dont la taille est réaliste.

Aucun commentaire:

Enregistrer un commentaire