Be & Do Agile !

Gestion de projets, Software Craftsmanship, Product Management… Nous accompagnons vos équipes dans leur transformation agile. Réfléchissons ensemble au framework et pratiques les plus adaptées à votre activité, à vos équipes et devenons Agiles !

L'agilité ne se pratique pas qu'au yoga.

Gagnez en perfomance, grâce à l’agilité.

Dynamisez vos équipes grâce à un accompagnement en gestion de projet agile, Software Craftsmanship et Product Management. Augmentez la satisfaction de vos clients avec des livraisons régulières et sans compromis sur la qualité. Nos experts vous accompagnent dans votre transformation agile afin d’améliorer votre time-to-market et votre capacité à vous adapter aux changements.

Gestion de projet Agile

Les besoins de vos clients changent régulièrement, vous devez appréhender rapidement des nouvelles technologies… Vous avez besoin de vous adapter et de vous réinventer pour rester compétitif. Être agile est indispensable. Mais comment le devenir et le rester ? Dans quel but ? Par où commencer ? Notre expertise Gestion de projet Agile vous montre la voie.

Software Craftsmanship

Rendre agile une équipe qui fait du développement logiciel passe par la mise en place d’un framework agile et d’une acculturation, mais ce n’est pas suffisant. Comme le produit livré est constitué de code, il est important de s’intéresser à l’agilité du code lui-même et aux pratiques qui y mènent : le Software Craftsmanship.

Product Management

L’objectif premier de l’approche agile est de livrer de la valeur aux utilisateurs de manière régulière pour construire le bon produit qui correspond à leurs besoins au bon moment. La culture projet considère le respect du périmètre, des coûts et des délais comme critères de réussite. Le Product Management met plus le focus sur la satisfaction des utilisateurs, le retour sur investissement et le time-to-market.

Rejoins une communauté d'experts !

Pourquoi passer par un cabinet de conseil en gestion de projet Agile ?

Qu’est-ce que l’agilité ?

Il existe de nombreuses définitions de l’agilité et elles sont souvent partielles car l’agilité est un concept à plusieurs dimensions et chacune de ces dimensions a son importance. L’agilité n’est pas qu’une simple méthodologie comme elle peut souvent être définie quand on parle de « méthode agile ».

Pour avoir une vision complète de ce qu’est l’agilité, on peut la représenter sous la forme d’une pyramide à lire du haut vers le bas de par l’importance prépondérante des étages supérieurs.

Cette structure pyramidale de l’agilité est constituée des éléments suivants en partant par le haut :

  • Un état d’esprit, autrement dit une culture partagée par l’ensemble de l’organisation qui se veut agile. Cet état d’esprit agile met le focus sur les utilisateurs et leur satisfaction et met en avant la notion d’équipe au-delà des individus qui la composent. Ces équipes ont des buts communs, prennent des décisions collectivement et sont autonomes pour réaliser leur travail. Dans la culture agile, l’erreur est parfaitement acceptée car les équipes font en permanence des expérimentations pour apprendre sur leur environnement technique, fonctionnel, humain… L’attitude générale des personnes est positive dans une logique de construction. Dans ce contexte, l’erreur est plutôt vue positivement, comme un moyen d’apprendre et d’évoluer dans le bon sens. L’apprentissage continu fait d’ailleurs parti de la culture agile. Enfin, il n’y a pas d’agilité sans excellence et focus permanent sur la qualité. Dans le domaine du développement logiciel, nous adressons cette dimension de l’excellence technique par le biais de notre expertise « Software Craftsmanship »
  • 4 valeurs issues du Manifeste pour le développement Agile de logiciels qui se veut être le texte fondateur du mouvement agile :
    • « Les individus et leurs interactions plus que les processus et les outils »
    • « Des logiciels opérationnels plus qu’une documentation exhaustive »
    • « La collaboration avec le client plus que la négociation contractuelle »
    • « L’adaptation au changement plus que le suivi d’un plan »

Ces 4 valeurs renforcent l’état d’esprit agile en indiquant que l’agilité met le focus sur l’humain, la valeur produite, les feedbacks et l’apprentissage qu’elles permettent, et enfin la capacité à s’adapter au changement quel qu’il soit.

  • 12 principes décrits aussi dans le Manifeste agile qui illustrent l’implémentation des 4 valeurs ci-dessus
  • Un ensemble de frameworks et de méthodes comme Scrum ou Kanban qui constituent une partie de la boîte à outils de notre expertise « Gestion de projet agile » pour implémenter l’agilité chez nos clients
  • Des pratiques qui viennent compléter les frameworks ci-dessus (ex : utilisation d’un board de management visuel, User Story Mapping …)

L’agilité est une approche incrémentale dans le sens où elle induit la construction d’un produit par incrément, mais aussi une approche itérative avec laquelle on apprend des itérations précédentes pour adapter le produit à construire, les processus…

Contrairement aux approches traditionnelles, l’agilité est une approche empirique et non prédictive. Les équipes apprennent au fur et à mesure qu’elles avancent.

