blog
prenez des nouvelles de l’agence

Etude de cas : Développement d'un CMS spécifique en flux tendu

Un gros projet CMS spécifique à réaliser dans un temps record... qui a dit impossible ?

Début mai 2010 notre partenaire Fcinq contacte Opsone pour solliciter notre aide afin de réaliser un site éditorial d'un client grand-compte avec des problématiques de gestion multi-marchés, multi-langues par marché, avec un système de workflow à 4 niveaux et intégrant des gabarits de pages customisables en backoffice et ultra flexibles... le tout à réaliser en moins de 3 mois (Cooool c'est relax !!! LOL).

"Avez-vous déjà réalisé ce type de projet? Vous sentez-vous honnêtement à l'aise sur ce genre de projet ?" telle fut la question de notre partenaire lors de notre premier contact pour ce projet...

Comme rien ne nous fait peur à Opsone nous n'avons pas hésité une seconde à retrousser nos manches et à partir à l'aventure ! Néanmoins il ne s'agit pas de partir aveuglément à l'appel du risque mais au contraire, il s'agit de s'organiser pour anticiper et dompter tous les risques possibles et imaginables (et ils ont été nombreux !) vu la taille et la complexité du projet.

Afin de tenir les délais, le principe était de se répartir les tâches de telle sorte à pouvoir paralléliser au maximum le développement de ce site. Opsone, référence technique étant responsable du backoffice et Fcinq référence créative était en charge du frontoffice. Par conséquent quelle organisation mettre en place pour relever ce challenge et pouvoir travailler en parallèle ?

Etape 1 (J - 3 mois) : D'abord bien cadrer les besoins (évidemment!) ;)

La plus grosse erreur serait par "manque de temps" de se lancer directement dans les développements au lieu de bien spécifier les besoins et donc les fonctionnalités à réaliser. Au contraire, c'est parce que les délais sont serrés qu'il faut encore plus prendre le temps de bien réfléchir avant de se lancer car nous n'aurons pas une deuxième chance de nous rattraper !

Pour commencer, les deux agences se sont mises d'accord sur un process limitant les risques de débordement : toute création graphique et proposition ergonomique de Fcinq devait passer par le filtre d'Opsone pour validation technique avant d'être proposée au client. Ce mode de fonctionnement n'entrave en rien la créativité de notre partenaire mais permet d'éviter des allers-retours superflus avec le client et de lui générer de la frustration à cause de "faux espoirs" laissés par manque de communication...

Au final sur les 3 mois de délais, 3 semaines de travail et une centaine d'emails échangés ont été nécessaires pour rédiger et faire valider les spécifications détaillées du frontoffice et du backoffice avec des créations graphiques et maquettes fonctionnelles à l'appui limitant ainsi tout risque de mauvaise interprétation. La gestion multi-marchés et multi-langues par marché par dessus lequel vient se greffer un workflow transverse ont été les principales sources de réflexion et de difficulté dans la conception de l'outil...

Principales tâches de l'étape / Outils employés :

  • Gestion de projet / Celulles grises, téléphone, email, traitement de texte, diagramme de Gantt
  • Conception ergonomique et fonctionnelle / Document de spécification fonctionnelles détaillées avec maquette ergonomique et fonctionnelle

Etape 2 (J - 2 mois) : Définir une architecture qui permette le développement parallèle

Un site pour le client, 2 applications pour les agences...

Pour permettre à chaque agence de travailler sereinement il était hors de question de travailler sur une seule et même application avec d'une part le risque de se marcher les uns sur les autres et d'autre part le fait de devoir s'adapter mutuellement à la façon de "coder" de chacun. Nous avons donc préconisé à notre partenaire de partir sur une architecture à 2 applications communiquant à travers une seule et même base de données.

...une base de données pour les gouverner tous ! ;)

Inutile de dire que la base de données était une des clés de succès de ce projet et sa conception a fait l'objet d'une analyse rigoureuse et partagée entre les 2 agences. Une fois le modèle de base de données validé et "implémenté", chaque agence était libre de partir dans la phase de réalisation tant qu'elle respectait la sacro sainte règle de : "je ne touche pas à la structure de la base de données sans avertir mon copain !" ;)

Principales tâches de l'étape / Outils employés :

  • Gestion de projet (encore)
  • Conception architecture technique / Cellules grises geek++, document de spécifications techniques détaillées
  • Conception base de données / Cellules grises geek++, UML, modèle de données relationnel

Etape 3 (J - 1,5 mois) : Lancer les développements parallèles (Go ! Go ! Go !)

Au vu de la complexité du backoffice, Opsone a fait le choix de développer l'application en se basant sur le framework ZF (Zend Framework) et laissant Fcinq développer sans contrainte le frontoffice (puisqu'il s'agit de 2 applications à part entière). Cette démarche a l'avantage certaine de permettre à chacun de travailler selon ses habitudes et donc le plus efficacement possible.

