Des applications conçues autour de votre métier
Toutes les entreprises finissent par développer leurs propres manières de travailler.
Un fichier Excel devient indispensable. Plusieurs personnes saisissent les mêmes informations dans différents outils. Des données sont copiées d’un logiciel à un autre. Des emails servent à suivre des dossiers. Des tableaux sont maintenus manuellement. Certaines opérations dépendent de la mémoire d’une personne.
Cela fonctionne.
Jusqu’au moment où cela ne fonctionne plus.
À l’Agence des Nouveaux Médias, nous concevons des applications métier et outils web sur mesure pour organiser les données, simplifier les processus et automatiser les tâches qui peuvent l’être.
L’objectif n’est pas de développer un logiciel complexe pour remplacer un processus simple.
L’objectif est de construire l’outil dont votre organisation a réellement besoin.
Qu’est-ce qu’une application métier ?
Une application métier est un outil conçu pour répondre à un besoin particulier d’une entreprise ou d’une organisation.
Contrairement à un logiciel généraliste, elle est construite autour de vos données, de vos règles et de votre manière de travailler.
Elle peut être très simple.
Par exemple, centraliser des demandes reçues depuis plusieurs formulaires et permettre de suivre leur traitement.
Elle peut également devenir beaucoup plus complète : gérer plusieurs dizaines de milliers de fiches, différents types d’utilisateurs, des droits, des abonnements, des paiements, des imports de données et des processus automatisés.
La complexité de l’outil doit rester proportionnée à la complexité du besoin.
Quand développer un outil métier ?
Un développement spécifique peut devenir pertinent lorsque vous constatez par exemple que :
- les mêmes informations sont saisies plusieurs fois ;
- plusieurs fichiers contiennent des versions différentes d’une même donnée ;
- certaines tâches sont répétées manuellement chaque jour ;
- votre équipe travaille avec de nombreux tableurs devenus difficiles à maintenir ;
- les informations sont dispersées entre emails, fichiers et logiciels ;
- votre logiciel actuel ne correspond pas réellement à votre fonctionnement ;
- vous avez besoin d’un tableau de bord spécifique ;
- plusieurs personnes doivent intervenir sur un même processus ;
- vous souhaitez proposer un nouveau service en ligne ;
- vos outils doivent communiquer entre eux.
Dans ces situations, une application métier peut permettre de centraliser, structurer et automatiser une partie du fonctionnement de l’organisation.
Partir du processus, pas du logiciel
Avant de développer, nous cherchons à comprendre comment vous travaillez aujourd’hui.
Quelles informations entrent dans le système ?
Qui les saisit ?
Qui doit pouvoir les consulter ?
Quelles décisions sont prises ?
Quelles opérations sont répétitives ?
Quelles informations doivent être conservées ?
Qu’est-ce qui provoque aujourd’hui des erreurs ou des pertes de temps ?
Et surtout :
qu’est-ce qui doit réellement être amélioré ?
Cette phase est essentielle.
Informatiser un mauvais processus ne le rend pas nécessairement meilleur.
Parfois, simplifier le processus avant de l’automatiser constitue déjà une partie de la solution.
Centraliser vos données
Une application métier peut devenir le point central d’informations aujourd’hui dispersées.
Selon le projet, elle peut gérer :
- clients ;
- prospects ;
- utilisateurs ;
- dossiers ;
- demandes ;
- produits ;
- prestations ;
- documents ;
- événements ;
- contacts ;
- factures ;
- abonnements ;
- historiques ;
- données provenant de sources externes.
L’objectif est d’éviter que plusieurs versions contradictoires d’une même information circulent dans l’organisation.
Une donnée correctement structurée peut ensuite être recherchée, contrôlée, analysée et réutilisée.
Créer des interfaces adaptées à chaque utilisateur
Tout le monde n’a pas besoin de voir la même chose.
Une application peut proposer différentes interfaces selon les utilisateurs :
- administration ;
- collaborateurs ;
- clients ;
- partenaires ;
- prestataires ;
- visiteurs.
Chaque profil peut disposer de droits adaptés.
Un collaborateur peut modifier certaines informations sans accéder aux paramètres techniques.
Un client peut consulter uniquement ses dossiers.
Un administrateur peut superviser l’ensemble.
Les droits d’accès font partie de la conception de l’application, pas d’un réglage ajouté à la fin.
Construire des workflows
De nombreux processus suivent une succession d’étapes.
Par exemple :
demande reçue → qualification → attribution → traitement → validation → clôture.
Une application métier peut matérialiser ce processus.
Chaque dossier possède alors un état, un historique et éventuellement un responsable.
Le système peut vérifier certaines conditions avant de passer à l’étape suivante et signaler les dossiers qui nécessitent une intervention.
Cette structuration permet de savoir beaucoup plus facilement :
- ce qui est en attente ;
- ce qui est en cours ;
- qui doit intervenir ;
- depuis combien de temps ;
- et ce qui bloque.
Des tableaux de bord réellement utiles
Un bon tableau de bord ne consiste pas à afficher le plus grand nombre possible de graphiques.
Il doit répondre rapidement aux questions que se pose l’utilisateur.
Combien de dossiers sont en attente ?
Quelles opérations nécessitent une validation ?
Quelles anomalies ont été détectées ?
Quels objectifs sont atteints ?
Que s’est-il passé depuis hier ?
Nous concevons les tableaux de bord à partir des décisions qu’ils doivent permettre de prendre.
Un indicateur qui ne conduit jamais à une action mérite probablement de ne pas occuper l’écran.
Importer et synchroniser des données
Une application peut recevoir des informations provenant de fichiers ou de services externes :
- CSV ;
- tableurs ;
- bases de données ;
- API ;
- catalogues publics ;
- logiciels métier ;
- autres plateformes.
Mais importer des données ne consiste pas simplement à ajouter des lignes dans une base.
Il faut souvent déterminer si l’information existe déjà, si elle a changé, si elle est suffisamment fiable et ce qu’il faut faire lorsqu’une correspondance est incertaine.
Pour les imports sensibles, nous pouvons prévoir :
- zone de staging ;
- détection des doublons ;
- rapprochement avec les données existantes ;
- prévisualisation des changements ;
- liste des créations potentielles ;
- liste des modifications ;
- détection des ambiguïtés ;
- journalisation ;
- validation avant application.
Une synchronisation automatique ne doit pas devenir une machine à dégrader silencieusement les données.
Automatiser les tâches répétitives
Une fois les données et les processus structurés, certaines opérations peuvent être automatisées.
Par exemple :
- envoyer une notification ;
- préparer un document ;
- déclencher une relance ;
- mettre à jour un statut ;
- contrôler une information ;
- générer un rapport ;
- synchroniser deux systèmes ;
- signaler une anomalie ;
- programmer une opération ;
- préparer une campagne emailing ou SMS.
L’automatisation peut être totale pour les opérations prévisibles ou nécessiter une validation humaine pour les actions plus sensibles.
Découvrir notre approche de l’automatisation
Intégrer l’intelligence artificielle lorsqu’elle apporte quelque chose
Une application métier peut également utiliser l’intelligence artificielle.
Elle peut par exemple aider à :
- analyser des documents ;
- classer des demandes ;
- résumer des informations ;
- extraire des données d’un texte ;
- rechercher dans une documentation ;
- rapprocher certaines informations ;
- préparer une réponse ;
- détecter des éléments nécessitant une vérification.
Mais une règle métier déterministe reste souvent préférable lorsqu’une réponse exacte peut être calculée de manière traditionnelle.
Nous utilisons l’intelligence artificielle pour les problèmes auxquels elle apporte une meilleure réponse, pas pour remplacer inutilement du code classique.
Connecter l’application à votre environnement
Une application métier doit souvent communiquer avec d’autres outils.
Selon les possibilités techniques, nous pouvons travailler avec :
- site internet ;
- CRM ;
- messagerie ;
- agenda ;
- système de paiement ;
- solution emailing ;
- SMS et VMS ;
- stockage documentaire ;
- cartographie ;
- services d’intelligence artificielle ;
- API métier.
Cette interconnexion permet notamment d’éviter les doubles saisies.
Une information reçue par un système doit pouvoir être transmise automatiquement aux autres outils qui en ont besoin.
Garder une trace de ce qui se passe
Pour certaines applications, il est important de pouvoir comprendre ce qui s’est passé.
Qui a modifié cette information ?
Quand ?
Quelle donnée existait auparavant ?
Un import a-t-il modifié la fiche ?
Une automatisation a-t-elle été exécutée ?
Pourquoi une opération a-t-elle été refusée ?
Nous pouvons intégrer différents niveaux d’historisation et de journalisation selon les enjeux du projet.
Cette traçabilité devient particulièrement importante lorsqu’une application exécute automatiquement des opérations sur des données métier.
Sécurité et données
Une application métier peut contenir des informations importantes ou confidentielles.
La sécurité doit donc être adaptée aux risques.
Nous travaillons notamment sur :
- authentification ;
- droits d’accès ;
- validation des données ;
- protection des formulaires ;
- mises à jour ;
- sauvegardes ;
- journalisation ;
- configuration de l’hébergement ;
- limitation des informations exposées publiquement.
Lorsque des données personnelles sont traitées, leur collecte et leur conservation doivent également être pensées en fonction des besoins réels et des obligations applicables.
Collecter une donnée parce qu’elle pourrait éventuellement servir un jour n’est pas une bonne stratégie.
Construire progressivement
Un projet métier peut rapidement devenir ambitieux.
Nous privilégions donc souvent une construction progressive.
Nous identifions d’abord le cœur du besoin.
Nous développons une première version permettant de traiter correctement les fonctions essentielles.
Nous la confrontons à l’utilisation réelle.
Puis nous améliorons et ajoutons les fonctionnalités nécessaires.
Cette approche permet d’éviter de consacrer plusieurs mois à développer des fonctions dont personne ne se servira réellement.
Développer moins au départ peut permettre de construire beaucoup mieux ensuite.
Faire évoluer l’application
Une application métier n’est généralement pas figée.
Les procédures changent.
De nouveaux utilisateurs arrivent.
De nouvelles données deviennent disponibles.
De nouveaux services doivent être connectés.
Une réglementation peut évoluer.
L’architecture doit donc permettre d’ajouter des fonctionnalités sans remettre systématiquement en cause tout ce qui existe.
C’est pourquoi nous cherchons à séparer autant que possible :
- données ;
- logique métier ;
- automatisations ;
- interface ;
- composants spécifiques.
Une application bien conçue doit pouvoir évoluer avec le métier qu’elle accompagne.
SPIP comme socle métier
Pour certains projets, nous pouvons utiliser SPIP comme socle de l’application.
Ses capacités éditoriales, son système de plugins, ses objets, ses autorisations et son architecture extensible permettent d’aller beaucoup plus loin qu’un site de publication classique.
Pour d’autres projets, une architecture différente sera préférable.
Là encore, la technologie est choisie après le besoin.
Du besoin métier au produit numérique
Certaines applications développées pour répondre à un besoin peuvent progressivement devenir de véritables produits.
Un outil utilisé en interne peut être proposé à des clients.
Une base de données peut devenir un service.
Un processus spécifique à une profession peut devenir une plateforme métier.
C’est également cette logique qui nous conduit à développer nos propres plateformes métiers et outils numériques.
Vous avez encore un fichier Excel qui fait tourner l’entreprise ?
Ce n’est pas nécessairement un problème.
Excel est un excellent outil.
Mais lorsqu’un fichier devient indispensable, qu’il est utilisé simultanément par plusieurs personnes, qu’il contient des dizaines d’onglets ou que personne n’ose plus modifier certaines formules, il est peut-être temps d’étudier une autre solution.
De même, si vos équipes recopient quotidiennement des informations d’un outil vers un autre, une partie de ce travail peut probablement être évitée.