L’idée

Un jour, une idée un peu folle m’est venue. Plutôt que de parler d’agilité, montrons la en pratique et invitons les gens à venir la goûter.

Du coup, j’ai lancé un petit appel à contribution pour être une petite tribu de fou.

Capture_d_e_cran_2015_11_22_a_16.28.50

Xavier a été le premier à répondre, suivit de prés par Matthieu, Jean-Charles, Stéphane, Franck, ….

Quelques tweets alléchants et un coup de téléphone on suffit pour lancer le projet : le rendez-vous est pris, le jour J sera Agile Grenoble 2015. Les orgas (vivent les hommes en rouge) qui nous suivent, encore une fois merci! , et nous voila lancé.

Nous avons avec Xavier et Franck vu dans d’autre conférences des tentatives pour faire un tel projet. Les organisateurs se sont souvent confrontés à la difficulté d’inclure dans le projet des personnes de passages (personnes qui n’ont pas l’habitude de travailler avec 500 personnes dans le dos, de travailler en pair, sur un projet inconnu ….).

Pour remédier à cela, notre idée, a été de combiner à la fois une équipe technique (2 à 3 personnes) à 1 product owner et 1 scrum Master.

L’équipe technique

L’équipe technique a été présente tout le temps, pour assurer le passage de relai, la connaissance technique, et le déploiement de l’application.  Ce groupe à ainsi pu accueillir entre 3 et 6 personnes chaque itération (une itération durée environs une heure). Chaque itération a permis de discuter du fonctionnement de l’équipe, du rôle du développeur (conseils/échange avec le PO, excellence technique bien dosée, …).

Le(s) Product Owner(s) (POs)

Le PO avait un rôle de gestion du produit, il devait tenir compte des participants pour adapter le produit. Le PO avait aussi un rôle de gestion des questions, étant “en théorie” plus disponible que les développeurs.
Lors des 2 premières itérations beaucoup de personnes (débutantes et expertes) sont venues jouer aux POs en définissant des user stories et en gérant les priorités.

Nous avons ainsi, changé notre idée initiale de produit dès la fin de la première itération, ou notre vingtaine de POs a eu de très bonnes idées suite à notre première Démo.

Le Scrum Master

Le Scrum master, avait un rôle de gestion des impédiments (protection de l’équipe de dev:)) , inclusion des nouveaux en leur présentant le projet, animation des points de synchronisations.

Le rôle de SM est avec le rôle de PO, je pense un des points clés du succès de la journée, ils ont permis de faire l’explication en temps réels de ce qui se passe, tout en donnant à l’équipe de dev les orientations attendus par le public.

Le détail de la journée a été parfaitement raconté par Xavier, ici. Je vais donc jouer au fainéant et me concentrer sur un ou deux points techniques que je voulais partager.

Un peu de technique

Le repo GIT est disponible ici sur github.

Les technos utilisées sont, pour le Front end :

  • un peu de Php/Css pour la version 1 ultra simple
  • une lib javascript pour les V2 et V3 de l’affichage.

Un exemple de résultat ici (les tweets de la dernière heure à Agile Grenoble):

AgileGrenoble2015-tagDerniereHeure.png

Pour le backend :  Flink en Java/Scala .

Flink est un framework de processing Big Data, certains me diront n’est ce pas un peu beaucoup pour 75 tweets par heure ? Peut-être, mais un de mes buts était de me faire plaisir avec un framework que j’adore, de le faire découvrir ainsi que de permettre facilement de manipuler des flux de tweets.

Ci dessous, tout notre code produit (après quelques refactoring).

TwitterFilterSource twitterSource = new TwitterFilterSource();
twitterSource.trackTerm(#AG15);
DataStream<String> dynamicjson = env.addSource(twitterSource);

DataStream streamTwits = streamSource
.map(…)
.flatMap(new TokenizeFlatMap())
.filter(new RemoveLink())
.filter(new RemoveStopWord())
.keyBy(0).sum(1)
.map(… });

De ce point de vu, succès.

J’inclus ici, un des documents initiaux qui ont permis d’avoir une idée du logiciel que nous aimerions faire durant cette journée :

FlinkTwitter.png

La géolocalisation des tweets a disparu, en fait, très peu de tweet sont géolocalisés (~2% pour agile Grenoble).  Nos PO ont voulu un affichage qui alternait entre nuage de tweets et nuage de twittos (pour stimuler leurs activités), et un compteur de tweet est apparu.

 

Conclusion

En conclusion, que retenir d’une journée si riche ?

Un peu de frustration de ne pas avoir été un PO et un SM sur le projet.

Plein d’échanges, et du partage. Des idées d’amélioration. Une envie de recommencer vite.

Un grand merci à tous les participants et surtout à Xavier.

 

 

Advertisements