Au secours de Scrum

Aux côtés de Scrum, il est nécessaire de recourir à un framework de développement sur la base de principes de qualité du code pour garantir la qualité technique de la production.

Si l’on pose la question : « On vous confie un projet de développement d’application. En regard de votre expérience, quelle méthode choisissez-vous ? ». Une réponse est évidente : « En utilisant Scrum pour le pilotage du projet et la validation de la qualité fonctionnelle applicative, il est alors nécessaire de déterminer un framework de développement sur la base de principes de qualité du code (une partie d'eXtreme Programming par exemple), pour garantir la qualité technique de la production.

Pourquoi compléter Scrum

Pourtant cette solution  ne sera pas suffisante pour couvrir l’organisation et la production du « sprint zéro » (les étapes de préparation préalables à tout projet Scrum). Pour ce faire,  personnellement j’utiliserai les techniques de structuration des besoins proposés par Puma (Processus Urbanisant les Méthodes Agiles) dans le cadre de ses « moteurs de communication et de solution ». Pour compléter cet ensemble, dans une structuration logique du fameux « Sprint zéro », je mettrais en œuvre les trois premières phases absentes de Scrum  (Initialisation du projet, Cadrage du besoin, Design de la solution). Ainsi, je disposerai d’un canevas cohérent incluant le choix des acteurs et la variabilité de leurs engagements, la justification financière de mon action, et un cadre prévisionnel de contrôle de la « boîte de temps » allouée. » Avec ces outils, je devrai aussi prendre en considération les divers impacts organisationnels ou d’architecture, ainsi que la modélisation Agile minimum, mais indispensable à tout développement sérieux. Cette vision d’ensemble est d’ailleurs le type d’intégration proposée par PUMA. Encore faut-il le savoir et en maîtriser les connaissances sous-jacentes (illustration ci-après).

Le moteur de Communication

Son objectif est d’obtenir un engagement formel des diverses ressources impliquées dans le projet. Il préconise aussi une structure d’organisation des réunions et des techniques d’entretien facilité.  À l’inverse, lors de la construction de l’application, ce sont des relations faiblement structurées, plutôt basées sur la disponibilité régulière et l’implication personnelle du métier, qui sont recherchées entre les binômes de développement et leurs utilisateurs de référence.

 

Le moteur (ou modèle) de Solution (Backlog)

C’est en fait un modèle de document structuré par les quatre classes de préoccupations représentatives de la nouvelle Expression des Exigences (détaillé dans la chronique précédente dédié au Sprint 0)  :

  1. Aspects Stratégie et Contraintes.
  2. Aspects Fonctionnels.
  3. Aspects Technologiques.
  4. Aspects Organisationnels

Ces aspects s’explorent dans l’ordre fondamental précisé. En revanche, et toute la complexité relative de l’opération ainsi que sa pertinence résident dans ce principe, ils doivent, afin de prendre en compte la globalité des interrelations et des dépendances induites, être appréhendés globalement et de manière itérative. Généralement l’exploration se limite, selon les besoins, à quatre niveaux de profondeur itérative :

  1. Vision.
  2. Cadrage.
  3. Spécifications.
  4. Services.

Le moteur de Pilotage et le moteur de Réalisation

Ces deux moteurs sont le plus souvent couplés, ils représentent souvent à eux seuls un outil suffisant pour répondre aux besoins de développements simples dans un contexte organisationnel léger.
Le développement se compose alors de deux groupes de pratiques, :
  1. L’une (basée généralement sur Scrum), est liée au pilotage des incréments.
  2. L’autre, préconise des techniques de qualité de production dépendantes du type de produit.

Des pratiques basiques essentielles permettent la gestion des itérations dans les incréments :
  1. Expression des Exigences (backlog).
  2. Planification (priorité, estimation, risques).
  3. Radiateur d’informations (BurnUp chart). 
  4. Maîtrise de la Vélocité.
En cas de développement spécifique, Des pratiques basiques essentielles garantissent la performance et la qualité de la conception-développement :
Pilotage par les tests. 2 - Programmation en binôme et rotation.3 - Refactoring. 4 - Intégration et build continus.

Dans les grandes organisations, selon la taille des projets et le type des produits à développer, une vision orientée XP, Software Craftsmanship, DevOps ou même SAFE (bien que Ken Schwaber ne considère plus cela comme « Agile »), pourra être considérée.

Philosophie d'usage de ces compléments à Scrum

Dans la plupart des organisations, le problème n’est pas tant la conduite du projet ou la réalisation technique que la formalisation d’une expression consensuelle des besoins et des responsabilités par de nombreux intervenants. C’est de cette problématique que traitent les moteurs de Communication et de Solution.  Ces moteurs sont en fait des modèles d’animation et de facilitation des relations interpersonnelles qui se situent à la convergence de la plupart des problématiques d’évolution de l’entreprise. Ils sont aussi de puissants moyens d’enrichissement des modes de travail qui facilitent la fluidification des communications ainsi que l’adoption du savoir-être et du savoir-vivre coopératif.

De même, conserver toujours à l’esprit le principe du « nécessaire et suffisant » : ce qui ne constitue pas la production d'un des composants de l'application est une action parasite aussi indispensable qu'elle puisse théoriquement paraître, et cela concerne la totalité des actions de pilotage de projet.

L’expérience amène donc à penser que l’approche Agile idéale - pour un contexte projet particulier -s'appuierait sur une utilisation optimisée des pratiques du tronc commun des méthodes Agiles, et s'adjoindrait une sélection des pratiques spécifiquement utiles au type de produit à développer.

Conclusion : en tenant compte de ces derniers conseils, n’hésitez pas à organiser autour de Scrum le développement de vos produits (si vous avez bannis le terme de "projets"), tout en sachant que des compléments sont indispensables, et que cet article vous les offre.

Relations interpersonnelles / Framework