Skip to main content

Accélérer le développement

Accélérer le développement

Vous souhaitez accélérer le développement ?

Mais recruter davantage de développeurs est-il vraiment pertinent ? 🤔

⚠ Dans la majorité des cas, le facteur limitant d’une équipe n'est pas l'écriture du code. Augmenter le nombre de développeurs dans une équipe dont le goulet n’est pas la phase d’écriture du code revient à accentuer ses problèmes.

Les pb de productivité de l’équipe trouvent fréquemment leur origine dans les activités suivantes :

  • La compréhension du problème :
    communication par tickets interposés entre le PO et les développeurs, absence d’exemple dans les spécifications, imprécisions, absence de spécifications en cas de parcours marginaux, décalage entre le vocabulaire métier utilisé dans les spécifications et le vocabulaire présent dans le code, …
  • La recherche de solution :
    difficulté à définir une stratégie d’approche du problème, difficulté de faire émerger un design applicatif, difficultés de nommage et de définition des responsabilités, navigation et réutilisation compliquées de code spaghetti, …
  • La vitesse de mise en conformité du code :
    latence entre la demande de revue et la revue, latence et incompréhension dues au mode de revue par commentaires interposés, nombre de retours en l’absence de standards d’équipe, lenteur de consensus sur les retours à apporter, traitement des retours, validation des retours, conflits de merge, …
  • L’intégration :
    dépendances externes indisponibles, absence ou instabilité de l’environnement de recette, absence de jeux de données, contrats d’interface inconsistants, …
  • Le testing :
    absence de vérifications automatisées, scénarii de tests indéfinis/injouables, …

⚠ Augmenter le nbre de développeurs amène plusieurs challenges :

  • Se mettre d’accord et prendre des décisions demandent plus d’énergie et de temps
  • Gestion des dépendances
  • Comment garantir l'alignement et maintenir l'autonomie des équipes ?
  • A partir de quand faut-il des managers ?
  • Délai / Inertie liés au recrutement : Tension du marché, difficultés à trouver les profils, préavis du candidat chez son employeur (2 à 3 mois), temps d'intégration, montée en compétences technique/fonctionnelle, ...

👉 Intervenir sur les pratiques des équipes en place est souvent judicieux.

Quelques pistes à explorer :

✔ L’atelier Tres amigos et l’Example mapping diminuent fortement les erreurs de compréhension de traverser le cycle de développement, augmentent la capacité des phases de compréhension du problème et de test.

✔ Les Tests unitaires diminuent fortement les erreurs de programmation de traverser le cycle de développement. Test-Driven Development favorise de surcroît l’émergence d’un meilleur design ce qui augmente la capacité de la phase de recherche de solution.

✔ Pair et Mob Programming augmentent la capacité de toutes les phases hormis celle de l’implémentation (qui est non-goulet dans la grande majorité des cas) grâce à l’efficacité accrue de la communication dans l’équipe et l’accélération de la prise de décision.

Sources

Accélérer le développement : une histoire de plomberie
https://blog.octo.com/accelerer-le-developpement-une-histoire-de-plomberie/