Skip to content

Blogs de Développeurs: Aggrégateur de Blogs d'Informatique sur .NET, Java, PHP, Ruby, Agile, Gestion de Projet

Forum Logiciel

Forum Logiciel : diffusion de connaissance et d’informations sur toutes les activités liées au développement d’applications informatiques en entreprise.

Agrégateur de flux

Truc de Coach Agile: Les ingrédients d’une BONNE revue de sprint

Qualitystreet - Jean Claude GROSJEAN - dim, 04/17/2016 - 18:09

Vous le savez une Revue de Sprint est bien plus qu’une simple dĂ©monstration… Voici les ingrĂ©dients qui vont rendre votre revue vĂ©ritablement efficace! Le rappel et l’affichage des Objectifs de l’évĂ©nement (rappelĂ©s en ouverture) Le rappel et l’affichage de ce que ce n’est pas  (Peut ĂŞtre utile en cas de dĂ©rapages…) Le rappel et l’affichage de l’Agenda…

The post Truc de Coach Agile: Les ingrĂ©dients d’une BONNE revue de sprint appeared first on QualityStreet - Blog Pro de Jean Claude Grosjean.

Catégories: Blog Individuel

La gestion des contextes dans Spring TestContext Framework

Blog d’Ippon Technologies - jeu, 04/14/2016 - 15:52

Le framework Spring fournit toute l’infrastructure pour tester une application dans un contexte proche du dĂ©ploiement en production : le framework TestContext.

S’il semble très simple Ă  utiliser de prime abord, il est en fait très riche. Mais il est nĂ©cessaire de maĂ®triser certaines subtilitĂ©s de son utilisation en particulier la gestion de la mise en cache des contextes Spring, si on veut pouvoir maĂ®triser une suite de tests non triviale.

Le framework Spring TestContext

Depuis sa version 2.5, Spring propose le framework TestContext pour faciliter les tests d’intĂ©gration.

Par opposition aux purs tests unitaires qui par dĂ©finition ne nĂ©cessitent normalement pas la mise en oeuvre d’un contexte Spring, ces “tests d’intĂ©gration” ont pour but de valider l’assemblage des composants (par le conteneur Spring) et le comportement de leur collaboration dans le cadre du contexte d’exĂ©cution qu’apporte le conteneur : aspect transactionnel, translation d’exception, configuration du framework JPA, etc., pour ne citer que les plus classiques.

Souvent, ce type de test utilise une base embarquée comme H2, mais chaque projet/environnement aura ses propres contraintes/besoins.  

Le framework TestContext a en particulier pour rĂ´le :

  • la crĂ©ation d’un contexte Spring suivant la dĂ©finition fournie,
  • l’injection des beans Spring nĂ©cessaires dans la classe de test.  

Voici un exemple simple de test JUnit utilisant TestContext :

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MyApplicationConfig.class})
@ActiveProfiles("test")
public class OrderServiceTest {

    @Autowired
    private OrderService orderService;

    @Test
    public void testOrderService() {
        // test the orderService
    }

}

Dans l’exemple prĂ©cĂ©dent, la configuration de l’applicationContext est une classe @Configuration fournie en paramètre de l’annotation @ContextConfiguration.
On a choisi ici d’utiliser un profile spĂ©cifique “testProfile” (via @ActiveProfiles) pour se positionner dans un cadre convenable aux tests (qui aura par exemple pour effet de configurer une base de donnĂ©es embarquĂ©e).

Le framework TestContext est assez riche et propose un grand choix d’options pour dĂ©finir ou paramĂ©trer le contexte Spring qui sera utilisĂ©. On pourra en particulier utiliser :

  • l’annotation @TestPropertySource pour paramĂ©trer d’une manière spĂ©cifique le contexte,
  • une ou plusieurs classes @Configuration dĂ©diĂ©es aux tests couplĂ©es par exemple avec une annotation @ComponentScan excluant certains Bean (attention dans ce cas Ă  bien prendre en compte tous les @ComponentScan qui seront activĂ©es : les exclusions ne s’appliquent qu’Ă  l’annotation qui les porte, pas aux autres).
La mise en cache des Contextes Spring

La crĂ©ation d’un contexte Spring est assez coĂ»teux, en particulier du fait qu’il implique l’initialisation d’autres frameworks : on peut citer par exemple l’initialisation d’Hibernate, qui est souvent un gros contributeur sur le temps de crĂ©ation. Pour Ă©viter de payer ce coĂ»t Ă  chaque test, le framework TestContext met en cache les contextes Spring : ainsi lorsque deux classes de tests utilisent exactement la mĂŞme dĂ©finition de contexte, elles partagent le mĂŞme contexte Spring. Souvent, une seule dĂ©finition de contexte Spring est rĂ©utilisĂ©e pour l’ensemble des tests d’une application : le coĂ»t de crĂ©ation ne sera alors payĂ© qu’une seule fois pour tout l’ensemble.

Il arrivent parfois que d’autres configurations spĂ©cifiques de Spring soient nĂ©cessaires pour tester un aspect particulier du système. Dans ce cas, TestContext s’occupe d’identifier les diffĂ©rents contextes et les crĂ©e chacun Ă  leur tour au besoin.

TestContext prend en compte tout un ensemble de paramètres pour identifier la configuration du contexte de test voulue (voir le paragraphe Context caching de la documentation ), en particulier :

  • la liste des dĂ©finitions des beans (fichiers de conf XML ou classes @Configuration),
  • les profiles activĂ©s,
  • les surcharges de propriĂ©tĂ©s.
Les Ă©cueils de la mise en cache des contextes

Si la mise en cache des contextes Spring est un apport important du framework TestContext, elle n’en est toutefois pas dénuée de conséquences.

1ère conséquence : les contextes ne s’arrêtent qu’à la fin de tous les tests

Cette mise en cache implique que, par dĂ©faut, les contextes Spring ne sont clos qu’Ă  la fin de l’exĂ©cution de l’ensemble des tests.

En particulier, tout traitement en tâche de fond gĂ©rĂ© par un bean Spring d’un des contextes restera actif jusqu’Ă  la fin de TOUS les tests. C’est Ă  dire que tout scheduler, tout job spring batch, tout consumer jms, … continuera Ă  travailler jusqu’à la fin… Ce n’est gĂ©nĂ©ralement pas un comportement voulu et il pose des problèmes de concurrence d’exĂ©cution et des effets de bord non prĂ©vus qui mettent Ă  mal la reproductibilitĂ© des tests (le plus souvent, on voudra donc probablement dĂ©sactiver ces mĂ©canismes pour tous les tests).

Un moyen d’arrĂŞter un contexte Spring plus tĂ´t est d’utiliser l’annotation @DirtiesContext.

2ème consĂ©quence : la mise en commun de l’Ă©tat du/des contextes

Avec cette mise en cache, il faut ĂŞtre conscient que tout effet de bord d’un test sur le contexte Spring peut impacter un autre test :

  • la mĂŞme base de donnĂ©es embarquĂ©e sera utilisĂ©e (elle ne sera potentiellement pas vide),
  • les caches et autres Ă©tats internes des beans Spring ou des services utilisĂ©s (pool de connexion, etc.) seront partagĂ©s,
  • et surtout toute modification des dĂ©pendances d’un Bean Spring ou de ses paramètres de fonctionnement ne sera pas locale Ă  un seul test.

Ă€ l’exception du dernier point : ces spĂ©cificitĂ©s sont gĂ©rables Ă  condition de prendre en compte leur existence.

Par contre, le dernier point par contre pose problème : le contexte Spring a Ă©tĂ© “corrompu” par le test et le comportement des autres tests peut en ĂŞtre affectĂ© (c’est d’ailleurs pour cela qu’il faut, en premier lieu, chercher Ă  Ă©viter de le faire). Lorsque cette pratique est nĂ©cessaire, il convient d’indiquer Ă  TestContext que le contexte Spring ne peut pas ĂŞtre rĂ©utilisĂ© : l’annotation @DirtiesContext a Ă©tĂ© introduite pour cela. Lorsque @DirtiesContext est utilisĂ©, TestContext invalide le contexte Spring : il l’arrĂŞte et le retire du cache (Ă  noter : depuis Spring 4.2, @DirtiesContext peut aussi ĂŞtre utilisĂ© pour s’assurer au dĂ©but d’un test que le contexte vient d’ĂŞtre crĂ©Ă©).

On notera que l’utilisation de @DirtiesContext a une consĂ©quence immĂ©diate : le coĂ»t de recrĂ©ation du contexte au prochain test qui en aura besoin !

3ème conséquence : les problèmes de cohabitation

Le framework Spring est très bien fait. Faire cohabiter plusieurs instances de contextes Spring ne pose normalement pas de problème en soi. Ce n’est toutefois pas forcĂ©ment le cas des frameworks qu’il met en oeuvre (caches statiques, par exemple) ou des effets de bords de ces contextes Spring sur un environnement commun.

Exemple : traitements lancés en tâche de fond

J’ai dĂ©jĂ  parlĂ© des problèmes potentiels sur un contexte Spring qui hĂ©berge des traitements en tâche de fond. Je le rĂ©pète toutefois ici, car c’est un point important qui peut mettre Ă  mal la stabilitĂ© d’une TestSuite.

Exemple : le drop de la base embarquée

Une base embarquĂ©e initialisĂ©e par Hibernate avec l’option hibernate.hbm2ddl.auto=create-drop (crĂ©ation des tables Ă  l’initialisation puis suppression Ă  la fermeture de l’entityManagerFactory) peut poser problème si plusieurs contextes Spring utilisent la mĂŞme base (on notera que c’est l’option par dĂ©faut de Spring Boot).

