La gestion de projets consiste à utiliser un ensemble d’outils, de techniques et de méthodes ayant pour but d’assurer le bon déroulement d’un projet et de le finir dans les délais impartis. Cette compétence se divise en plusieurs niveaux d’implication. Par exemple, un développeur ne va pas s’occuper de prioriser les tâches d’un projet, contrairement à un chef de projet, et se retrouve peu souvent à devoir gérer un projet.
C’est depuis le début de mes études à IN’TECH que j’ai pu découvrir la gestion de projet. J’ai pu être chef de projet sur certains projets et découvrir comment les mener à bien.
J’ai eu l'opportunité d'être chef de projet sur quelques projets d'école sur lesquels j’ai travaillé. Un exemple notable est le projet IN’Téléthon, qui fut ma première expérience sur ce sujet. En plus d'être mon premier projet de formation humaine, et donc le premier projet à m’apprendre la communication, j’ai pu apprendre à mener mon équipe durant des phases de réflexion, ou encore à préparer des réunions et rédiger des comptes-rendus de ces dernières. J’ai aussi dû m'occuper de la planification des présentations que nous avons dû faire tout au long du projet.
Un autre exemple est le projet K2017. J’ai pu être encore une fois chef de projet, ce qui m’a permis de m'améliorer d’autant plus sur les points vus plus haut, mais en plus de découvrir comment mener l'équipe dans des phases de conception ou de développement. C’est sur ce projet où j’ai aussi pu voir comment se passe le suivi de projet, avec un document que j’ai dû remplir au fur et à mesure de l’avancement de ce dernier.
Maintenant en entreprise, je peux voir comment la gestion de projet se fait dans une situation réelle. Mon chef d'équipe et notre Product Owner ont expliqué à l'équipe dans laquelle je suis comment le projet sur lequel nous travaillons ainsi que ses tâches sont gérées, notamment à l’aide de l’outil Jira.
Le terme Product Owner (ou PO) est un terme venant de la méthode Agile Scrum. Nous utilisons cette méthode dans l’équipe dans laquelle je travaille.
Scrum est la méthode Agile la plus répandue de par son adaptabilité à n’importe quel projet. Elle a pour but de permettre facilement la réorientation d’un projet au fil de celui-ci, mais aussi de renforcer la cohésion d’équipe tout en rendant le développement agréable pour les membres de l’équipe.
Le PO est la "voix du client". C'est lui qui va faire parvenir à l'équipe les futurs développements à venir. Il va aussi s'assurer que les développements en cours conviennent aux attentes du client.
Scrum fonctionne par itérations, appelées Sprints, de 2 à 4 semaines selon les équipes. C’est au début de ces itérations que l’équipe va définir ce qui devra être fait durant le sprint durant une cérémonie appelées "sprint planning". Ensuite, chaque jour, l’équipe se rassemble pour faire une "Mêlée quotidienne", qui est une cérémonie où chaque membre de l’équipe dit ce qu’il a fait la veille et ce qu’il va faire dans la journée. Cela permet à toute l'équipe de rester au courant sur l'avancement des tâches en cours. A la fin d’un sprint, une démonstration des développements réalisés est faite au client ou au PO, et enfin nous faisons une cérémonie appelée "Rétrospective de sprint", où chacun exprime son ressenti sur le sprint qui vient de s’écouler.
Je suis actuellement en transition pour devenir le Scrum Master (ou SM) de l’équipe dans laquelle je travaille à Infomil. Le SM a pour rôle d’aider l’équipe à s’améliorer et à comprendre et mettre en place Scrum.
Pour ma transition, j’ai pu organiser, avec notre SM actuel, les différentes cérémonies du sprint. J’ai par exemple préparé plusieurs fois la cérémonie de rétrospective. J’ai dû trouver des activités à faire afin d’avoir un icebreaker en début de réunion.
Pour prendre un cas pratique d’une rétrospective que j’ai pu organiser et animer, j’ai fait l’animation et la préparation d’un jeu, Haxball, pour que tout le monde puisse jouer et être plus décontracté pour le reste de la réunion.
J’ai ensuite animé le reste de la réunion, où j’ai amené l’équipe à discuter sur des sujets qu’un ou plusieurs membres de l’équipe voulaient aborder. Cela se faisait avec 5 minutes où n’importe qui pouvait poser des post-it avec les sujets en question.
J’ai au fur et à mesure regroupé les post-it similaires, et nous avons ensuite passé quelques minutes sur chaque sujet. A noter que ces sujets ne sont pas obligatoirement en lien avec le travail.
Par exemple si un collègue veut discuter des travaux qu’il fait chez lui, il peut très bien rajouter le sujet. Cela permet de renforcer la cohésion d’équipe en faisant en sorte de ne pas penser qu’au travail.
Enfin, la rétrospective se finit avec une partie où nous discutons des différents sujets d’améliorations d'équipe que nous pouvons remonter des sujets vus juste avant, ou que nous avons déjà remontés auparavant.
En les passant un par un, je les déplace dans un tableau afin d’indiquer s’ils sont en attente, en cours ou finis. La rétrospective est ensuite terminée, ce qui marque la fin du sprint actuel.
Même si, dépendamment de l’entreprise, un développeur peut ne jamais faire de la gestion de projet, je pense qu’il est primordial que tous les développeurs sachent comment le projet sur lequel ils travaillent est géré. Cela permet d’avoir une vision plus claire et permet de comprendre bien plus facilement les décisions faites par les personnes en charge.
Il est aussi possible qu’un développeur ait à faire de la gestion de projet, comme j'ai pu le faire en Scrum. Un développeur peut aussi être Scrum Master, comme vu ci-dessus, et donc s’occuper de gérer un projet sur différents aspects, par exemple la planification des réunions.
Avec mon expérience en méthode Agile Scrum, je pense que je suis tout à fait capable d’aider une équipe à la mettre en place et ma transition pour devenir Scrum Master me permet aussi d’être compétent dans la méthode Scrum, et je pense pouvoir former sans difficulté quelqu’un d’autre pour que cette personne devienne SM.
Je pense qu’un développeur se doit d’avoir des compétences dans le domaine de la gestion de projet et se doit d’au moins essayer de comprendre comment le projet est géré. Je pense que commencer à faire des recherches sur les différentes méthodes de gestion de projet comme le Cycle en V ou le Lean Management par exemple est un bon début pour les personnes voulant s'intéresser à ce sujet.
Avoir cette expérience m’a vraiment aidé à comprendre et avancer sur les projets sur lesquels j’ai travaillé. J’ai assez facilement acquis les bases de cette compétence et je suis capable de comprendre comment et pourquoi un projet est géré d’une manière ou d’une autre.