Agile

La Démarche agilité appliquée aux Junior-Entreprises

La démarche agile est aujourd’hui un des challenges du monde de l’entreprise. Pour beaucoup, l’objectif est de passer d’équipes qui fonctionnent en Cycle en V, processus qui s’étale sur plusieurs années et souvent contractuel, à l’agilité et de l’adapter, non seulement à la réalisation de logiciels informatiques, mais également aux méthodes de management de l’entreprise.

L’agilité, qu’est-ce que c’est ?

Il s’agit avant tout d’une culture d’entreprise, d’un mindset : c’est une manière de penser la gestion de produit collaborative. Elle se caractérise par la réalisation de cycles itératifs courts d’une quinzaine de jours durant laquelle la collaboration continue avec le client est le mot d’ordre. L’objectif de cette démarche est de s’adapter efficacement aux changements du besoin utilisateur afin d’obtenir un logiciel opérationnel à forte valeur ajoutée.

D’après le manifeste Agile, l’agilité privilégie l’individu par rapport aux outils et définit le fonctionnement global de l’équipe produit : elle encourage le travail d’équipe entre chaque partie prenante et favorise la communication intra-équipe. Le manifeste Agile se définit par quatre valeurs :

  • L’équipe a plus de valeur que les processus et les outils ;
  • L’application opérationnelle a plus de valeur que la documentation complète ;
  • La collaboration avec le client a plus de valeur que la contractualisation ;
  • L’acceptation du changement a plus de valeur que le suivi d’un plan figé.

Cette méthode induit une efficacité accrue du projet par rapport aux autres méthodes de management de projet par la réalisation de livrables réguliers.

Mise en application de l’agilité avec le framework Scrum

Parmi les multiples mises en application de l’agilité, le framework Scrum est le plus populaire de par son aspect structurant qui rassure les entreprises et ses résultats qui prouvent son efficacité. Le Scrum donne un cadre pour développer rapidement un produit en adéquation avec la vision client et se positionne comme le framework de choix lorsqu’il s’agit de développer des logiciels et killer applications.

Afin de définir plus précisément ce framework, il est important de mettre en lumière plusieurs points :

Le product backlog définit la liste priorisée des demandes collectées auprès des différents utilisateurs. Cet artefact vivant qui évolue continuellement pendant tout le cycle de vie du produit, est un outil essentiel de la planification au début de chaque sprint.

À chaque sprint est établi un sprint goal, qui permet de définir l’équipe en fonction des besoins utilisateurs les plus prioritaires définis par des User Stories. Ces besoins sont ensuite découpés en tâches les plus petites possibles. Chaque tâche doit être évaluée par son temps d'exécution et sa complexité.

Les livrables consistent, à chaque cycle itératif, en certaines fonctionnalités du logiciel opérationnel.

Le Scrum est organisé de telle sorte à ce que chaque partie prenante dispose d’un rôle défini au cours du développement du produit.

On distingue 3 rôles principaux :

  • Le Product Owner, celui-ci recueille et priorise les besoins utilisateurs. Il constitue le produit backlog dont il est responsable et est aussi le garant de la valeur métier des livrables.
  • Le Scrum Master, le garant du Scrum, n’est pas un chef de projet. C’est un servant leader et un facilitateur de son équipe. Le Scrum master assure le suivi de l’évolution des sprints. Il est responsable de la transparence au sein de l’équipe et assure le bon déroulement des rituels du Scrum.
  • L’équipe des développeurs, est responsable de la réalisation technique. Composée de 3 à 9 personnes à temps plein, elle regroupe l’ensemble des rôles nécessaires à la réalisation du logiciel opérationnel. Elle s’organise en autonomie afin de gérer au mieux le produit. Il est essentiel que la composition de l’équipe technique ne change pas au cours d’un sprint.

Scrum définit 4 types de rituels :

  • Le sprint planning a pour objectif de planifier les itérations avec tous les membres de l’équipe. Ce rituel prend place au début de chaque sprint, et le travail fait pendant un sprint est appelé sprint backlog. Celui-ci est constitué à partir du product backlog priorisé par le Product Owner.
  • Le Daily Scrum est un rituel quotidien au cours duquel les développeurs s’organisent sur le travail à faire dans la journée. Il doit durer 15 minutes maximum, le Scrum Master assure le bon déroulement du rituel dans le temps imparti.
  • La sprint review : lors de ce rituel, l’équipe Scrum se réunit au complet et invite les parties prenantes : les sponsors et utilisateurs internes ou externes. L’équipe présente le travail effectué afin de recueillir les retours utilisateurs et mettre à jour le product backlog.
  • La sprint rétrospective, le rituel de fin de sprint dédiée à l’amélioration continue, seuls les membres de l’équipe peuvent y participer, afin de faciliter la transparence nécessaire aux phases d’inspection et d’adaptation de ce rituel.