C'est ici que l'expression "ça passe où ça casse" prend tout son sens. Vu les contraintes de délai, aucun obstacle ne devait ralentir la réalisation du projet. Pendant cette phase les développeurs devaient "courir" les yeux fermés, tout a été spécifié au préalable, plus aucune question existentielle ne devait se poser... Les chefs de projet n'avaient plus qu'à prier que leurs étalons tiendraient la distance et qu'aucun ne se blesse en cours de route ^^'

Heureusement nos chers développeurs bien qu'essouflés par cette course folle sont arrivés au bout du chemin sans se casser le poignet à force de frappe effrénés sur le clavier. \o/

Néanmoins ne crions pas encore victoire car la partie n'est pas encore gagnée... -_-

Principales tâches de l'étape / Techno employées :

  • Gestion de projet (encore et encore)
  • Développement applicatif / PHP, ZEND Framework et MySQL

Etape 4 (J - 2 semaines) : Joindre les 2 bouts pour la recette

L'instant de vérité...

Arrive alors le moment tant attendu et craint à la fois, la "fusion" des applications. Il s'agit d'installer sur un seul et même environnement les 2 applications backoffice et frontoffice et de tester et vérifier la bonne communication entre les 2 moitiés du site.

...une base de données pour les amener tous et dans le succès les lier ;)

A notre grand soulagement le site a fonctionné du premier coup et aucune perte dans les rangs de nos équipes n'a été déploré :p 
Comme dans tout projet informatique ils subsistaient forcément des "pétouilles" qui ont été traitées pendant la recette mais aucune ne remettait en cause les fondements techniques et fonctionnels au vu du cadrage "draconien" au lancement du projet.

Il restait alors seulement deux semaines avant le lancement du site et encore tant de travail à faire : préparation du contenu multimédia, consolidation, rédaction... mais ici s'arrêtait la mission commando web d'Opsone et c'était alors à notre partenaire Fcinq de reprendre (avec succès) le relais sur les derniers mètres restants :p

Principales tâches de l'étape :

  • Gestion de projet (toujours)
  • Test, test, test et test...
  • Correctif applicatif

Conclusion : "Au pays du web ou s'étend le stress, Opsone et Fcinq ne se sont pas laissés emporter"

Etre conscient des risques...

En réalité, nous ne défendons pas ce genre de projet à Opsone, à savoir un gros site qui survient "de nulle part" et qui doit se faire dans un délai qui semble irréaliste. Si Opsone a accepté ce projet c'est parce que d'une part c'est notre partenaire Fcinq qui nous l'a demandé ;) et surtout d'autre part parce qu'au vu de l'étude préalable, le projet bien que "tendu"  nous semblait effectivement réalisable dans les temps sous condition que chaque partie prenne conscience des risques du projet et surtout de leur responsabilité.

Chaque tâche du projet étant sur le chemin critique du diagramme de Gantt, chaque jalon posé devait absolument être tenu, ainsi, si les prestataires avaient peu de temps pour accomplir leurs tâches, les clients n'avaient pas le temps de tergiverser dans les phases de validation (charte graphique, déclinaison des écrans, validation des spécifications fonctionnelles et technique...).

...et assumer ses responsabilités

Heureusement chacun a bien joué le jeu et a assumé ses responsabilités ce qui nous a permis de réaliser ce petit "exploit". Malgré la complexité du projet tant au niveau technique que organisationnel, le stress n'a eu raison ni de Fcinq ni d'Opsone. Ce succès était autant dû à l'organisation projet et à la conception de départ qu'au travail rigoureux et respectueux entre les 2 agences web et avec le client tout au long du projet.

Evidemment tout n'avait pas été un long fleuve tranquille, des mini pics de stress à différents moments du projet ont pu survenir mais jamais ces stress n'ont été amplifiés inutilement. Nous avons toujours pris les problèmes de face et la technique de la patate chaude (c'est pas moi c'est l'autre) ou la technique du parapluie aussi appelée technique de l'autruche (si je ferme les yeux et que je pense très fort que tout roule alors tout roulera...) n'ont jamais fait partie de notre démarche.

En conclusion même si dans ce billet pour ceux qui ne l'ont pas remarqué j'ai à plusieurs fois fait référence à Tolkien (à titre geeko humoristique... désolé :p) je terminerai par La Fontaine avec cet adage : "Rien ne sert de courir, il faut partir à point"

Voilà, j'espère que ça vous a plu et je vous dis à bientôt pour de nouvelles aventures ;)

Commentaires


Belle aventure !


Portrait de herve.lo

Merci Axel !


Ajouter un commentaire