Dans les cas nominaux, les contextes Spring sont crĂ©Ă©s au fur et Ă  mesure et ne sont arrĂŞtĂ©s qu’Ă  la fin des tests. Cela ne posera alors pas de soucis. Mais si :

  • un des contextes Ă©choue Ă  s’initialiser (un problème d’injection par exemple),
  • on a besoin d’utiliser @DirtiesContext,

l’extinction du contexte Spring aura pour consĂ©quence un drop des tables de la base embarquĂ©e. Ce drop fera Ă  coup sĂ»r Ă©chouer les autres tests interagissant avec la base de donnĂ©es.  

On peut imaginer deux moyens pour éviter ce problème :

  • configurer Hibernate en “create” uniquement (le plus simple Ă  mon sens), ainsi une extinction d’un contexte (voulu ou non) ne supprimera pas les tables,
  • utiliser une base embarquĂ©e diffĂ©rente pour chaque configuration de test diffĂ©rente.
Exemple : CacheManager Ehcache

Lorsqu’on utilise le support du caching par SpringBoot avec Ehcache, un CacheManager non nommĂ© est crĂ©Ă© automatiquement (cf. EhCacheCacheConfiguration.ehCacheCacheManager() et EhCacheManagerUtils.buildCacheManager()). Deux contextes SpringBoot diffĂ©rents vont chercher Ă  crĂ©er le mĂŞme CacheManager non nommĂ©, ce qui n’est pas supportĂ© par Ehcache qui renvoie une erreur.

Dans ce cas, une solution est de surcharger la création du CacheManager, en lui donner un nom unique à chaque contexte (un UUID par exemple).

Sur la cohabitation

Ce ne sont ici que quelques exemples, le point important est de bien prendre en compte le fait que l’utilisation de plusieurs contextes Spring peut avoir des consĂ©quences inattendues qu’il faut ĂŞtre prĂŞt Ă  identifier et corriger. Il pourra parfois ĂŞtre nĂ©cessaire de dĂ©finir plusieurs TestSuite et de les exĂ©cuter les unes après les autres de manière indĂ©pendante pour Ă©liminer ce type de problème (les utilisateurs de Maven pourront par exemple dĂ©finir plusieurs <execution> du plugin surefire et/ou utiliser failsafe en plus de surefire).

Conclusion et éléments de choix

Il appartient Ă  chacun d’Ă©valuer et de challenger son besoin d’utiliser plusieurs contextes Spring au sein de sa suite de tests :

  • quel est le but recherchĂ© ?
  • y a-t-il un autre moyen de le faire plus proprement ?
  • de quelle manière les faire cohabiter au mieux ?

On notera que d’un point de vue du temps d’exĂ©cution global, il n’est pas grave voire plutĂ´t intĂ©ressant d’utiliser un unique “gros” contexte Spring de test : il rĂ©pond aux besoins de tous les tests et son coĂ»t de crĂ©ation n’est payĂ© qu’une fois pour toute l’exĂ©cution de la suite de test (s’il n’est jamais marquĂ© “dirty”). En contrepartie, l’exĂ©cution d’un test spĂ©cifique dans une suite paiera ce coĂ»t plus important de crĂ©ation Ă  chaque exĂ©cution ce qui peut potentiellement ĂŞtre gĂŞnant lors du dĂ©veloppement.

Catégories: Blog Société

Le A3 comme outil de communication avec le management

Barre Verte ! - lun, 04/11/2016 - 23:00

Il y a peu encore, je travaillais pour un groupe de télécom qui commercialise une messagerie instantanée d’entreprise permettant aux internautes de communiquer avec le service client depuis un site web. Il comprend une distribution des chats dans des files d’attentes, des outils d’aide pour les conseillers et des outils de supervision/administration.

Petite chronologie projet

Afin de mieux comprendre la décision de faire un A3, faisons une petit éclairage de l’histoire du produit :

  • janvier 2012 : lancement du projet de chat par le marketing, nous sommes deux dĂ©veloppeurs au dĂ©part
  • fĂ©vrier 2012 : nous sommes 4 puis assez vite 5, 6 devs sur le projet
  • juillet 2012 : nous avons selon nous un MVP et nous proposons au PO/marketing de le tester avec des clients de confiance et dans la cible de clientèle. Le marketing refuse, car il n’y a pas suffisamment de fonctionnalitĂ©s
  • juin 2013 : commercialisation du produit
  • dĂ©but 2014 : pour amĂ©liorer les relations entre le PO et l’équipe, un proxy PO rejoint l’équipe. Il fait partie de l’équipe et travaille de manière Ă©troite avec le PO
  • dĂ©but mars 2014 : rĂ©trospective projet sur 2 jours avant changement de manager dans l’équipe marketing. Deux jours laborieux, avec des dissensions au sein mĂŞme de l’équipe marketing. Les dĂ©cisions prises ne seront pas suivies d’effets
  • fin 2014 : notre PO nous indique qu’il faudrait atteindre 10K€/mois en juillet 2015 pour que le marketing considère que le projet est un succès
  • dĂ©but 2015 : le nombre de client augmente rĂ©gulièrement (~100) mais le nombre de chats reste faible (~1650/mois). Les retours clients sont plutĂ´t bons sur l’ergonomie et le fonctionnement global de l’outil. La roadmap marketing prĂ©voit de diminuer le nombre de “resources” sur le projet en passant de 5 Ă  3 ETP (Equivalent Temps Plein)
Comprendre le problème

Dans l’équipe, nous redoutons que faute de Chiffre d’Affaire, nous enclenchions une spirale infernale : quand le budget baisse nous faisons moins de développements, nous sommes moins concurrentiels, les ventes sont plus difficiles, ce qui va a son tour diminuer la part de budget consacré au produit. D’autre part, en étant dans une dynamique de décroissance, les équipes opérationnelles vont avoir une diminution de motivation, être moins efficaces et créatives.

spirale

Je décide alors d’utiliser un A3, un outil lean, pour comprendre le problème du nombre de chats demeurant faible (le CA est proportionnel puisque nous sommes payés au chat). Comme son nom l’indique le A3 c’est une feuille A3 recto sur laquelle est décrit de manière objective et synthétique un problème :

  • en quoi il est important pour la sociĂ©tĂ©
  • son contexte : la performance observĂ©e au cours du temps
  • la cible Ă  atteindre reprĂ©sentant une performance souhaitĂ©e
  • ses causes
  • des contre-mesures permettant de tester la validitĂ© des causes identifiĂ©es
  • un suivi des rĂ©sutats de ces contre-mesures
  • les enseignements de ces expĂ©rimentations

Je me fais aider de l’équipe, en binômant régulièrement avec chaque personne, et en proposant des réunions courtes de brainstorming à plusieurs. Je vois un coach chaque semaine pour faire le point de la semaine écoulée et prévoir les actions à mener pour la suivante. Il me donne un cadre théorique, des réflexions et me motive pour continuer cette tâche.

séance de travail

Je travaille deux mois sur ce A3. Avec mon coach, nous choisissons de le faire de manière manuscrite et utilisons la technique des collages successifs pour faire évoluer les différentes parties du document.

A3

Remonter le problème

Nous devenons peu à peu experts de ce problème. Nous comprenons rapidement que les leviers de décision sont en dehors de notre sphère d’influence : Didier, Gennifer, notre management “proche” (NDLR les noms ont été changés) ne peut pas prendre les décisions qui permettraient de tester nos hypothèses. Mon coach Lean m’indique que dans le cadre d’une démarche A3 de remontée de problème au management, deux choses sont à prendre en considération pour choisir la bonne personne :

elle doit comprendre le problème et avoir les leviers d’action pour le suivre

elle doit ĂŞtre de confiance

Dans notre cas, il faut remonter à Jacques pour avoir la personne qui gère le budget de développement du chat. Mais c’est l’entité marketing, celle de notre product owner, qui a la responsabilité de la roadmap :

hierarchie

Cela signifie que si nous voulons rencontrer un manager qui a tous les leviers d’action, il faut remonter jusqu’à Brice. C’est une personne qui gère un CA de 150M€ et 2500 personnes. Son temps est précieux et notre problème à 3M€ semble sous-dimentionné. Nous décidons d’aller au bout de cette démarche. Un binôme de l’équipe présentera le A3. Notre management proche nous indique qu’il soutiendra cette démarche, mais il est sceptique sur son résultat, et nous demande de faire tous les échelons avant de solliciter un entretien avec Brice afin de :

  • ne pas heurter un manager intermĂ©diaire qui pourrait mal prendre une escalade
  • consolider toutes les informations avant de prĂ©senter une synthèse au grand manager

Bonne idée ! Cela nous permettra de compléter notre A3 avec des éléments nouveaux et de faire une répétition générale (nous répétons déjà devant d’autres personnes).

Nous prenons donc rendez-vous avec Sylvia et Jacques puisque nous tenons régulièrement informés nos deux managers directs. Nous constatons lors de cet entretien préparatoire :

  • qu’il faut attendre de prĂ©senter la dĂ©marche avant de donner le document car les personnes se plongent dans le A3 et n’écoutent plus
  • notre connaissance du problème nous permet de comprendre son point de vue, et de parler le mĂŞme langage
  • nous avons Ă©tĂ© trop longs lors de la prĂ©sentation
  • Sylvia se sent remise en question. Elle explique qu’elle est au courant de cette situation et de ces chiffres. Certaines contre-mesures sont dĂ©jĂ  prises : changement de nom (NDLR : Ă  ce jour il n’a toujours pas changĂ©), et “coselling” avec des AdWords. En somme les commerciaux vont vendre le chat avec une autre offre de SEO (Search Engine Optimization) chez google. Cela signifie que nous allons reproduire les mĂŞmes effets dĂ©lĂ©tères que ceux constatĂ©s auparavant : vendre le chat Ă  des personnes n’en ayant pas besoin, ou approchĂ©es pour un autre produit. Cela produit les rĂ©sultats qu’on connaĂ®t : augmentation du nombre de clients, mais stagnation du nombre de chats, donc du CA (les clients utilisent l’offre de SEO et pas le chat)

