Phases de réalisation d'un projet Web
Introduction
Nous parcourons dans cet article les différentes étapes suivies par FreelanceModule pour le bon déroulement d'un projet de mise en place d'un site ou d'une application web.
1- Étude du besoin
Le client nous contacte avec une idée dans la tête qu'il projette de réaliser et nous demande dans quelle mesure nous pouvons l'implémenter. Nous établissons en un premier temps avec le client une "Étude de Faisabilité" qui détermine le périmètre de son projet et explore l'état des lieux dans le domaine et les solutions technologiques possibles avec les avantages et contraintes de chacune. Le document estime également le coût global du projet et les durée de réalisation.
En révisant le document, le client verra son idée plus clairement et les opportunités et les risques qu'elle présente. Il clarifiera ainsi certains aspects tout en faisant un choix technologique parmi ceux précédemment proposés. FreelanceModule pourra ainsi rédiger un second document: le "Cahier de Charges" qui décrit en détail les fonctionnalités de l'application, les interfaces utilisateurs, les règles de gestion de projet et les aspects financiers et juridique. La validation du document de la part du client constitue le lancement officiel du projet.
2- Développement
Le projet lancé, la principale activité concernera le codage de l'application. Cette activité est encadrée par un document de "Spécifications techniques" qui décrit la structure de l'application en terme de base de données, de formulaires de saisies, les diagrammes UML et plus généralement de tout les composants internes et externes. L'idée derrière l'application est de réduire l'effort de refaire le programme à cause d'erreur de compréhension ou d'incohérence relevée par le programmeur.
Afin de contrôler l'avancement de la programmation, FreelanceModule divise l'activité en "sprint" ou étapes regroupant chacune des fonctionnalités à mettre en place. Suivant la méthodologie dite "Agile", cette approche permet plus d'interaction avec notre client afin de prendre les décisions à temps. Notre développeur livrera ainsi les premières versions de son travail ou "release". Chaque release apporte une correction ou de nouvelles fonctionnalités à l'application. Lorsque le développement sollicite plusieurs programmeurs, FreelanceModule recourt à un CVS ("Concurrent Versioning System") qui assure que les modifications de chaque membre de l'équipe sont faites d'une façon propre et collaborative. C'est généralement le cas lors de la programmation d'un site web où l'on sépare entre le "front-end", c'est à dire les aspects visuels de présentation, de mise en forme et de l'harmonie des couleurs, d'une part, et le "back-end", c'est à dire le traitement brut de données d'autre part.
3- Intégration
Le développement de l'application s'effectue généralement dans les locaux de FreelanceModule, une fois qu'il atteint un degré de maturité, nous devons l'installer sur l'environnement du client. Cette étape, d'apparence banale, revêt une importance extrême lorsqu’il s'agit d'opérer sur un serveur utilisée dans les transactions quotidiennes du client; ainsi toute erreur pourra avoir un impact financier et compromettra la confiance du client. Pour éviter tout risque, FreelanceModule rédige un "document d'installation et d'intégration" qui décrit en détail toutes les étapes d'installation de l'application mais aussi toutes les précautions à prendre pour éviter tout incident avec les autres systèmes en production du client.
4- Qualification
Afin de nous assurer que l'application développée est conforme aux spécifications, FreelanceModule entame la phase de qualification basée sur le "document d'acceptance" qui contient principalement une description de tests et les résultats attendus à la suite de chaque test.
Nous distinguons entre deux types de tests: les tests fonctionnels concernent les services métiers décrites directement par notre client et les tests non-fonctionnels qui traitent les aspects de sécurité et de performance de l'application.
Toutes les erreurs constatées sont communiquées au développeur pour livrer de nouvelles release. Toutefois, après une certaine durée de la qualification, si les dysfonctionnements relevés ont un impact mineur sur le fonctionnement du logiciel, nous pouvons convenir avec le client de déclarer l'acceptance du logiciel avec des réserves à résoudre dans un délai défini à l'avance.
5- Documentation et Formation
Sous estimée par certains acteur, la documentation constitue une étape importante dans le projet. Dans notre cas, on s'assure que tous les documents élaborés dans les étapes précédentes sont remis au client dans leur dernière version révisée et complète, à savoir:
L'étude de faisabilité
Le cahier de charges
Les spécifications techniques
Document d'installation et d'intégration
Document d'acceptance
Code source de l'application
Outre ces documents, un "manuel d'administration et d'utilisation" est fourni au client afin de gérer au mieux l'application. FreelanceModule prévoit également une formation sous forme de workshop, pour s’assurer que le client est autonomme dans la gestion opérationnelle du site.
6- Maintenance & Wemastering
Une fois le site est lancée, il reste en période de garantie tel prévu par le cahier de charges. Dépassé cette période, le client a le choix de gérer lui même un ensemble d'activités nécessaires pour le maintien du site:
- Sauvegarde des fichiers et de la base de données.
- Mise à jour de sécurité.
- Ajout du contenu.
- Gestion des utilisateurs.
- Suivi de la fréquentation du site.
- Correction de bugs applicatifs.
FreelanceModule propose à cet effet un "contrat de maintenance" qui définissent d'une façon rigoureuse la qualité de service, couramment appelé SLA (Service Level Agreement) et qui apporte également au client l'avantage d'introduire de nouvelles fonctionnalités dans son site.
Conclusion
Avec le respect de ces différentes phases, FreelanceModule assure à la fois un produit de qualité mais aussi la satisfaction du client qui est le garant de la pérennité de notre modèle d'activité.