Pendant ma troisième année d'études, on m'a confié moi et 4 camarades de promotion un projet consistant à développer une application mobile. Nous avions comme contrainte l'utilisation de la technologie Xamarin pour la réalisation de celle-ci et d'une durée d'environ 6 mois pour la livrer au client.
Le but de l'application était de fournir des informations sur les producteurs et marchés dans le Lot-et-Garonne. Dans ses informations l'utilisateur devait pouvoir accéder à l'adresse pour pouvoir s'y rendre, avoir une liste de produits lorsque le producteur en commercialise, les horaires d'ouverture, la capacité d'hébergement, etc. Tout cela, afin d'inciter les particuliers à se rendre directement auprès des producteurs et dans les marchés qui ont du mal à renouveler leur clientèle.
Nous devions rassembler plusieurs éléments avant de démarrer le développement, à savoir la source de données contenant les informations sur les producteurs et marchés (adresse, produits à la vente, etc.).
Nous avons décidé assez tôt dans le projet que ces informations devront être accessibles au travers d'une API qui fournirait les informations aux utilisateurs lors de l'utilisation de l'application. Aussi il était important pour le client que les utilisateurs aient accès aux données en mode déconnecté (difficultés à capter internet sur certains marchés ou chez des producteurs en rase campagne).
Pour ce projet, nous nous sommes organisés en utilisant la méthode agile en mode scrum et nous avions convenus d'un rythme de l'ordre de deux semaines afin d'avoir des points d'avancement avec le commanditaire.
Enfin, il était important de soumettre et valider des maquettes plus ou moins détaillées avec le client pour être sur d'avoir la bonne vision sur le rendu final de l'application mobile. Nous avons passé environ 1 mois sur cette partie afin de s'assurer que toutes les parties prenantes soient d'accord avant le démarrage de la phase de développement.
Nous étions 5 à travailler sur le projet, ainsi nous avons procédé à un découpage des tâches et à l'évaluation de la charge de travail de chacune. Ainsi nous nous sommes organisés de la façon suivante :
Le défi était de ne pas perdre de temps sur l'interface graphique de l'application mobile, en ayant un maximum de personnes pouvant travailler dessus et pour montrer une avancée visuelle à chaque fin de sprint au client.
Nous savions à l'avance qu'il y aurait des défis techniques à savoir le mode déconnecté de l'application (utilisation d'une base de données SQLite dans l'appareil de l'utilisateur afin qu'elle soit accessible en local sans internet), l'hébergement de la partie serveur pour rendre les données accessibles à tous (ici un risque important car nous n'avions pas dans l'équipe de profil spécialisé en systèmes et réseaux).
Enfin l'utilisation du Framework Xamarin qui était déjà prometteur à l'époque, mais encore très jeune et donc il y avait peu de recul sur les problèmes rencontrés par la communauté.
Nous n'avons pas pu atteindre tous les objectifs fixés en début de projet. De plus, la mise en production sur le Play Store et l'App Store n'ont pas pu être réalisée dû au retard qui a été accumulé sur certains développements.
J'ai personnellement été très enthousiaste pour ce projet car j'avais déjà de bonnes bases avec le langage C# et je trouvais l'idée de pouvoir travailler avec, très intéressante sur la réalisation d'une application mobile. Ce projet a été un second pas dans le développement mobile pour moi après la réalisation du projet Wawee en Java, qui était plus conventionnel à cette époque.