L’agilité, c’est s’adapter en toutes circonstances. Pour respecter les 12 principes agiles, nous ne dogmatisons pas notre gestion de projet, même avec des méthodes qui se disent agiles, comme SCRUM par exemple. Notre agilité nous permet de nous adapter aux environnements spécifiques et besoins particuliers (autres méthodes, reprise de code, version/package, outils, management,… ) de chacun de nos clients.
En communiquant régulièrement, et de façon bilatérale, Imagile apporte de l’aide à la priorisation des travaux. Prioriser c’est définir un ordre de réalisation en fonction :
- d’une estimation de temps de réalisation, que l’expert du développement peut appréhender, et
- du besoin métier, que le client et les utilisateurs connaissent.
Nous cherchons un équilibre entre livraisons rapides et régulières et livraisons à haute valeur ajoutée.
Nous accueillons positivement les changements de besoins, même tard dans le projet. Il serait en effet dommage d’abandonner une fonctionnalité s’avérant cruciale pour la réussite du projet du simple fait de respecter un cahier des charges strict. Ceci est permis en nous engageant sur un quota d’heures et non à une prestation forfaitaire liée à des spécifications figées.
Ceci permet entre autre d’accepter les changements de priorité grâce à des cycles de quelques jours à quelques semaines et une préférence pour les plus courts. Il arrive même pour certains projets que nous livrions plusieurs fois par jour.
Ces versions sont archivées et organisées en utilisant un logiciel de versioning, par exemple Git, offrant ainsi des déploiements simples et la possibilité de revenir à une version précédente en cas de besoin. En outre, la mise en place de tests unitaires assure la sérénité de tous pour des déploiements réguliers.
Chez Imagile, il n’y a pas de chef de projet au sens “intermédiaire exclusif” entre clients et développeurs. Pour une excellente coordination, les développeurs sont en contact direct avec ceux qui utilisent les applications et un facilitateur fluidifie les relations.
Nous facilitons les échanges en mettant en place une adresse mail unique allouée au projet, ainsi l’ensemble des membres de l’équipe projet a accès aux échanges et à l’historique en toute simplicité. Par exemple si le projet se nomme “Barbecue” l’adresse du projet sera barbecue@imagile.fr.
Nos équipes participent à la rapide réunion quotidienne de revue de projets avec état d’avancement et priorisation des tâches. Les réunions avec nos clients sont fixées selon le besoin et à la demande.
Pour garantir ce point, les méthodes de recrutement chez Imagile mettent l’accent sur le savoir-être, une bonne capacité d’écoute et de synthèse. La cohésion d’équipe est une clef majeure. Pour cela Imagile met à disposition un environnement de travail favorable aux échanges au travers d’une organisation souple. Lorsque nous sommes sollicités pour travailler avec un nouveau client nous expliquons, à l’ensemble des collaborateurs, son métier, ses problématiques et ses ambitions de sorte que chacun puisse se positionner et proposer ses compétences.
Outre le mail unique dédié au projet, les équipes sont accessibles en direct par téléphone, Skype, Hangout, Appear.in… Travailler de manière asynchrone ne suffit pas ; il faut savoir provoquer des réunions, même rapides, pour débloquer des situations et faire avancer le projet.
Nous nous efforçons de fractionner les livraisons sur la base de périmètres fonctionnels afin de répondre aux attentes priorisées.
Nous nous engageons à livrer une V1 fonctionnelle en respectant le nombre de jours prévus.
La facturation mensuelle est réalisée en fonction des heures consommées dans le mois et c’est l’occasion de rappeler le temps restant et de prioriser les travaux à faire par la suite.
Les processus agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant. C’est pourquoi nous sommes soucieux de ne pas imposer des heures supplémentaires.
Une attention continue à l’excellence technique est de rigueur. Notre veille technique en est la preuve. Le pair-programming et les revues de code assurent la transmission des savoirs.
La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – permet d’établir un climat de confiance et de raisonnablement dimensionner les ressources financières. C’est pourquoi nous cherchons toujours, en premier lieu, à produire une version simple de chaque fonctionnalité puis de laisser l’usage dicter son évolution.
Tout en ayant un référent au sein d’Imagile, toute personne de l’équipe est libre de solliciter toute aide nécessaire (collaborateur, achat de service, …).
Nous privilégions les logiciel de gestion de projet collaboratifs tant avec les équipes Imagile que les équipes clients. Nous utilisons classiquement des outils simples et intuitifs comme Trello.
À intervalles réguliers, l’équipe réfléchit aux moyens possibles pour devenir plus efficace. Puis elle s’adapte et modifie son mode de fonctionnement en conséquence.
Nous mettons en place des outils de tests et de surveillance afin de détecter les erreurs automatiquement. Ceci sécurise et pérennise les développements.
Les rétrospectives agiles, réunions de fin de cycle réunissant un maximum d’acteurs ayant participé au projet, sont organisées régulièrement et permettent à chacun d’apprendre par l’erreur et la réussite.