Pourquoi adopter une approche agile ?

Si l’on résume en une phrase les objectifs de l’agilité, une telle approche permet d’avoir la capacité à fournir au bon moment et de manière régulière des services apportant de la valeur à ses utilisateurs, tout en s’adaptant à temps aux changements dans son environnement. Passer à l’agilité ne doit en aucun cas être un but en soi.

La première raison d’adopter une approche agile est de développer une capacité à s’adapter au changement et à apprendre. Pourquoi devoir s’adapter au changement ? Le contexte dans lequel évolue la plupart des organisations est mouvant et présente des incertitudes sur son évolution dans le futur. Le marché sur lequel se positionne un produit peut évoluer dans le temps et personne ne peut prédire cette évolution à coup sûr. La concurrence peut changer. Vos clients peuvent avoir des besoins qui changent dans le temps. Une autre dimension sur laquelle il peut y avoir de l’incertitude à un instant T, c’est comment réaliser techniquement un produit car les technologies, les outils, les façons de faire évoluent aussi. Cette incertitude sur le quoi et le comment réaliser un produit constitue un monde complexe auquel s’ajoute la complexité de l’organisation humaine qui réalise ce produit. La vocation première de l’agilité est de mieux appréhender cette complexité par la mise en place d’expérimentations et l’apprentissage apporté par les feedbacks de ces expérimentations, qu’elles soient au niveau du produit, au niveau technique ou au niveau humain. Par ces feedbacks réguliers, elle permet ainsi de limiter au maximum les effets tunnel à tous les niveaux du système : produit, technique et organisation humaine.

Si l’on reprend la première phrase sur les objectifs de l’agilité, la seconde raison, tout aussi importante que la première, d’adopter une approche agile est d’améliorer le time to market, c’est-à-dire livrer la bonne fonctionnalité au bon moment pour apporter la valeur attendue par les utilisateurs. En d’autres termes, l’agilité permet d’améliorer la satisfaction de vos utilisateurs et de toujours créer l’incrément de produit avec la plus forte valeur métier à l’instant T.

En remettant au centre l’humain, les interactions humaines et la collaboration comme l’indiquent les valeurs du Manifeste Agile, l’agilité redonne du sens au travail de chacun. Adopter une approche agile est ainsi utile pour augmenter l’implication des personnes, susciter plus de responsabilisation de chacun au sein des équipes, autrement dit augmenter l’efficience globale d’une organisation.

Quelles problématiques l’agilité à l’échelle adresse-t-elle ?

L’agilité à l’échelle permet de faire travailler plusieurs équipes agiles ensemble sur un même sujet impliquant soit un seul produit, soit plusieurs produits. On sait que la taille idéale d’une équipe agile doit correspondre à la taille d’une équipe nourrie avec 2 pizzas. On parle d’ailleurs de Pizza team. Or la réalité des sujets traités ou des produits construits dans certaines organisations implique souvent plus de personnes que la taille d’une Pizza team. On entre alors dans le domaine de l’agilité à l’échelle.

Au vu de la définition ci-dessus, l’objectif de l’agilité à l’échelle est d’avoir un ensemble d’équipes qui reste agile dans sa globalité. La première problématique que l’agilité à l’échelle adresse est donc de mettre à l’échelle d’un ensemble d’équipes ce qui est important dans l’agilité d’une équipe, à savoir principalement le focus sur la valeur délivrée et l’auto-organisation des équipes.

L’agilité à l’échelle n’est surtout pas une industrialisation de l’agilité d’une équipe à une plus grande granularité, c’est-à-dire industrialiser la façon dont chaque équipe doit travailler, dans le but de réduire artificiellement la complexité. A l’échelle, la complexité est toujours présente et il faut travailler avec.

La deuxième problématique à laquelle doit répondre l’agilité à l’échelle est la synchronisation des équipes pour la livraison de valeur. Les outils de l’agilité à l’échelle portent donc leur focus sur la gestion des dépendances entre les équipes.

Enfin, l’agilité à l’échelle a des implications sur l’organisation. La notion de feature team, c’est-à-dire d’équipe pluridisciplinaire capable de réaliser une fonctionnalité entière de bout en bout, est clé dans la mise en place de l’agilité à l’échelle pour que chaque équipe garde un maximum d’autonomie. Pour autant, l’agilité à l’échelle n’interdit pas le modèle de component team, c’est-à-dire d’équipe avec une expertise sur un composant d’une chaîne de valeur. Tout dépend du contexte. Dans les faits, ce modèle de component team reste toutefois une exception dans une organisation agile à l’échelle.

Une autre implication de l’agilité à l’échelle sur l’organisation est la mise en place de communautés de pratiques transverses aux feature teams. Par exemple, si plusieurs équipes travaillent sur un seul produit, elles partagent la même base de code. Il est donc essentiel qu’elles se mettent d’accord sur la façon d’écrire ce code, de l’architecturer… On retrouve ici la problématique de synchronisation des équipes.