Les coulisses de fabrication d’un logiciel sur-mesure


Publication le

La fabrication d’un logiciel sur-mesure nécessite un véritable savoir-faire pour comprendre les besoins du client et les retranscrire fidèlement sous la forme d’une application à la fois facile, agréable et performante à l’utilisation.

Recueil des besoins du client

La fabrication d’un logiciel sur-mesure nécessite au préalable le recueil précis des besoins du client. Selon l’étendu des fonctionnalités souhaitées, il est souhaitable de construire le logiciel en plusieurs cycles.

Entretien avec le client

Cela consiste à rencontrer en direct le client dans les locaux de sa société.
L’entretien s’effectue autant que possible en présence des futurs utilisateurs de l’application.

C’est le client qui doit s’exprimer majoritairement pendant la réunion. Notre rôle en tant que fabricant de logiciels, est d’écouter de manière active par la prise de notes détaillées, les attentes du client pour son futur logiciel.

Quant à nous, nous n’intervenons pendant l’entretien que pour demander des précisions sur les fonctionnalités souhaitées.
Et si c’est nécessaire, nous conseillons, réorientons ou même alertons sur les risques, les difficultés ou conséquences à la réalisation de certaines fonctionnalités demandées.

La réussite de cette étape est cruciale pour la suite du projet logiciel. En effet, des besoins mal qualifiés à la source conduisent irrémédiablement à la fabrication d’un logiciel inadapté.

Compte-rendu des fonctionnalités demandées

Chaque séance de travail avec le client en phase de recueil des besoins se concrétise systématiquement par la rédaction d’un compte-rendu de synthèse des fonctionnalités demandées.

A noter que ce compte-rendu ne fournit pas de solution technique pour répondre aux besoins du client. Autrement dit, il doit rester à un haut niveau de description. Par exemple, « l’utilisateur doit pouvoir enregistrer la liste des matériels … Un matériel se caractérise par une désignation, une référence et une date d’acquisition … ».

Après rédaction, nous transmettons le compte-rendu aux participants de la réunion. Généralement, nous demandons une validation explicite du compte-rendu. Autrement, nous considérons le compte-rendu validé de manière implicite après dépassement du délai accordé pour soumettre les corrections et les retours.

Finalement, les compte-rendus serviront de support de travail à l’étude et au chiffrage du projet logiciel.

Découpage du projet en plusieurs cycles

Nous proposons à nos prospects qui y sont favorables, de réaliser leur logiciel en plusieurs cycles. Cela sécurise leur projet en garantissant au maximum une adéquation du logiciel à leurs attentes.

Cela est d’autant plus souhaitable quand le périmètre du projet est étendu. En effet, l’objectif de la démarche consiste à livrer au plus tôt une première version du logiciel limitée en fonctionnalités.
En pratique, cette première version, qualifiée de prototype, suffisamment représentative des fonctionnalités attendues, doit permettre au client d’évaluer si le logiciel pourra lui convenir ou non dans sa version finalisée. Elle permet par ailleurs de corriger le tir si le résultat est assez éloigné de ce que le client envisageait.

C’est la raison pour laquelle nous proposons la formule ECO, idéale pour la fabrication d’un premier prototype avec une prise de risque financière limitée.

Après livraison d’un premier prototype et à chaque livraison d’une version suivante, nous posons la question de savoir si les fonctionnalités proposées sont suffisamment avancées pour envisager une utilisation du logiciel en conditions réelles.

Le premier prototype peut suffire au client pour décider de déployer la version suivante auprès de ses utilisateurs en situation réelle.

La réalisation d’un prototype et de ses versions suivantes fait systématiquement l’objet d’une étude et d’un chiffrage.

Étude et chiffrage du projet logiciel

Le chiffrage de la fabrication d’un logiciel sur-mesure nécessite au préalable d’analyser les besoins recueillis auprès du client et de valider leur faisabilité.
Cette phase peut inclure la réalisation d’une maquette des fonctionnalités les plus sensibles et les plus complexes.
Le chiffrage de l’application sur-mesure, remis au client sous la forme d’un devis, comprend généralement les rubriques suivantes.

L’analyse et conception

Il s’agit de la charge d’étude indispensable pour bâtir une application cohérente et bien conçue. Par analogie avec les métiers du bâtiment, la construction d’une maison nécessite l’élaboration d’un plan d’architecture, le choix des matériaux, l’étude des contraintes du sol et de l’environnement, etc. Cette charge peut représenter jusqu’à 30% du coup de fabrication global de l’application.

Le développement logiciel

C’est la fabrication proprement dite du logiciel. Cette phase comprend de la conception technique, du codage logiciel et des tests des fonctionnalités demandées. Ce chiffrage est réalisé avec soin et doit être très détaillé pour chaque fonctionnalité à réaliser. Ainsi le développeur peut concentrer ses efforts exclusivement sur la mise en œuvre technique.