nombre_clients

L’entretien Une prise de contact par mail

A présent, il faut arriver à obtenir un entretien avec ce manager très occupé. Pour certains, c’est mission impossible :

“n-2 du PDG c’est une entité quasi mythologique, et en tout état de cause inaccessible.”

Je fais un brouillon, le fais relire par chaque personne de l’équipe, et j’intègre les remarques. L’objectif que nous nous fixons est d’être succinct et susciter la curiosité. Nous envoyons le message suivant sans le document :

Bonjour,

Je suis développeur coach sur le produit “Produit” depuis 3 ans, au sein d’une équipe web de 5 développeurs web passionnés par ce projet.

Nous observons depuis un an et demi de commercialisation que le chiffre d’affaire ne décolle pas (~900€ en janvier), alors que nous avons des remontées client, et de commerciaux, nous indiquant que le logiciel “n’a pas à rougir de la concurrence”.

Nous avons le sentiment que le produit apporte de la valeur, d’autant plus que les secteurs relation client et web sont au coeur de la stratégie du groupe.

Nous avons voulu étayer cette intuition à l’aide d’un outil lean de centré sur la résolution de problème : le A3 (a3thinking.com).

Nous pensons que ces remontées terrain peuvent vous intéresser, et éclairer des décisions dont nous n’avons pas les prérogatives. Le cas échéant, j’aurais besoin de vingt minutes pour vous communiquer ce document et l’expliquer.

Bien Ă  vous,

La réponse arrive le lendemain :

[…] La solution dont vous parlez, je vois bien son intérêt et son lien direct avec notre stratégie néanmoins nous avons été incapable de la vendre à notre plus gros client : le Groupe - qui l’a testée mais a préféré une autre.

Je transfère votre mail à Sylvia qui pilote l’offre ainsi qu’à Oscar car je pense effectivement ces remontées intéressantes. Suis preneur Sylvia, Oscar de vos retours.

Donc retour vers les personnes que nous avons déjà vues, et qui n’ont pas tous les leviers décisionnels. À ce stade, nous n’avons plus rien à perdre, et surtout Brice n’a pas vu le document. Forts de notre expérience acquise grâce au A3, nous savons aussi que la motivation de départ n’était pas le groupe. Nous voulons au moins nous donner la chance qu’elle le voie :

La solution dont vous parlez, je vois bien son intérêt et son lien direct avec notre stratégie […]

Sans vouloir être insistant, la stratégie indiquée au départ du projet ne visait pas [Le Groupe], mais le développement d’un outil de chat pour ne plus financer celui d’[un sous traitant] notamment, et pour viser le haut de marché.

Je transfère votre mail […]

J’ai montré ce A3 à Sylvia et Jacques. Je voulais constater l’alignement stratégique autour de ce produit pour savoir où nous allons. Cette direction a des impacts directs sur les développements en cours, et sur l’efficacité de l’équipe.

Je vous joins le document au format Ă©lectronique, si vous avez des questions, je suis Ă  votre disposition.

Voilà, nous avons au moins envoyé le document et indiqué nos motivations. Nous pensons que l’épisode est clos. Mais le lendemain, nous avons un mail de réponse. Il a été envoyé uniquement sur mon adresse, sans tout le monde en copie :

?

Un point d’interrogation. C’est tout. Nous nous demandons un moment ce qu’il signifie. Mais nous nous accordons sur le fait que l’envoi uniquement sur mon adresse laisse penser qu’une porte reste entre-ouverte.

A cette époque, je suis en train de lire Never Eat Alone et dans le chapitre 17 consacré aux “Small talks” Keith Ferrazzi nous dit :

la première chose que les experts en conversation ont tendance à faire c’est d’établir des règles sur ce qui peut être, ou ne peut être dit. Ils prétendent que la première fois que vous rencontrez une personne vous devriez éviter les sujets déplaisants, trop personnels ou controversés.

Faux! N’écoutez pas ces gens!

Il encourage à faire le choix d’une certaine forme de vulnérabilité, car selon lui, il y a bien plus d’avantages à partager de l’information qu’à la dissimuler, même si cela représente un risque. Alors nous suivons ses conseils, et répondons à Brice :

?

Il est conseillé dans une démarche A3 vers le management de s’adresser à une personne pertinente (qui connaît le problème et qui a les leviers d’action), et de confiance.

Les deux conditions me semblaient remplies. La pertinence car Oscar gère la roadmap produit, et Jacques le budget. Vous êtes donc la première personne qui soit “au dessus de la mêlée”. La confiance, par intuition.

Comme j’ai vu que je n’aurais pas l’occasion de vous présenter le document, je voulais au moins l’envoyer.

La roadmap est pleine, le domaine en développement. Le produit est vendable et solide, il est dans la stratégie du groupe. Il ne génère pas de chiffre, le budget est diminué depuis mardi.

Alors que fait-on ? Stop ? (et pourquoi ? Qu’avons-nous appris pour la suite ?) Encore ? (avec quel budget ? Quelle stratégie moyen-long terme ?)

Le pire des scénario serait un arrêt progressif par non-décision.

Si vous pensez que ce n’est vraiment pas à vous de traiter ce problème, je ne vous dérangerai plus.

Et la réponse :

Désolé pas compris que le précédent message contenait un fichier. Pouvez vous me le renvoyer ?

Nous lui avons renvoyé le A3 et avons finalement obtenu un rendez-vous.

La réunion

A 9h du matin à son étage, il a une réunion une demi-heure plus tard, il faut décider “GO/NO-GO” pour le projet. Nous refaisons la présentation du A3. Nous attendions qu’il nous explique (ou rappelle pour les autres managers présents) la stratégie du groupe à moyen/long terme, et replace le projet dans cette perspective afin de décider sur des bases concrètes s’il s’inscrivait dans ce futur. Finalement il a demandé aux managers qui étaient présents (Sylvia, Oscar et Jacques) ce qu’ils en pensaient.

Nous avons compris qu’il y avait eu des désaccords sur le ciblage de clientèle. Et puis, Brice a dû partir pour sa réunion, et nous n’avons plus compris le langage employé. Pour ma part, je pense que c’était une forme prononcée de “galimatias doré” comme disait mon grand-père. Nous avons cependant appris les choses suivantes :

  • Sylvia disant dans sa barbe et le brouhaha “peut-ĂŞtre nous-sommes nous trompĂ©s ?”
  • Jacques indiquant qu’il voyait bien une stratĂ©gie reposant sur 2 piliers : du dĂ©veloppement interne pour le milieu de marchĂ© afin de maitriser les produits, dĂ©fricher des marchĂ©s, et l’intĂ©gration de progiciels (Oracle, Cisco, …) pour les grands comptes afin de rassurer les DSI
  • nous reprĂ©sentons un tout petit projet Ă  l’échelle de l’entitĂ©
  • une contrainte rĂ©glementaire arrive 6 mois plus tard, du coup il ne faut pas compter sur une dĂ©cision avant cette Ă©chĂ©ance
  • malgrĂ© une rĂ©duction du temps de prĂ©sentation, nous avons encore Ă©tĂ© trop longs et interpellĂ©s par Brice pour presser le rythme. Nous comptions 20mn, rĂ©trospectivement, je pense que la prĂ©sentation mĂŞme du A3 devait tenir en 10mn, peut-ĂŞtre moins. C’est un support, pas un but.
Ce que nous avons appris

Faire un A3 demande beaucoup d’énergie et de persévérance. C’est une course d’endurance. Ce qui m’a aidé à aller jusqu’à l’entretien, comme la préparation du marathon que je faisais en parallèle, c’est de mettre en place des entraînements rituels (les rendez-vous avec un coach, les petits points seul le matin, alors que le bureau est calme, les binômages réguliers).

Pour arriver à recueillir les informations nécessaires à la représentation de notre problème, il a fallu faire entre 15 et 20 entretiens avec des personnes à qui nous ne parlions pas ou très peu : support produit, commerciaux, bizdev, marketing, management, et des personnes extérieures au projet voire à l’entreprise. Cette démarche est enrichissante car elle évite les réactions défensives de groupe, type “Eux v.s. Nous”, et assure une prise de distance. Un peu comme si on voyait l’ouvrage vu d’avion. Temporairement, ce travail autour du A3 aura mis en concert un ensemble de personnes qui n’avaient pas l’habitude de se cotoyer :

Le A3, c'est + pour apprendre à travailler ensemble que pour le problęme lui meme. @BorisEveque #LeanSummitFR

— (@MPIgnace) April 7, 2016

C’est cette vision qui nous a donné l’énergie d’insister auprès de Brice. Sans le A3, au premier obstacle, nous aurions reculé. Nous avons aussi acquis les termes et finalités du management (sur notre domaine) : CA, croissance, équilibre budgétaire, modèle économique, modèle de facturation, marché… Une forme de langage nous permettant de comprendre et nous faire comprendre.

