SCRUM

Livraison de logiciel ? Équipe SCRUM à distance

La date limite est aujourd'hui. Une équipe de développement à distance a travaillé pendant plusieurs semaines sur votre logiciel. Vous obtenez enfin l'accès tant attendu au système. Vous le vérifiez et vous n'êtes pas satisfait des résultats obtenus.

Tout ce qu'il fallait pour éviter ce problème, c'est une équipe avec de l'expérience en technologie et travaillant avec SCRUM.

Qu'est-ce que SCRUM

Wikipedia définit SCRUM comme un cadre agile pour la gestion du travail. C'est une approche utilisée dans de nombreuses entreprises pour développer des logiciels. La définition complète peut être trouvée ici https://en.wikipedia.org/wiki/Scrum

SCRUM résout la plupart des problèmes survenant lors du développement de logiciels

C'est mon opinion et beaucoup de gens sont d'accord avec moi. Je développe des projets commerciaux depuis 2008. J'ai commencé en tant que programmeur. Actuellement, je supervise des projets.

Chez Droptica, les développeurs Drupal travaillent en équipes pour livrer des projets complexes. L'introduction de la méthode SCRUM chez Droptica a résolu la plupart des problèmes. Lesquels exactement ?
Voici les plus importants d'entre eux :

  • Le client n'était pas informé régulièrement de l'avancement des travaux – le client n'était pas satisfait. Sprints, revue, raffinement du backlog – tout cela impose un contact constant avec le client.
  • Les tâches n'étaient pas réfléchies avant de les commencer, donc elles prenaient beaucoup de temps à terminer – le client n'était pas satisfait. Raffinement du backlog et planification – ces événements garantissent que l'équipe doit vraiment réfléchir à l'accomplissement de chaque tâche.

SCRUM permet d'économiser de l'argent

Vous pouvez vous demander : comment est-ce possible si vous ne connaissez pas la durée exacte et le coût du projet dès le départ ? La réponse se trouve dans le paragraphe précédent :

  • Les réunions régulières avec le client (Product Owner) les obligent à réfléchir aux tâches réellement nécessaires et à celles qui peuvent être rejetées.
  • L'analyse des tâches par l'équipe avec le PO permet souvent de trouver de meilleures façons de les implémenter ou de les rejeter.

SCRUM est souvent appelé l'art de maximiser le travail non effectué. Vous maximisez le rejet des tâches qui sont inutiles du point de vue de votre entreprise. Vous ne faites que les choses qui apportent une valeur particulière au système. Tout le reste va directement à la poubelle.

Pourquoi tant de réunions ?

Planification du sprint, daily scrum, rétrospective, revue, raffinement du backlog. La liste des réunions est longue. Il ne fait aucun doute qu'elles prennent du temps. Le client s'attend souvent à payer pour la programmation, pas pour des conversations et des réunions.

Je pensais de la même manière. Cependant, après une implémentation test de SCRUM dans l'un des projets, j'ai changé d'avis. Maintenant, je veux développer tous nos projets – pour les clients et en interne – en utilisant SCRUM. Je vois que cela économise énormément de temps et d'argent. Les mêmes clients avec qui nous travaillons maintenant en utilisant SCRUM peuvent le confirmer, alors qu'auparavant nous n'avions pas de méthode de travail spécifique.

Abraham Lincoln a dit un jour : "Si j'avais huit heures pour abattre un arbre, je passerais six heures à aiguiser ma hache."

Les réunions garantissent une bonne réflexion sur les tâches, l'adhésion à une direction commune et la poursuite des mêmes objectifs commerciaux. Cela vaut vraiment le coup.

Combien de temps cela prendra-t-il et combien cela coûtera-t-il ?

Chaque client pose cette question au début. Il n'est pas facile d'y répondre. Le rythme de chaque programmeur est différent, il y a différentes conditions de travail, vacances, congés, les exigences changent (du client, exigences légales, etc.). Un projet plus long signifie également une spécification changeante fréquente. Ces changements modifient le coût et le temps.