Les prestations complémentaires

Pour finir, le chiffrage inclut également d’autres prestations qui sont l’installation, le chargement d’anciennes données, l’hébergement internet, la formation, l’assistance technique et l’extension de garantie.

Conception technique et fabrication du logiciel

La conception technique et fabrication du logiciel correspondent à la phase la plus technique du projet.
Le point de départ est le modèle d’application qui constitue les fondations de la future application du client. Ce modèle d’application fait l’objet de recherches et développements continus pour proposer une solution logicielle en phase avec les tendances du marché et dotée d’une sécurité élevée pour parer les cyberattaques.

Nous utilisons de multiples outils pour fabriquer l’application. Les plus importants sont :

  • l’Environnement de Développement Intégré (Integrated Development Environment en Anglais) qui est un outil spécialisé pour coder et tester l’application.
  • Un navigateur internet (Chrome ou Firefox). En effet, vous ne le saviez peut être pas mais le navigateur internet que vous utilisez tous les jours pour surfer sur internet inclut des outils de développement très puissants, indispensables au développeur de sites ou applications web.
  • Un outil de génération de code : cet outil que nous avons créés au sein de l’entreprise, permet d’accélérer le développement, fiabiliser et uniformiser le code logiciel de l’application.

Grâce à cet environnement de développement, nous personnalisons le modèle d’application en ajoutant une à une les fonctionnalités commandées par le client. Quant au navigateur et ses outils de développement, ils nous aident à diagnostiquer et mettre au point toute la partie visible de l’application.

A noter que nous développons nos logiciels sous GNU/Linux (et non sous Microsoft Windows) car il s’agit du système d’exploitation de l’hébergement internet sur lequel ils sont finalement installés. Ainsi, nous avons l’assurance que le logiciel fabriqué dans notre environnement de développement est totalement compatible avec son environnement cible d’exécution.

La conception technique intervient continuellement dans cette phase technique du projet. Elle est préalable au codage des fonctionnalités les plus complexes. Elle est indispensable pour optimiser le code de l’application, la base de données et le trafic de données échangées sur le réseau internet.

Pour finir, dans la démarche de qualité qui nous anime, nous effectuons des tests pour chaque fonctionnalité développée et en fin de fabrication complète de l’application.

Livraison du logiciel

La livraison consiste à ouvrir un hébergement internet, à installer, configurer et tester le logiciel en conditions réelles d’utilisation.

Ouverture de l’espace d’hébergement

Une fois l’application fabriquée et testée sur notre plateforme de développement, nous ouvrons un espace d’hébergement pour le stockage de son code logiciel et pour en assurer son exécution.
Cet hébergement stocke également les données, les photos et documents chargés dans l’application.

Concernant l’espace disque alloué à l’hébergement, il dépend de la formule retenue et des besoins spécifiques du client. Le client peut demander l’augmentation de cet espace disque si besoin.

A noter également que l’ouverture de l’hébergement inclut la création d’une base de données pour stocker les données saisies dans l’application.

Installation du code et de la base de données

Après ouverture de l’espace d’hébergement, nous copions le code du logiciel. Nous compressons une partie du code de l’application avant installation pour optimiser son fonctionnement sur le réseau internet.

Par ailleurs, nous installons les tables de l’application (structures de données spécifiques à l’application) dans la base de données et chargeons les données minimales de fonctionnement de l’application.

Configuration de l’application

Pour finaliser l’installation, nous configurons l’application pour qu’elle communique avec la base de données de l’hébergement.
Ensuite, nous créons les principaux comptes utilisateurs pour permettre au client de se connecter à l’application.
D’autre part, nous configurons le déclenchement périodique des tâches de l’application (envoi de SMS, nettoyage des sessions utilisateurs, etc.).
Enfin, nous configurons le stockage des sessions utilisateurs pour garantir des conditions optimales de sécurité.

Test finaux

Une fois l’application prête à une utilisation en conditions réelles, nous effectuons une dernière série de tests pour nous assurer que le logiciel est prêt à être utiliser dans les meilleures conditions par le client.

Accompagnement post-livraison

Une fois le logiciel livré, nous formons le client sur site pour une prise en main efficace et réussie. Les applications que nous développons sont intuitives à l’utilisation et ne nécessitent généralement pas plus de 3 ou 4 heures de formation.

En complément nous proposons aux clients qui le souhaitent, la souscription d’un contrat d’assistance technique. Grâce à ce contrat, le client dispose d’une assistance téléphonique à l’utilisation du logiciel et en cas de panne du logiciel.

Pour la prise en charge prioritaire des dysfonctionnements logiciels au-delà de la période de garantie, nous proposons également la souscription d’un contrat de maintenance.