Notre A3 était loin d’être terminé, et nous ne savons pas si son début respecte vraiment l’orthodoxie de la méthode Lean. Nous avons essayé par la suite de l’utiliser pour faire un suivi des actions en comité de pilotage. Les points sont restés en suspens pendant longtemps, ils doivent toujours l’être. Il semble être nécessaire d’avoir un appui managerial pour aborder la partie “contre-mesures”.

Mais il a joué son rôle de média de communication entre notre perception opérationnelle de terrain et la vision tactique et stratégique du management.

Que pensez-vous de la démarche ? Avez-vous déjà entrepris ce type d’action ? Avec quels outils, quels résultats ? Qu’avez-vous appris ?

Postface

Le produit est toujours en exploitation, il n’y a plus que des petites évolutions, les 3 ETP ont été réduits à 1 ETP : un des développeurs fait la maintenance et tient la boutique. Le code a été amélioré. Le nombre de clients a continué d’augmenter (il y en a 373). Le nombre de chat a un peu augmenté suite à un autre pilote réalisé avec une grosse entreprise française. Il se situe autour de 4700, mais nous sommes encore loin de la cible du CA à 10K€.

En ce qui me concerne, cette expérience a contribué à me faire prendre la décision de quitter l’entreprise quelque temps plus tard. Ce qui est bien sûr positif :)

Catégories: Blog Individuel

Le A3 comme outil de communication avec le management

Barre Verte ! - lun, 04/11/2016 - 23:00

Il y a peu encore, je travaillais pour un groupe de télécom qui commercialise une messagerie instantanée d’entreprise permettant aux internautes de communiquer avec le service client depuis un site web. Il comprend une distribution des chats dans des files d’attentes, des outils d’aide pour les conseillers et des outils de supervision/administration.

Petite chronologie projet

Afin de mieux comprendre la décision de faire un A3, faisons une petit éclairage de l’histoire du produit :

  • janvier 2012 : lancement du projet de chat par le marketing, nous sommes deux dĂ©veloppeurs au dĂ©part
  • fĂ©vrier 2012 : nous sommes 4 puis assez vite 5, 6 devs sur le projet
  • juillet 2012 : nous avons selon nous un MVP et nous proposons au PO/marketing de le tester avec des clients de confiance et dans la cible de clientèle. Le marketing refuse, car il n’y a pas suffisamment de fonctionnalitĂ©s
  • juin 2013 : commercialisation du produit
  • dĂ©but 2014 : pour amĂ©liorer les relations entre le PO et l’équipe, un proxy PO rejoint l’équipe. Il fait partie de l’équipe et travaille de manière Ă©troite avec le PO
  • dĂ©but mars 2014 : rĂ©trospective projet sur 2 jours avant changement de manager dans l’équipe marketing. Deux jours laborieux, avec des dissensions au sein mĂŞme de l’équipe marketing. Les dĂ©cisions prises ne seront pas suivies d’effets
  • fin 2014 : notre PO nous indique qu’il faudrait atteindre 10K€/mois en juillet 2015 pour que le marketing considère que le projet est un succès
  • dĂ©but 2015 : le nombre de client augmente rĂ©gulièrement (~100) mais le nombre de chats reste faible (~1650/mois). Les retours clients sont plutĂ´t bons sur l’ergonomie et le fonctionnement global de l’outil. La roadmap marketing prĂ©voit de diminuer le nombre de “resources” sur le projet en passant de 5 Ă  3 ETP (Equivalent Temps Plein)
Comprendre le problème

Dans l’équipe, nous redoutons que faute de Chiffre d’Affaire, nous enclenchions une spirale infernale : quand le budget baisse nous faisons moins de développements, nous sommes moins concurrentiels, les ventes sont plus difficiles, ce qui va a son tour diminuer la part de budget consacré au produit. D’autre part, en étant dans une dynamique de décroissance, les équipes opérationnelles vont avoir une diminution de motivation, être moins efficaces et créatives.

spirale

Je décide alors d’utiliser un A3, un outil lean, pour comprendre le problème du nombre de chats demeurant faible (le CA est proportionnel puisque nous sommes payés au chat). Comme son nom l’indique le A3 c’est une feuille A3 recto sur laquelle est décrit de manière objective et synthétique un problème :

  • en quoi il est important pour la sociĂ©tĂ©
  • son contexte : la performance observĂ©e au cours du temps
  • la cible Ă  atteindre reprĂ©sentant une performance souhaitĂ©e
  • ses causes
  • des contre-mesures permettant de tester la validitĂ© des causes identifiĂ©es
  • un suivi des rĂ©sutats de ces contre-mesures
  • les enseignements de ces expĂ©rimentations

Je me fais aider de l’équipe, en binômant régulièrement avec chaque personne, et en proposant des réunions courtes de brainstorming à plusieurs. Je vois un coach chaque semaine pour faire le point de la semaine écoulée et prévoir les actions à mener pour la suivante. Il me donne un cadre théorique, des réflexions et me motive pour continuer cette tâche.

séance de travail

Je travaille deux mois sur ce A3. Avec mon coach, nous choisissons de le faire de manière manuscrite et utilisons la technique des collages successifs pour faire évoluer les différentes parties du document.

A3

Remonter le problème

Nous devenons peu à peu experts de ce problème. Nous comprenons rapidement que les leviers de décision sont en dehors de notre sphère d’influence : Didier, Gennifer, notre management “proche” (NDLR les noms ont été changés) ne peut pas prendre les décisions qui permettraient de tester nos hypothèses. Mon coach Lean m’indique que dans le cadre d’une démarche A3 de remontée de problème au management, deux choses sont à prendre en considération pour choisir la bonne personne :

elle doit comprendre le problème et avoir les leviers d’action pour le suivre

elle doit ĂŞtre de confiance

Dans notre cas, il faut remonter à Jacques pour avoir la personne qui gère le budget de développement du chat. Mais c’est l’entité marketing, celle de notre product owner, qui a la responsabilité de la roadmap :

hierarchie

Cela signifie que si nous voulons rencontrer un manager qui a tous les leviers d’action, il faut remonter jusqu’à Brice. C’est une personne qui gère un CA de 150M€ et 2500 personnes. Son temps est précieux et notre problème à 3M€ semble sous-dimentionné. Nous décidons d’aller au bout de cette démarche. Un binôme de l’équipe présentera le A3. Notre management proche nous indique qu’il soutiendra cette démarche, mais il est sceptique sur son résultat, et nous demande de faire tous les échelons avant de solliciter un entretien avec Brice afin de :

  • ne pas heurter un manager intermĂ©diaire qui pourrait mal prendre une escalade
  • consolider toutes les informations avant de prĂ©senter une synthèse au grand manager

Bonne idée ! Cela nous permettra de compléter notre A3 avec des éléments nouveaux et de faire une répétition générale (nous répétons déjà devant d’autres personnes).

Nous prenons donc rendez-vous avec Sylvia et Jacques puisque nous tenons régulièrement informés nos deux managers directs. Nous constatons lors de cet entretien préparatoire :

  • qu’il faut attendre de prĂ©senter la dĂ©marche avant de donner le document car les personnes se plongent dans le A3 et n’écoutent plus
  • notre connaissance du problème nous permet de comprendre son point de vue, et de parler le mĂŞme langage
  • nous avons Ă©tĂ© trop longs lors de la prĂ©sentation
  • Sylvia se sent remise en question. Elle explique qu’elle est au courant de cette situation et de ces chiffres. Certaines contre-mesures sont dĂ©jĂ  prises : changement de nom (NDLR : Ă  ce jour il n’a toujours pas changĂ©), et “coselling” avec des AdWords. En somme les commerciaux vont vendre le chat avec une autre offre de SEO (Search Engine Optimization) chez google. Cela signifie que nous allons reproduire les mĂŞmes effets dĂ©lĂ©tères que ceux constatĂ©s auparavant : vendre le chat Ă  des personnes n’en ayant pas besoin, ou approchĂ©es pour un autre produit. Cela produit les rĂ©sultats qu’on connaĂ®t : augmentation du nombre de clients, mais stagnation du nombre de chats, donc du CA (les clients utilisent l’offre de SEO et pas le chat)

nombre_clients

L’entretien Une prise de contact par mail

A présent, il faut arriver à obtenir un entretien avec ce manager très occupé. Pour certains, c’est mission impossible :

“n-2 du PDG c’est une entité quasi mythologique, et en tout état de cause inaccessible.”

Je fais un brouillon, le fais relire par chaque personne de l’équipe, et j’intègre les remarques. L’objectif que nous nous fixons est d’être succinct et susciter la curiosité. Nous envoyons le message suivant sans le document :

Bonjour,

Je suis développeur coach sur le produit “Produit” depuis 3 ans, au sein d’une équipe web de 5 développeurs web passionnés par ce projet.

Nous observons depuis un an et demi de commercialisation que le chiffre d’affaire ne décolle pas (~900€ en janvier), alors que nous avons des remontées client, et de commerciaux, nous indiquant que le logiciel “n’a pas à rougir de la concurrence”.

Nous avons le sentiment que le produit apporte de la valeur, d’autant plus que les secteurs relation client et web sont au coeur de la stratégie du groupe.

Nous avons voulu étayer cette intuition à l’aide d’un outil lean de centré sur la résolution de problème : le A3 (a3thinking.com).

Nous pensons que ces remontées terrain peuvent vous intéresser, et éclairer des décisions dont nous n’avons pas les prérogatives. Le cas échéant, j’aurais besoin de vingt minutes pour vous communiquer ce document et l’expliquer.

Bien Ă  vous,

La réponse arrive le lendemain :

