Le week-end samedi 29 et dimanche 30 septembre se déroulait le concours BeMyApp Agency 2012, réservé aux agences ayant pour thème « 48 heures pour sortir de la crise ! ».
OCTO Technology a participé et a réalisé 2 applications “BeMyGuest” et “CheckFood”
BeMyGuest
Cette première équipe était composée de 3 Octos (Ahmed, Eric et Maxence), de l’agence Heaven (Camille, Charlotte, Clément et Robin), de ZiRaNa (Zinedine et Raouf) et de La Ruche (Miora).
BeMyGuest vous permet enfin de partager vos repas en entreprise !
Si vous déjeunez souvent entre collègues avec un sandwich ou un plat chaud acheté 9€ chez le traiteur le plus proche, pourquoi ne pas ramener une de vos spécialités et la partager ? Une couche de gamification permet de réguler le mode de participation de chacun (offre et demande). Nous avons fait le choix de ne pas inclure de monétisation des plats pour laisser la liberté aux participants de gérer cet aspect comme ils l’entendent.
CheckFood
Fini le gaspillage !
Avec l’application “Check Food”, nous vous notifions quand un aliment va être périmé. Vous avez alors 2 choix : Le consommer ou le donner.
En consommant un produit avant sa Date Limite de Consommation, c’est jusqu’à 1 500€ d’économie pour vous par an. Soit potentiellement 22 millions d’euros du pouvoir d’achat qui ne sera pas jeté à la poubelle !
En faisant don des produits consommables que vous n’aurez pas le temps de manger, c’est jusqu’à 264 000 tonnes de produits distribués. Soit potentiellement 520 millions de repas offerts à ceux qui en ont besoin !
Notre démarche
La vision du produit : Storymap puis Storyboard
Un fois les priorités définies, nous avons réalisé le storyboard. A cet instant, toute l’équipe avait une vision claire de ce que nous voulions livrer et du travail qu’il reste à faire.
TaskBoard
Pour s’organiser rien ne vaut un taskboard physique sur lequel nous avons séparé les tâches coté mobile et celles coté backend (Base de données, webservices,…).
Naturellement, nous avons ajouté la colonne “to validate”, imposant une revue de code croisée avec un autre développeur. Cette colonne pourrait sembler superflue dans une épreuve de 48h mais elle nous a permis :
- de garder un haut niveau de qualité de nos développements,
- d’échanger avec les designers sur qualité de nos intégrations,
- d’échanger avec les autres développeurs sur les Patterns utilisés,
- de présenter à l’équipe l’avancement des fonctionnalités qui allaient être déployées.
Itération 0 : La mise en place des outils
L’application nécessitait un backend. Nous aurions pu choisir de le bouchonner pour se focaliser sur le client, mais le challenge du weekend était d’avoir une application fonctionnelle en 48h. Nous sommes donc partis sur une stack connue pour sa rapidité de mise en oeuvre : une application Ruby on Rails déployée sur Heroku et agrémentée de la gem ActiveAdmin. Ce dispositif nous a permis d’avoir un backend disponible et utilisable en un délai minime.
Nous avons pris le parti de publier une nouvelle application à chaque “Commit” grâce à Appaloosa et au plungin Jenkins. Chaque “Commit” était réalisé après la présentation en interne de la fonctionnalité (colonne To Validate).
Les informations importantes ont été stockées dans un Wiki :
69 déploiements sur iPhone en 48 heures !
Nous ne pouvions pas passer plus de 10 minutes pour livrer une nouvelle version de l’application, c’est là que notre usine de développement a montré toute sa puissance.
L’application était livrée en moins de 5 secondes sur le Store, l’utilisateur n’avait plus qu’à cliquer sur son téléphone pour l’installer en moins de 30 secondes !
Notre première livraison a été effectuée 4 heures après le début du challenge et elles se sont enchaînées à un rythme moyen d’une livraison toutes les 41 minutes.
Les équipes ont pu affiner le produit heure par heure et nous donner des feedbacks tout au long de cette aventure.
Nos douleurs
- Nous contrôlerons a priori la fraîcheur de nos environnements de développement pour ne pas perdre de temps sur des problématiques de configuration :
- L’environnement rails évoluant sans cesse, une mise à jour un peu douloureuse (nouvelles versions de Ruby, RubyGems, Rails, …) a dû être opérée pour ceux qui n’avaient pas pratiqué depuis longtemps. Nous serons peut être moins ambitieux et nous utiliserons une solution plus légère comme parse.com
- Nous avons mis Xcode à jour une semaine avant le concours. L’UDD n’étant pas sous la même version que nos Mac de développement, ce qui devait arriver arriva, les règles de compilation n’étaient pas les mêmes des deux cotés.
- Certains impondérables doivent être gérés à chaud. Par exemple, la librairie ZBar a nécessité une recompilation en armv7s pour être compatible avec l’iPhone 5 ! Il est essentiel d’être dans un état d’esprit alerte pour savoir rebondir sur ce genre de mésaventure.
- La présentation du projet BeMyGuest a souffert d’un manque de préparation technique. L’équipe passait en premier et a perdu de précieuses minutes à tenter de faire cohabiter un iPad et un rétroprojecteur. Nous aurions dû anticiper le risque et préparer un plan B pour une projection efficace (lancer le simulateur sur un Mac, par exemple).
Qu’est-ce que nous avons appris ?
Nos fiertés de ce week-end
– “Il n’y a pas photo, vous maîtrisez l’Agilité, merci pour avoir pris en main toute la partie processus et nous avoir fait vivre cette superbe aventure.”
– “Vos livraisons avec Appaloosa, c’est génial ! On n’avait jamais travaillé aussi rapidement !”
Et surtout, Avoir la satisfaction de 2 produits fonctionnels et connectés complètement créés en 48h !
En conclusion
Vous savez que chez OCTO, si on aime on partage. Nous nous sommes dit que cette démarche pourrait aussi intéresser nos clients. Nous avons proposé à l’un d’eux de participer au BeMyApp NFC du 6 et 7 octobre et il a accepté « pour voir ». Finalement, tout le monde s’est pris au jeu et l’équipe a terminé à la première place !
Ils n’ont pas seulement gagné le premier prix mais ils sont aussi repartis avec une bonne dose de confiance en eux et un nouvel esprit d’équipe.
Au plaisir de vous rencontrer avec vos clients dans une prochaine épreuve !