Découvrez nos astuces pour rendre votre équipe plus efficace et productive au quotidien sur l'ensemble de vos projets tout en améliorant son engagement. Mettez-en pratique ces 10 points-clés et partagez-nous vos résultats !
Beaucoup de nos clients nous partagent leurs problématiques concernant les coûts et délais de réalisation de leurs développements. Ils se sentent la plupart du temps démunis face à des dates de livraison non tenues, des demandes à moitié réalisés ou des budgets à la dérive...
En tant que membre de l'équipe projet, il est important de réaliser que vous êtes pleinement acteurs de cette situation dans le sens où vous pouvez réellement améliorer les choses et inverser la tendance grâce à des méthodes simples mais terriblement efficaces.
Aujourd'hui, nous vous partageons une liste de principes à connaitre qui pourront vous aider à améliorer la productivité et la qualité des livrables de vos projets.
Note : Si vous n'êtes pas convaincus par l'un de ces points, essayez quand même de le mettre en pratique et parlons-en après quelques semaines pour évaluer vos résultats...
La première règle pour être efficace est de définir clairement vos priorités. De nos jours, les méthodes agiles ont le vent en poupe mais agile ne veut pas dire "je change d'avis tous les jours" !
Il est vital de définir clairement les axes prioritaires et les objectifs à atteindre avant de passer à autre chose.
Cela permettra à votre équipe de se projeter correctement dans leur travail et de comprendre votre point de vue. Elle sera plus concentrée, ce qui vous donnera une meilleure productivité tout en étant capable de vous faire des propositions plus pertinentes.
Notes : Il n'est pas nécessaire non plus de partager les demandes à réaliser de manière précise pour les 3 prochaines années.
Partagez les objectifs globaux (la destination souhaitée) et construisez le chemin à parcourir à chaque sprint.
Vos développeurs ont une expérience qui peut vous être utile !
Que ce soit pour des outils ou des problématiques qu'ils ont déjà solutionnés sur d'autres projets ou parce qu'ils utilisent des logiciels que vous ne maitrisez pas, ils peuvent vous apporter des solutions auxquelles vous n'auriez pas pensé seul.
Lorsque vous faites une demande, partager d'abord l'objectif ou la problématique à résoudre avant de décrire la solution que vous envisagez.
Par exemple, vous pourriez faire la demande suivante :
Lorsque nous recevons une demande de support, envoyer un email à la personne qui a fait la demande pour lui demander la version de l'application ainsi que l'écran où a lieu le problème.
Vous pourriez également formaliser votre demande de la manière suivante :
Problématique
Lorsque nous recevons une demande de support, nous devons systématiquement envoyer un email à la personne pour lui demander la version de l'application ainsi que l'écran où a lieu le problème.
Cela nous fait perdre du temps et la personne ne nous répond pas toujours.
Solution envisagée
Lorsque nous recevons une demande de support, envoyer un email à la personne qui a fait la demande pour lui demander la version de l'application ainsi que l'écran où a lieu le problème.
Grâce à ce contexte, votre développeur pourrait vous suggérer de mettre en place la récupération de ces informations directement dans le formulaire de création de demande de support ce qui serait beaucoup plus efficace.
Ainsi la demande mise à jour serait :
Solution
Lors de la validation d'une demande de support depuis l'application, enregistrer la version de l'application ainsi que l'écran courant et ajouter ces informations dans le ticket correspondant.
Pour que vos développeurs soient dans les meilleures conditions possibles pour réaliser la nouvelle fonctionnalité demandée, vous leur avez rédigé un document détaillant le contexte, les problématiques actuelles, les attentes de vos utilisateurs et les modifications de l'application en détail.
Afin de pouvoir gérer l'avancement et partager simplement cette information, nous vous conseillons de synthétiser les différentes étapes à suivre sous forme de checklist. Grâce à cela vous pourrez visualiser la progression en un coup d'oeil !
Exemple :
Résultat : Lors de vos points projets, vous n'aurez qu'à ouvrir la checklist pour visualiser l'avancement et économiserez de précieuses minutes de tour de table où chacun se remémore ce qu'il a fait depuis une semaine...
Lorsque vos développeurs vous livrent le résultat de leur travail, il est important que vous soyez réactif pour le tester pour deux raisons.
Raison 1 : la motivation
En effet, c'est à ce moment-là que votre équipe est la plus concentrée sur le sujet en question et sera la plus réactive. Si vous laissez passer des jours voire des semaines avant de leur faire un retour, vos développeurs seront passés sur d'autres sujets et il leur faudra du temps pour se remettre dans le sujet.
Ce point est essentiel pour conserver la motivation de votre équipe. En effet, si vous êtes réactif lors d'une livraison, cela prouve à votre équipe que leur travail compte et ils auront naturellement tendance à vous renvoyer la même dose de réactivité.
Si vous mettez des jours à réagir lorsqu'il vous sollicite comment pouvez-vous exiger d'eux qu'ils soient plus réactifs dans l'autre sens ?
Raison 2 : la valeur acquise
Lorsqu'une demande reste dans un état "non terminé" (codée mais non validée), il est impossible de mesurer la quantité de travail restant et les éventuels impacts sur les autres développements. En effet, imaginons que vous laissiez en attente de validation 3 fonctionnalités.
C'est en quelque sorte l'effet Domino et cela peut représenter des dizaines d'heures de travail perdues !
Votre objectif lorsque vous demandez un nouveau développement est que celui-ci soit déployé le plus rapidement possible.
Nous avons bien dit "Déployé" afin de pouvoir être utilisé, le développement n'est qu'une partie de ce temps.
Si vous vous posez la question du mode de validation lorsque le développement est disponible en recette, vous n'avez pas compris ce principe essentiel et vous vous exposez au problème suivant :
Trop souvent, les demandes ne contiennent que le cas d'utilisation normal d'une fonctionnalité mais dans la majorité des cas, les difficultés consistent à gérer les actions qui ne sont pas dans ce cadre.
Lorsque nous développons une fonctionnalité, il est nécessaire de prévoir tous les cas d'utilisation possibles pour ne pas aboutir au célèbre écran d'erreur système ou à un message d'erreur incompréhensible par l'utilisateur qui vous fera perdre de nombreuses heures de support.
Nous vous conseillons donc de spécifier dès le départ les différents cas d'erreur possibles ainsi que les messages et/ou blocages à implémenter.
Cela concerne :
Un logiciel n'a de sens que pour gérer des données. Ces données correspondent à votre contexte métier et votre logiciel doit vous permettre de les manipuler de manière efficace.
Il est important de connaitre dès le départ le type de données que vous allez devoir gérer afin de réaliser les développements dans les meilleures conditions. (ce jeu de données vous permettra également d'être plus efficaces dans la description du point précédent)
Voilà une liste d'erreur courante lorsque l'équipe de production n'a pas de jeu de données réel en entrée :
Avant de partir directement dans le développement d'une nouvelle fonctionnalité ou d'une nouvelle brique de votre système, posez-vous la question : "Est-ce qu'une solution existe pour résoudre mon problème ?".
Il existe une multitude de solutions Saas, de logiciel open-source et même de standards en place construits par des personnes passionnées qui ont passé un temps considérable à les mettre au point. En utilisant des solutions éprouvées par des centaines d'entreprises vous économiserez du temps et gagnez en qualité.
Exemples :
Si jamais ce développement vous procure un avantage concurrentiel, allez-y mais gagnez du temps en étudiant comment vos concurrents ont résolu les problématiques annexes communes pour vous concentrer sur les points ayant une réelle valeur ajoutée.
Si vous devez choisir une équipe de développement, ne basez pas votre choix uniquement sur leur qualité technique.
Lors de la réalisation d'une application, la connaissance de votre contexte est un aspect important surtout dans les métiers nécessitant des compétences avancées. En effet, votre métier comporte des codes, un vocabulaire, une culture qu'il est essentiel d'appréhender lors de la conception et la réalisation de votre outil.
Est-ce judicieux de réaliser un jeu vidéo avec un prestataire spécialisé dans les outils comptables ? Ou une application Facebook avec une équipe qui n'utilise pas les réseaux sociaux au quotidien ?
Vous arriverez à sortir quelque chose mais cela vous prendra plus de temps et le résultat sera simplement dans la moyenne !
Ce point explique par exemple pourquoi beaucoup de sociétés abandonnent la réalisation de projets en offshore même si les coûts de réalisation sont bien inférieurs.
Le rythme est un aspect essentiel pour aboutir à une bonne productivité tout en maintenant l'engagement de votre équipe projet. Cela apporte également un cadre de travail qui permet aux différents membres d'interagir plus efficacement.
Par exemple, chez SmartBooster nous avons un daily meeting quotidien le matin qui nous permet de lancer la journée en prenant en compte les besoins de chacun et les interactions nécessaires pour réaliser nos tâches.
Par exemple :
En complément, nous avons un point projet chaque semaine pour partager le détail de l'avancement avec nos clients.
Chacun sait que ces moments privilégiés sont importants et s'organise pour que nous puissions acter les choses ensemble.
Vous avez à présent entre vos mains 10 principes qui peuvent vous permettre d'accroitre grandement la productivité de vos projets. Suivant votre niveau de maturité, certains d'entre eux vous sembleront peut-être évidents mais nous vous conseillons de les partager avec votre équipe pour savoir si tout le monde est au même niveau.
Nous espérons que cet article vous sera utile et vous souhaitons le meilleur pour le développement de votre entreprise.