[…] La solution dont vous parlez, je vois bien son intérêt et son lien direct avec notre stratégie néanmoins nous avons été incapable de la vendre à notre plus gros client : le Groupe - qui l’a testée mais a préféré une autre.

Je transfère votre mail à Sylvia qui pilote l’offre ainsi qu’à Oscar car je pense effectivement ces remontées intéressantes. Suis preneur Sylvia, Oscar de vos retours.

Donc retour vers les personnes que nous avons déjà vues, et qui n’ont pas tous les leviers décisionnels. À ce stade, nous n’avons plus rien à perdre, et surtout Brice n’a pas vu le document. Forts de notre expérience acquise grâce au A3, nous savons aussi que la motivation de départ n’était pas le groupe. Nous voulons au moins nous donner la chance qu’elle le voie :

La solution dont vous parlez, je vois bien son intérêt et son lien direct avec notre stratégie […]

Sans vouloir être insistant, la stratégie indiquée au départ du projet ne visait pas [Le Groupe], mais le développement d’un outil de chat pour ne plus financer celui d’[un sous traitant] notamment, et pour viser le haut de marché.

Je transfère votre mail […]

J’ai montré ce A3 à Sylvia et Jacques. Je voulais constater l’alignement stratégique autour de ce produit pour savoir où nous allons. Cette direction a des impacts directs sur les développements en cours, et sur l’efficacité de l’équipe.

Je vous joins le document au format Ă©lectronique, si vous avez des questions, je suis Ă  votre disposition.

Voilà, nous avons au moins envoyé le document et indiqué nos motivations. Nous pensons que l’épisode est clos. Mais le lendemain, nous avons un mail de réponse. Il a été envoyé uniquement sur mon adresse, sans tout le monde en copie :

?

Un point d’interrogation. C’est tout. Nous nous demandons un moment ce qu’il signifie. Mais nous nous accordons sur le fait que l’envoi uniquement sur mon adresse laisse penser qu’une porte reste entre-ouverte.

A cette époque, je suis en train de lire Never Eat Alone et dans le chapitre 17 consacré aux “Small talks” Keith Ferrazzi nous dit :

la première chose que les experts en conversation ont tendance à faire c’est d’établir des règles sur ce qui peut être, ou ne peut être dit. Ils prétendent que la première fois que vous rencontrez une personne vous devriez éviter les sujets déplaisants, trop personnels ou controversés.

Faux! N’écoutez pas ces gens!

Il encourage à faire le choix d’une certaine forme de vulnérabilité, car selon lui, il y a bien plus d’avantages à partager de l’information qu’à la dissimuler, même si cela représente un risque. Alors nous suivons ses conseils, et répondons à Brice :

?

Il est conseillé dans une démarche A3 vers le management de s’adresser à une personne pertinente (qui connaît le problème et qui a les leviers d’action), et de confiance.

Les deux conditions me semblaient remplies. La pertinence car Oscar gère la roadmap produit, et Jacques le budget. Vous êtes donc la première personne qui soit “au dessus de la mêlée”. La confiance, par intuition.

Comme j’ai vu que je n’aurais pas l’occasion de vous présenter le document, je voulais au moins l’envoyer.

La roadmap est pleine, le domaine en développement. Le produit est vendable et solide, il est dans la stratégie du groupe. Il ne génère pas de chiffre, le budget est diminué depuis mardi.

Alors que fait-on ? Stop ? (et pourquoi ? Qu’avons-nous appris pour la suite ?) Encore ? (avec quel budget ? Quelle stratégie moyen-long terme ?)

Le pire des scénario serait un arrêt progressif par non-décision.

Si vous pensez que ce n’est vraiment pas à vous de traiter ce problème, je ne vous dérangerai plus.

Et la réponse :

Désolé pas compris que le précédent message contenait un fichier. Pouvez vous me le renvoyer ?

Nous lui avons renvoyé le A3 et avons finalement obtenu un rendez-vous.

La réunion

A 9h du matin à son étage, il a une réunion une demi-heure plus tard, il faut décider “GO/NO-GO” pour le projet. Nous refaisons la présentation du A3. Nous attendions qu’il nous explique (ou rappelle pour les autres managers présents) la stratégie du groupe à moyen/long terme, et replace le projet dans cette perspective afin de décider sur des bases concrètes s’il s’inscrivait dans ce futur. Finalement il a demandé aux managers qui étaient présents (Sylvia, Oscar et Jacques) ce qu’ils en pensaient.

Nous avons compris qu’il y avait eu des désaccords sur le ciblage de clientèle. Et puis, Brice a dû partir pour sa réunion, et nous n’avons plus compris le langage employé. Pour ma part, je pense que c’était une forme prononcée de “galimatias doré” comme disait mon grand-père. Nous avons cependant appris les choses suivantes :

  • Sylvia disant dans sa barbe et le brouhaha “peut-ĂŞtre nous-sommes nous trompĂ©s ?”
  • Jacques indiquant qu’il voyait bien une stratĂ©gie reposant sur 2 piliers : du dĂ©veloppement interne pour le milieu de marchĂ© afin de maitriser les produits, dĂ©fricher des marchĂ©s, et l’intĂ©gration de progiciels (Oracle, Cisco, …) pour les grands comptes afin de rassurer les DSI
  • nous reprĂ©sentons un tout petit projet Ă  l’échelle de l’entitĂ©
  • une contrainte rĂ©glementaire arrive 6 mois plus tard, du coup il ne faut pas compter sur une dĂ©cision avant cette Ă©chĂ©ance
  • malgrĂ© une rĂ©duction du temps de prĂ©sentation, nous avons encore Ă©tĂ© trop longs et interpellĂ©s par Brice pour presser le rythme. Nous comptions 20mn, rĂ©trospectivement, je pense que la prĂ©sentation mĂŞme du A3 devait tenir en 10mn, peut-ĂŞtre moins. C’est un support, pas un but.
Ce que nous avons appris

Faire un A3 demande beaucoup d’énergie et de persévérance. C’est une course d’endurance. Ce qui m’a aidé à aller jusqu’à l’entretien, comme la préparation du marathon que je faisais en parallèle, c’est de mettre en place des entraînements rituels (les rendez-vous avec un coach, les petits points seul le matin, alors que le bureau est calme, les binômages réguliers).

Pour arriver à recueillir les informations nécessaires à la représentation de notre problème, il a fallu faire entre 15 et 20 entretiens avec des personnes à qui nous ne parlions pas ou très peu : support produit, commerciaux, bizdev, marketing, management, et des personnes extérieures au projet voire à l’entreprise. Cette démarche est enrichissante car elle évite les réactions défensives de groupe, type “Eux v.s. Nous”, et assure une prise de distance. Un peu comme si on voyait l’ouvrage vu d’avion. Temporairement, ce travail autour du A3 aura mis en concert un ensemble de personnes qui n’avaient pas l’habitude de se cotoyer :

Le A3, c'est + pour apprendre à travailler ensemble que pour le problęme lui meme. @BorisEveque #LeanSummitFR

— (@MPIgnace) April 7, 2016

C’est cette vision qui nous a donné l’énergie d’insister auprès de Brice. Sans le A3, au premier obstacle, nous aurions reculé. Nous avons aussi acquis les termes et finalités du management (sur notre domaine) : CA, croissance, équilibre budgétaire, modèle économique, modèle de facturation, marché… Une forme de langage nous permettant de comprendre et nous faire comprendre.

Notre A3 était loin d’être terminé, et nous ne savons pas si son début respecte vraiment l’orthodoxie de la méthode Lean. Nous avons essayé par la suite de l’utiliser pour faire un suivi des actions en comité de pilotage. Les points sont restés en suspens pendant longtemps, ils doivent toujours l’être. Il semble être nécessaire d’avoir un appui managerial pour aborder la partie “contre-mesures”.

Mais il a joué son rôle de média de communication entre notre perception opérationnelle de terrain et la vision tactique et stratégique du management.

Que pensez-vous de la démarche ? Avez-vous déjà entrepris ce type d’action ? Avec quels outils, quels résultats ? Qu’avez-vous appris ?

Postface

Le produit est toujours en exploitation, il n’y a plus que des petites évolutions, les 3 ETP ont été réduits à 1 ETP : un des développeurs fait la maintenance et tient la boutique. Le code a été amélioré. Le nombre de clients a continué d’augmenter (il y en a 373). Le nombre de chat a un peu augmenté suite à un autre pilote réalisé avec une grosse entreprise française. Il se situe autour de 4700, mais nous sommes encore loin de la cible du CA à 10K€.

En ce qui me concerne, cette expérience a contribué à me faire prendre la décision de quitter l’entreprise quelque temps plus tard. Ce qui est bien sûr positif :)

Catégories: Blog Individuel

Triple Bio


Dernièrement j’ai Ă©tĂ© contactĂ© par InfoQ et les anciens Ă©lèves de l’Ensimag pour rĂ©diger un petit article sur mon parcours professionnel, et comme j’avais rĂ©alisĂ© il y a quelques temps un petit pitch en vidĂ©o, en voici les rĂ©sultats.

InfoQ

il s’agissait de s’inscrire dans leur sĂ©rie d’article sur « La voie du Coach » et j’ai pris la suite de Pablo et Oana avec beaucoup de plaisir (accès Ă  mon article la voix du coach)

Je pensais pouvoir rĂ©diger cet article en 1 h et finalement, il m’a fallu plus de 3 h !

Comme quoi la rĂ©daction d’un texte qui va ĂŞtre publiĂ© sur le net demande du temps et quelques itĂ©rations.

Ensimag