Les Agilistes ont pour habitude d’utiliser des supports de management visuels ce qui favorise la transparence au sein des équipes. Les équipes Scrum utilisent un Scrum board pour visualiser l’avancement du travail lors de chaque sprint. Les tâches à effectuer sont modélisées sous formes de post-it avec différentes colonnes représentant l’état d’avancement de ces tâches.

Comment appliquer l’agilité en Junior-Entreprise ?

Le cadre légal des Junior-Entreprises est, en raison de la particularité de nos structures, très règlementé. Nos contrats requièrent un cahier des charges, une méthodologie, un budget et échéancier qui définit à l’avance ce que l’on pourrait assimiler à une méthode en Cycle en V. La mise en place de la réalisation d’études pour les professionnels au travers d’une démarche agile se verrait donc très rapidement limitée.

Seulement, dans le cadre des études en informatiques, il existe des solutions nous permettant d’adapter l’agilité à nos processus, cela dans le but de produire des livrables de qualité supérieure, en adéquation avec la vision client.

Une agilité au cœur de notre code

Nous nous efforçons d’utiliser chacune de nos ressources afin d’être toujours plus productifs et performants, et pouvoir s’accorder au besoin client.

Pour chaque étude informatique, nous limitons le nombre de consultants intervenant sur les projets afin de réduire les problèmes d’intégration du code. Les consultants, accompagnés par notre équipe technique, peuvent donc se concentrer davantage sur la qualité du code plutôt que sur les problèmes d’intégration de celui-ci.

Une nouvelle solution, complémentaire à la précédente, est la mise en place de chaînes d’intégration et de déploiement continu lors du développement de logiciels. Pour cela, nous réfléchissons à adapter la formation et le rôle de nos consultants au cours de l’étude pour ajouter des tests unitaires automatisés. Une chaîne d’intégration continue fiabilisée par des tests unitaires rigoureux est un accélérateur majeur dans le développement logiciel quotidien, ce qui permet de réduire drastiquement le Time To Market.

Une agilité au cœur de nos processus

Au niveau du suivi et de la méthodologie, nous mettons en place un suivi efficace de nos projets grâce à l’outil de management visuel nommé Trello. Il nous permet, après concertation entre les différentes parties prenantes du projet - chef de projet, responsable technique, consultants - de découper le cahier des charges en sprints en fonction des différentes fonctionnalités définies avec le client.

Cet outil nous permet de suivre au mieux l’avancement de chacun, de contrôler chacune des phases et fonctionnalités, et s’assurer du respect des délais en accord avec la méthode agile.

Au cœur de nos contrats, une agilité au plus près des attentes de nos clients

Depuis l’Assemblée Générale des Présidents du 16 mai 2020, notre contrat de Convention Cadre (CC) peut désormais nous être utile dans le cadre de la réalisation d’études informatiques sous le modèle agile.

La CC, dorénavant spécialement adaptée aux études agiles, permet d’émettre des bons de commande qui contiendront les méthodologies décrites dans la CC, le budget, les délais, les modalités et surtout le cahier des charges défini pour ce bon de commande. Chaque bon de commande, considéré comme un sprint, représentera ainsi une partie du cahier des charges attendu par le client. Les rendus sont soumis à une période de garantie de 7 jours afin de pouvoir ensuite émettre rapidement un nouveau bon de commande et garantir un suivi et développement continu pour le client.

Cette nouvelle forme de contrat permet ainsi d’améliorer la méthode de réalisation des études en informatique réalisées par les J.E. et donc d’en perfectionner le rendu.

Depuis trois ans, nous suivons une formation réalisée par des consultants de notre partenaire DEVOTEAM. Cette formation permet aux membres de découvrir une démarche de plus en plus employée dans les secteurs de l’informatique et du numérique, mais qui est également adaptable aux techniques de management des organisations (objectifs définis, processus simplifiés, communication ouverte et collaborative entre chaque partie prenante).

Nous essayons continuellement d’identifier de meilleures techniques afin d’adapter notre modèle de structure et de gestion de projet à cette méthode agile, afin de se rapprocher au plus près des exigences clients.

Cette méthode permet de multiplier la performance et la productivité d’une entreprise et nous avons à cœur, au quotidien, d’en parfaire le modèle, dans le but de réaliser pour nos clients, des études qui dépasseront la hauteur de leurs exigences.