Les Story Points sont une solution à ce problème. C'est un outil très efficace pour estimer le nombre de tâches qui peuvent être effectuées dans un sprint (étape). Après seulement 2 à 4 sprints, vous pouvez voir le rythme moyen de l'équipe. Après ce temps, l'équipe connaît bien le projet, connaît bien le client et planifie pour l'avenir. L'équipe peut estimer très précisément les tâches en attente dans le Backlog. Le Product Owner, connaissant le rythme de l'équipe, peut compter le nombre de sprints et le coût total.

Comparé à la création d'une spécification détaillée au début du projet, une telle approche donne de meilleurs résultats d'estimation.

SCRUM ne suffit pas si l'équipe n'a pas l'expérience de la technologie

Si l'équipe travaille avec SCRUM, mais n'est pas familière avec la technologie, elle ne pourra pas fournir un logiciel de bonne qualité dans un délai raisonnable. Seule la combinaison de SCRUM et de l'équipe expérimentée dans l'utilisation de la technologie donnée assure des effets significatifs. Le client sera certainement satisfait d'une telle combinaison.

Pourquoi une équipe à distance est-elle meilleure ?

Quelle est la différence entre une équipe à distance et une équipe locale ? En réalité – juste leur emplacement. Si vous pouvez avoir une équipe locale, il vaut la peine de choisir cette option. Ce sera plus pratique.

Cependant, sur le marché informatique actuel, il est difficile de réunir une équipe de 2, 3 ou plus de spécialistes en peu de temps pour un projet plus important. C'est pourquoi vous devriez penser à une équipe SCRUM à distance. Une équipe qui a déjà de l'expérience dans le travail avec un client à distance. En élargissant les options au monde entier, vous avez plus de choix.

Comment puis-je surveiller ce que fait une équipe à des milliers de kilomètres ? 

SCRUM a une méthode pour y parvenir : le tableau de progression du sprint. C'est un graphique qui est mis à jour quotidiennement. Il montre le rythme régulier du développement du projet. Il montre si l'équipe met en œuvre le plan du sprint. C'est le meilleur outil pour surveiller l'avancement des travaux. En utilisant Waterfall, vous découvrez généralement les retards à la fin d'une phase plus importante. Avec SCRUM, le client peut vérifier chaque jour l'avancement de l'équipe. Ils peuvent être sûrs que l'équipe travaille et livre des parties successives du logiciel.

Comment communiquer avec l'équipe ?

Chez Droptica, nous avons 3 façons de le faire :
- Jira - c'est le principal système de communication ; ici nous avons toutes les User Stories et les tâches
- Slack - pour les questions courtes par texte, utilisé pratiquement tous les jours
- Skype/Google Hangouts/Zoom - pour les appels vidéo avec partage d'écran

Ces trois formes de communication assurent à 100% une très bonne communication entre l'équipe et le Product Owner.

Si possible, de temps en temps, l'équipe de développement rencontre le Product Owner dans nos bureaux ou dans les locaux du client. Nos bureaux sont situés près de l'aéroport, nous invitons volontiers nos clients à les visiter.

Comment puis-je vérifier si une équipe SCRUM à distance fonctionnera dans mon cas ?

Si vous avez un projet pour un minimum de 2-3 personnes pour quelques sprints, un SCRUM bien mené vous fournira de très bons résultats.

Si vous n'êtes pas sûr que SCRUM fonctionnera pour vous, testez-le. Commandez 2-3 sprints et voyez les résultats que vous obtiendrez. C'est un coût minime à l'échelle de projets durant plusieurs mois, et une telle approche apportera une réponse sans équivoque à la question de savoir s'il vaut la peine d'utiliser SCRUM.

Si vous avez encore des doutes sur une équipe SCRUM à distance, je serai heureux de répondre à vos questions et de partager mes expériences. Contactez-moi à [email protected] ou écrivez votre question dans le commentaire.

3. Best practices for software development teams