Roger Mohr, un ancien directeur de l’Ensimag que j’apprĂ©cie particulièrement et qui est toujours très actif auprès des anciens Ă©lèves, a demandĂ© Ă  plusieurs anciens de dĂ©crire leur parcours professionnel pour aider les Ă©lèves de l’Ă©cole Ă  mieux apprĂ©hender la variĂ©tĂ© des pistes qu’ils pourront suivre une fois leur diplĂ´me en poche (accès Ă  mon tĂ©moignage)

Bonus

Et pour ceux qui se demande d’oĂą vient cette idĂ©e de me prĂ©senter comme un maĂ®tre cuisinier … simplement d’une journĂ©e Germe durant laquelle les intervenants (ce que je suis) ont eu la possibilitĂ© de travailler leur pitch, ou comment se prĂ©senter de façon impactante en moins de 90 secondes.

Voir la vidéo en entête de cet article ou directement sur Youtube.

 

Catégories: Blog Individuel

Festival #SharePoint et #Office 365 Ă  Paris en Mai 2016 !

Le blog de Patrick Guimonet - sam, 04/02/2016 - 12:22
En cette année de lancement de la version 2016 de SharePoint et d’innovations multiples dans Office 365 : les Groupes Office 365, Delve Analytics, Office Vidéo, … nous sommes heureux de vous convier à un véritable Festival ShareP...
Catégories: Blog Individuel

IaaR !

ĂŠtre Agile - Thierry Cros - ven, 03/04/2016 - 20:06

etre-agile.png IaaR ! est un acronyme :

  • Intention
  • Attention
  • Action
  • RĂ©pĂ©tition.

C'est un "protocole" de transformation qui fait appel aux trois maîtrises de la voie toltèque (Attention, Transformation, Intention).

Intention

D'abord poser une intention.
Respecter ces trois recommandations :

  • Visualisation++ : faire appel Ă  l'imagination pour visualiser une scène correspondant Ă  l'Ă©tat souhaitĂ© et atteint. Le "++" signifie que cette visualisation incorpore non seulement des images, Ă©galement des sons, des sensations... Bref fait appel Ă  plusieurs sens. Au-delĂ  de l'aspect sensoriel, cette visualisation crĂ©atrice possède une dimension Ă©motionnelle : l'esquisse d'un lĂ©ger sourire pourrait apparaitre sur le visage pendant cette visualisation crĂ©atrice ;
  • 100% d'accord : autrement dit "ZĂ©ro doute". Du cĂ´tĂ© du pratiquant c'est comme si c'Ă©tait dĂ©jĂ  fait dans le monde de l'Intention et qu'il restait simplement Ă  rĂ©ifier - rendre rĂ©elle - cette visualisation ;
  • UC 10 : Universe Compliant level 10 se souvenir simplement que nous sommes dans un monde soumis Ă  diffĂ©rentes lois (lĂ©galitĂ© du pays, lois physiques...) et que la rĂ©alisation de l'intention s'inscrit dans ces lois. UC 10 signifie ainsi que le rĂ©sultat dĂ©pend aussi de ces lois.
Attention

Alors, à quoi allons-nous prêter attention afin que cette Intention se réalise ?
Notre perception de la réalité est-elle suffisamment... réaliste ?
Quels indicateurs, quel management visuel, que "sur-veiller"...

Action

Si ce cadre fonctionne grâce à la force de l'Intention, il reste que nous sommes acteurs de la réalisation. Quelles actions envisageons-nous ?

Répétition

Probablement un ingrédient "secret" de ce processus : selon le changement, il est vain d'imaginer qu'une habitude engrammée pendant des décennies va disparaître subitement. Il faudra donc répéter... Et répéter encore jusqu'au succès.
D'autant plus que ce processus itératif offre un espace - bien connu des Agilistes - à la fois de feedback (l'inspection des Scrumiens) et d'amélioration.

Magie !

Lorsque je présente IaaR ! en formation ou accompagnement, j'insiste sur le côté "magique" de cette pratique, fortement inspirée par la voie toltèque telle qu'exprimée par Don Miguel Ruiz (IaaR est un acronyme que j'ai concocté à partir d'un protocole présenté par Don Miguel Ruiz).
Magique car elle fait appel à des "procédés psychologiques" peu ou pas connus généralement.
Magique car elle suppose un certain lâcher-prise, une confiance dans ce pouvoir de l'Intention.

Pratiquer !

Je ne peux que vous engager Ă  pratiquer IaaR !.
Démarrez par une intention simple, qui puisse se concrétiser dans la journée par exemple, pour vous entraîner à cette pratique.
Et faites confiance dans le pouvoir de votre Intention !
Intention ou Foi ou Amour.

teo-compressee.jpg

Toltèque Agile

Catégories: Blog Individuel

Agile en 2016

ĂŠtre Agile - Thierry Cros - mer, 03/02/2016 - 08:47

etre-agile.png L'histoire continue... Un nouveau billet, ma vision de l'agile en 2016. Entre mutations, sacrifices et heureuses surprises.
Mais... Que signifie agile aujourd'hui ? Entre un manifeste tout autant historique qu'abandonné, pertinent sur le fond et obsolète sur la forme... Nous trouvons autant de définition de l'agile qu'il y a d'Agilistes.

Agile : qu'es aco ?

Je tente une définition, sous forme de mindmap, de ce qu'est pour moi l'agile aujourd'hui.

agileMindmap.jpg

Ce triptyque décrit

  • le domaine d'application
  • l'essence de l'agile
  • son intention.
VICA

Une traduction de l'acronyme anglais VUCA. Si l'origine est finalement la prise de conscience de la complexité du développement logiciel, c'est bien de volatilité, d'ambiguïté... Que nous parlons aussi.
Et comme notre monde est de plus en plus complexe, l'agile devient d plus en plus pertinent.
Cela pose la question de la première valeur agile : les personnes et leurs interactions plus que les processus et les outils. Lorsque le système est mieux maitrisé une approche qui priorise les "processus" redevient pertinente.

Empirique

L'image reprend les quatre axes qui me semblent essentiels dans une approche agile empirique. Grosso modo ce sont des principes de l'Extreme Programming.

Équilibres

Après une quinzaine d'années de pratiques j'en arrive à me dire que la finalité de l'agile c'est l'équilibre.

  • Valeur et qualitĂ© : apporter de la valeur aux Utilisateurs, Ă  l'organisation, sans sacrifier la qualitĂ© interne (ou maintenabilitĂ©) dans une lucragilitĂ© dĂ©viante ;
  • responsabilitĂ© et bien-ĂŞtre : l'hĂ©donisme Ă©tait inscrit dans l'agile dès le dĂ©but. Si certains parlent de "bonheur au travail' en ces temps de novlangue oĂą les mots perdent leur sens, je m'en tiens plutĂ´t au bien-ĂŞtre.



Et Toltèque Agile est mon nouveau site.

Agile en 2016 ?

Je constate sur le terrain plusieurs patterns qui reviennent régulièrement.
La qualité est bien souvent sacrifiée sur l'autel de la valeur ajoutée, elle-même malmenée (voir plus loin). Il m'arrive plusieurs fois par an d'entendre un discours tel que "nous faisons de l'agile sur ce produit depuis plusieurs années et nous avons de gros problèmes de qualité...".
De fait il s'agit bien souvent de Scrum et de sa vraie fausse bonne idée : la définition de fini.
Bien entendu, c'est une bonne idée... Lorsque ceux qui l'élaborent ont déjà une bonne notion de ce qu'est "fini" au sens professionnel du terme. Autrement dit, encore faut-il avoir conscience de la nécessité de code propre... Et de ce qu'est un code propre. Dieu merci, il existe des corpus tels que craftsmanship pour élever le niveau.

Valeur... Un glissement sémantique existe entre valeur et priorité. Trier un backlog par priorité, oui. Encore faut-il se poser la question de la qualité de la priorisation. Trop souvent, ce sont les classiques nécessités techniques et/ou fonctionnelles, les diminutions de risques... Qui dictent les priorités au détriment de la qualité.
Si en tant que Product Owner vous planifiez par story d'XP mais finalement avec une stratégie inchangée, êtes-vous vraiment agile ? Pour le moins, monitorez-vous la valeur métier produite (et stockée...) à chaque itération ?

Versions fréquentes... C'est une pratique emblématique de l'Extreme Programming, que l'on retrouve dans le premier principe agile. Or, le célébrissime 'produit partiel potentiel livrable" de Scrum est inconséquent. J'ai rencontré par exemple une équipe qui pratiquait Scrum tout en livrant une version par an... Scrum peut-être, agile certainement pas !

Valorisation des faiseurs... Si effectivement les équipes deviennent plus autonomes (voir toutefois la question du ScrumMaster), il reste que fondamentalement les commerciaux et autres managers sont généralement mieux payés et bénéficient de privilèges (places de parking, voitures de fonction...) que n'ont pas les Faiseurs... It's a long way...

ScrumMaster omniprésent : sans ouvrir le débat sur l'utlité d'un ScrumMaster, il faut quand même se poser la question de sa pertinence dans une équipe agile (je ne parle pas de Scrum). Les Dévelippeurs ont-ils besoin d'un ScrumMaster ? Quand leur réponse est oui, qui choisit la personne en charge de ce rôle ? Au final, ce rôle est-il compatible avec l'auto-organisation consubstantielle à l'agile dans son côté systématique ?

Les Managers deviennent agiles : bien souvent sans avoir la moindre idée de ce que cela signifie, bien au-delà des quelques gentilles pratiques du Management 3.0.

Il reste que l'agile se généralise. Quelle (grande) société aujourd'hui n'a pas expérimenté voire déployé l'agile ?
Peu à peu, la nécessité d'autonomiser les équipes grandit.
La gamification (je t'aime... Ma non troppo) détend un peu les relations. Les Managers prennent conscience que les personnes dans l'équipe sont des êtres humains avant d'être des ressources.

Dans cet ordre d'idée, la question du développement personnel (des Managers mais aussi de tout membre de l'équipe) se pose. Il n'est qu'à voir tous ces Coachs et autres spécialistes de la Mindfulness qui se précipitent vers nous.
Bref... Nous sommes au milieu du pont.
Ce Nouveau Monde que nous inventons est encore empreint de travers de l'ancien.
Mais la dynamique est bien en marche.

Catégories: Blog Individuel

"Exigence" : un terme vraiment agile ?

ĂŠtre Agile - Thierry Cros - jeu, 02/11/2016 - 12:17

etre-agile.png Il vous arrive peut-être de lire ou d'entendre parler d'exigences dans un contexte agile. Avant d'indiquer pourquoi je crois que ce n'est pas très pertinent, je voudrais rappeler un postulat : les mots ont un sens. Non seulement un sens, une histoire.
Les exigences correspondent initialement Ă  une certaine technique d'expression de besoins.

Confusion entre expression de besoins et exigences

Que ce soit via

  • une liste d'exigences
  • une modĂ©lisation d'interactions en cas d'utilisation
  • un ensemble Ă©mergent de user stories de l'Extreme Programming
  • ...

Il s'agit bien d'exprimer des besoins. Autrement dit, le point commun à toutes ces techniques est leur finalité : exprimer des besoins.
Utiliser le terme "exigences" renvoie donc à cette technique ancienne basée sur des listes de besoins parfois classés en besoins fonctionnels, non-fonctionnels...

Exigence ?

Au-delà de l'aspect historique qui renvoie à des pratiques sensiblement différentes, ce terme d'exigence pose un problème sémantique.
La base d'une planification agile est qu'il existe, dans un environnement complexe, une variable d'ajustement des plans. Cette variable peut ĂŞtre

  • le budget
  • la date des livraisons
  • la qualitĂ© (en termes de maintenabilitĂ©, Ă©volutivitĂ©...)
  • le contenu.

Les méthodes agiles telles que XP recommandent de jouer plutôt sur le contenu.
Ce qui signifie que les besoins ne sont - par nature et de façon générale - pas des exigences au sens autoritaire et définitif du terme.

Conduite du changement

Mais je crois que "le pire" dans l'utilisation de ce terme est en terme de conduite de changement. À ce compte-là continuons d'utiliser "chef de projet" pour ScrumMaster ou bien lotissement pour les versions fréquentes mises en exploitation. Cela ne facilite pas la prise de conscience que nous évoquons des rôles, pratiques, principes radicalement différents.

Et donc...

Expression de besoins est le nom donné à cette activité. Remplacer "exigence" par "besoin" me semble donc plus pertinent, par exemple
outil d'expression de besoins plutôt que outils de gestion d'exigences lorsqu'il s'agit de gérer des stories.

Par ailleurs, les règles de gestion et autres "contraintes" à respecter sont reprises d'une part dans des tests d'acceptation (qui constituent une story tout autant que la carte) ou bien dans une définition de fini lorsqu'il s'agit d'éléments communs à plusieurs besoins.

Franchissons vraiment le pont vers la rive agile, ne restons pas au milieu !

Aigle

Catégories: Blog Individuel

Mercredi 9 mars 2016 - Hackergarten Jenkins & Ateliers Ansible, Docker et plus si affinités !

JUG Toulouse, Groupe d'utilisateur Java - jeu, 02/11/2016 - 01:00

Adresse : Epitech Toulouse (cf. lien pour adresse exacte, attention l’Epitech a plusieurs sites) (Inscrivez vous).

Pour le programme plus en détails, référez-vous aux informations de l’événement meetup.

IMPORTANT: si vous avez envie d’animer un sujet particulier en plus de ceux indiqués, c’est tout à fait possible. Signalez-vous le cas échéant.

Catégories: Association

Étendre LightTable

Taverne d'Arma - Programmation - mer, 12/02/2015 - 13:00

Pour moi, l'un des domaines où les éditeurs de textes sont aujourd'hui largement supérieur aux IDE est leur faculté à être personnalisé, à être étendu. Développer un plugin pour un IDE est souvent assez lourd, demande pas mal de connaissance, ... Au contraire, les éditeurs de textes sont souvent conçu pour être étendu. C'est bien entendu le cas de LightTable.

Voici un petit cas pratique que j'ai eu à implémenter : je crée une IHM Angular dans un projet à l'architecture assez complexe. Pour mes tests (hors-mock), je me retrouve à devoir :

  • Faire mon cycle de build JS (gĂ©rĂ© par grunt, classiquement)
  • Compiler une solution .NET et la dĂ©ployer sur le serveur IIS
  • Compiler une autre solution .NET et lancer un exĂ©cutable

Et biensûr, à chaque update je suis obligé de recommencer tout le cycle ! Donc si je résume : deux Visuals Studio lancé, des opérations rébarbative à faire de temps à autres, ... Pourquoi ne pas automatiser tout cela ! Nous somme, à mon sens, devant un bon candidat :)

Phase 1 - Recherche des commandes

La plupart des tâches que je cherche à exécuter peuvent l'être en ligne de commande. La première étape est donc de chercher comment exécuter chacune de ses étapes de manières isolés :

  • Mettre Ă  jour le projet, car tant qu'Ă  faire autant l'automatiser aussi : svn update xxx
  • ArrĂŞter l'exĂ©cutable lancĂ© prĂ©cĂ©demment : taskkill /F /IM xxx (je suis sous windows)
  • Compiler et dĂ©ployer une solution .NET : devenv /rebuild debug xxx
  • Lancer l'exĂ©cutable... Bon lĂ , pas besoin de vous faire un dessin ;)

Bon, premier soucis en mode dos : devenv rend la main avant terminé la compilation. En DOS, c'est la galère, programmatiquement par contre je pourrais aisément attendre la fin du process. Bref, j'ai toutes les info, plus qu'à introduire tout ça dans LightTable !

Phase 2 - OĂą travailler ?

Où dois-je poser mon code pour mettre à disposition de nouvelle commande ? La réponse de LightTable est simple : dans un plugin ! Pour encore plus de simplicité, LightTable fourni par défaut un plugin "User" disponible pour intégrer votre code fait maison.

Etant donné que mon besoin est très spécifique à mon projet, je vais opter pour cette solution. Il me suffit donc de lancer la commande Settings: User script pour que le fichier de source s'ouvre dans l'éditeur ! Pratique :)

Phase 3 - Un peu de ClojureScript

Bon, concrètement je vais devoir :

  • ExĂ©cuter diverses commandes Dos
  • Attendre que ces commandes soit terminĂ© pour en exĂ©cuter d'autre

Je vais donc commencer par une petite fonction qui répond à ces deux besoins :

  ;; Exécute la commande fourni en paramètre et renvoi le "process"
  (defn cmd-execution [command]
    (println "Execution de : " command)
    (.exec (js/require "child_process")
           command
           (fn [err stdout stderr]
             (when (seq stdout) (println "STDOUT: " stdout))
             (when (seq stderr) (println "STDERR: " stderr)))))

  ;; Exécute la commande, puis quand elle est terminé, execute la fonction de callback
  (defn cmd-execution-then [command cb]
    (let [child (cmd-execution command)]
      (.on child "close" cb)))

js/require est un module node disponible par défaut dans LightTable. Concernant les sorties standard du programme, je log bêtement dans la console. Cela suffit largement pour mon besoin actuel.

Ensuite pour l'utiliser :

  ;; ArrĂŞte le process xxx puis lance la fonction buildsocle
  (defn killsocle []
    (cmd-execution-then "taskkill /F /IM xxx" buildsocle))

Il me reste donc juste à crée mes fonctions une à une pour les chaîner comme il faut. Dernière étape à faire dans le plugin, définir une commande pour exécuter le code :

  (cmd/command {:command :user.my-cde
                :desc "User: Rebuild all"
                :exec (fn [] (rebuild-all))})

A partir de là je peut exécuter mon code en invoquant la commande User: Rebuild All. :user.my-cde est l'identifiant technique de la commande, à vous de choisir sa valeur.

Enjoy ! :)

Phase 4 - Raccourcis clavier

Et pour finir, autant mapper un raccourci clavier pour invoquer la commande plus facilement.

  [:app "f6" :user.my-cde]

Et hop, un petit F6 et mon éditeur provoque la mise à jour et la reconstruction de mon environnement ! De quoi alimenter ma fainéantise quotidienne :)

Catégories: Blog Individuel

Soirée Hazelcast

Paris Java User Group - dim, 11/15/2015 - 17:04

En ces dures moments, nous espérons que vous allez tous bien ainsi que vos familles et votre entourage.

Catégories: Association

Un mois de novembre plein d’activité

Paris Java User Group - ven, 10/30/2015 - 11:10
Un mois de novembre plein d’activité
Catégories: Association

Zenika, sponsor du DevFest

Zenika - mar, 10/13/2015 - 08:34

Toute l’équipe de Zenika Nantes sera au rendez-vous et vous accueillera sur son stand pour cette édition 2015 du DevFest, le 6 novembre 2015 prochain à la Cité des Congrès de Nantes. DevFest_Nantes_2015

Zenika au DevFest Partenaire historique du DevFest et du GDG Nantes, Zenika sera bien présent pour cette 4ème édition d’une journée de conférences autour des thèmes du Web, Cloud & BigData, Mobile & Objects Connectés, Découverte. Matthieu Lux, consultant Zenika responsable de l’offre Web à l’agence Zenika Lyon, initiera un livecoding pour vous... Read Zenika, sponsor du DevFest

Catégories: Blog Société

Couchbase Live Paris 2015

Zenika - jeu, 10/01/2015 - 08:17

Ce mardi 29 septembre se tenait la confĂ©rence « Couchbase Live France 2015 », sur le campus de Microsoft France. L'occasion pour l'Ă©diteur de la solution NoSql de revenir sur les points forts de l'outil, les nouveautĂ©s de la version 4 et partager avec nous l'expĂ©rience de certains de leurs clients comme Amadeus, Criteo, Ryanair ou Sky Germany.

Tout au long de cette journée, les différents intervenants sont revenus sur les différents points qui constituent l'ADN de Couchbase. A savoir : Son utilisation polyvalente : Cache, stockage de type clé/valeur ou document, l'utilisation en mode local/mobile Sa performance et sa scalabilité : Faible latence, architecture centrée sur les accès en... Read Couchbase Live Paris 2015

Catégories: Blog Société

Docker Global Hackday #3

Zenika - jeu, 09/24/2015 - 13:30

Le Jeudi 17 Septembre 2015 se tenait le Docker Global Hackday #3, événement planétaire qui permettait à toutes les personnes motivées de proposer un hack, une démonstration, une utilisation originale, une nouvelle feature autour des technologies de Docker. Zenika Rennes était le partenaire local dans l'Ouest.

Retours sur l'événement.

Docker Global Hack Day

Le contest La seule contrainte était de faire entrer notre hack dans l'une des 3 catégories: Docker Plugins Docker Plumbing – runC, Notary, etc. Docker Freestyle – must use features from the latest Docker Platform releases Pour l’évenement, les meetups Docker ont regroupé les candidats pour le début de l’épreuve, ou un peu après… le début de... Read Docker Global Hackday #3

Catégories: Blog Société

Back to the code - CodinGame vous propose un nouveau défi !

Zenika - ven, 09/18/2015 - 13:05

Ce samedi 26 Septembre 2015 à partir de 18h00 débute une nouvelle session CodinGame qui durera 8 jours et se terminera le 4 octobre à 20h00.

Back to the Code

Construisez votre robot le plus efficacement possible pour vaincre vos adversaires partout dans le monde. Pour les inscriptions, rendez-vous sur CodinGame. N’oubliez pas : Votre participation se fait en ligne et est 100% gratuite. 20 langages de programmation disponibles. De nombreux lots à gagner (Xbox One + The Witcher Wild Hunt / T-shirts /... Read Back to the code - CodinGame vous propose un nouveau défi !

Catégories: Blog Société

SoCraTes Conference 2015

Zenika - mer, 09/16/2015 - 09:50

SoCraTes, la conférence majeure de la communauté craftsmanship en Europe, a eu lieu du 27 au 30 aout, dans la campagne allemande près de Hambourg. Xavier Detant et moi même avons eu le plaisir d'y assister et allons vous le raconter dans cet article.

image

World Café (jeudi) La conférence commence officiellement le jeudi soir à 19h avec un World Café. Le but de cette session est double : Briser la glace entre les participants Faire émerger les idées et les attentes des participants Le déroulement : les 180 participants sont repartis sur une vingtaine de tables. Chaque table discute de ce que... Read SoCraTes Conference 2015

Catégories: Blog Société

Pourquoi je lâche l’organisation de AperoJS_Paris (ex BeerJs)

Mathieu Robin - ven, 09/11/2015 - 09:18

Il y a quelques semaines/mois, une grosse polĂ©mique c’est dĂ©clenchĂ© autour de BeerJS Paris.

Beaucoup de personnes ont signalĂ© que le nom impliquait que les gens vont devoir boire de la bière, donc de l’alcool. Et que la bière, ça fait gros mâle viril avec des poils et des burnes. J’aurais pu aussi dire que ça faisait viking, ça marchait aussi.

J’ai quand mĂŞme signalĂ© le soucis Ă  « l’organisation mondiale » BeerJS qui essaie de chapeauter les BeerJS Ă  travers le monde. Si des personnes se sentent exclus Ă  cause du nom, effectivement, il y a un soucis. Surtout qu’Ă  chaque fois, je me retrouvais Ă  devoir prĂ©ciser que hommes comme femmes, buveurs de bières et/ou d’alcools ainsi que non-buveurs Ă©taient tous les bienvenus, sans distinction de quelque forme que ce soit.

La discussion a un peu dĂ©rapĂ© quand certains ont commencĂ© Ă  faire de l’humour sur le sujet pour essayer de dĂ©dramatiser la chose. Mais pour d’autres, ça n’a pas Ă©tĂ© pris pour de l’humour mais comme pure provocation. Je ne jugerai ni l’un ni l’autre. En tant que troll dĂ©gĂ©nĂ©rĂ© je suis mal placĂ© pour juger les premiers, mais comprend aussi le point de vue des seconds. Et la modĂ©ration pour moi reste le meilleur moyen de tourner autour du pot.

Sur la suggestion d’un participant rĂ©gulier, on a renommĂ© BeerJS en AperoJS. Ce nom est moins universel (question de langue), n’implique pas la consommation d’alcool. Et ne semble pas exclure les hommes ou les femmes et est mĂŞme, a priori, adaptĂ© aux mineurs. Après tous les mineurs ont aussi le droit de vouloir parler de JS. On ne peut d’ailleurs que les y encourager.

Ce changement a aussi Ă©tĂ© impliquĂ© parce qu’on s’est fait virĂ© de « BeerJS monde ». Etant donnĂ© que la discussion s’Ă©tait enflammĂ©, l’organisation mondiale a choisi d’exclure BeerJS_Paris parce qu’on n’a pas su discuter en tout respect des uns et des autres. Je dis on parce que je n’ai pas jouĂ© mon rĂ´le de modĂ©rateur, ne souhaitant pas rĂ©pondre Ă  chaud. Grave erreur de ma part certainement.

Je pense que finalement le changement de nom est bĂ©nĂ©fique. Parce qu’il n’exclue plus. Tant mieux. On a la bĂ©nĂ©diction de « BeerJS monde » sur ce changement de nom et les diffĂ©rents responsables de BeerJS dans d’autres villes ont mĂŞme suggĂ©rĂ© que si ils en ont l’occasion, viendront boire un verre avec AperoJS.

Le problème pour moi est que finalement, alors que l’histoire pour l’association s’est apaisĂ©e, pour moi, non. C’est Ă  dire que je continue de recevoir des critiques Ă  titre personnel. Au dĂ©but j’ai laissĂ© filer, me disant que ça ne relevait plus d’une juste polĂ©mique mais juste de haters mal lunĂ©s. Mais plusieurs mois après, toujours pas calmĂ©s.

Je continue de recevoir des insultes. Je serais misogyne, anti-non buveurs d’alcool, je reprĂ©senterai mĂŞme une pub gĂ©ante pour l’alcool. Certains ont mĂŞme suggĂ©rĂ© que j’Ă©tais payĂ© par un lobby de l’alcool (sĂ©rieusement ?!). D’autres suggère que je suis homophobe ou raciste, je me demande encore oĂą et le rapport.

Du coup je me dĂ©solidarise de ce bazar. AperoJS n’a pas besoin d’un « organisateur » sans cesse remis en cause. Et l’incapacitĂ© de la communautĂ©, au sens extrĂŞmement large du terme, je ne parle pas des habituĂ©s, Ă  se rĂ©guler m’a blasĂ©. Je n’ai plus envie de m’impliquer dans la vie de la communautĂ©. Je n’Ă©tais pourtant dĂ©jĂ  plus très prĂ©sent que ce soit Ă  ParisJS ou Ă  BeerJS (c’est mĂŞme devenu une blague pour les habituĂ©s).

Je passe la main Ă  Julien GuĂ©zennec, ami et confrère, en qui j’ai une totale confiance et qui Ă  mon sens est le plus indiquĂ© pour ce titre en plus d’ĂŞtre sĂ»rement plus rĂ©sistant que moi Ă  des critiques aussi ridicules qu’infondĂ©es.

Flattr this!

Catégories: Blog Individuel

Les événements font leur rentrée chez Zenika

Zenika - ven, 09/11/2015 - 08:24

Ne passez pas Ă  cĂ´tĂ©! Zenika vous propose de dĂ©couvrir les temps forts qui marqueront cette rentrĂ©e 2015. A vos agendas !

events_logo_Zenika

Zenika Nord

L’agence Zenika Nord ouvre les portes de ses nouveaux locaux à l’occasion d’une Matinale BigData le 29 Septembre prochain.

Zenika Paris

La toute première édition du Kaiz’n day, un événement axé nouvelles technos et agilité 100% Zenika, aura lieu dans les locaux parisiens le 8 octobre à partir de 14h. A vous de faire votre programme parmi notre sélection de conférences et d’ateliers.

Agile Tour Cette année, Zenika se définit également comme étant un des acteurs importants de la communauté Agile, notamment en sponsorisant l'Agile Tour : Agile Tour de Rennes les 9 & 10 octobre 2015 (Sponsor Platinium) Agile Tour de Lille le 15 octobre 2015 (Sponsor Gold) Agile Tour de Grenoble le 19 novembre 2015 (Sponsor Silver) Retenez... Read Les événements font leur rentrée chez Zenika

Catégories: Blog Société

Partagez la connaissance

Partagez BlogsdeDeveloppeurs.com sur les réseaux sociaux