jeudi 29 octobre 2020

Remplacer un fichier Excel devenu ingérable

La preuve par l'exemple : découvrez comment remplacer un fichier Excel ingérable par une application entièrement sur-mesure, à moindre coût et qui a de la gueule :) !!


Avec un peu de retard (la COVID est passée par là et m'a mis une petite gifle au passage), je voulais vous présenter cette fameuse application dont je parle dans mon précédent article Excel est néfaste pour votre système d'information.

Cette application se nomme DAM (j'y reviendrai plus tard pour expliquer le nom) et permet :
  • Le suivi des ventes des commerciaux
  • La calcul des commissions de vente en temps-réel
  • La visualisation du catalogue des produits vendus par la société
  • Le pilotage par tableau de bord du service commercial

Et voici comment elle est née
L'entreprise qui l'a commandée avait pour objectif de se passer de son fameux fichier Excel de suivi des ventes et de calcul des commissions parce que, comme beaucoup d'entreprises qui utilisent Excel pour combler les lacunes de son système d'information, elle s'est très vite heurtée aux limites de l'exercice Excel :
  • difficultés dans sa maintenance : c'était le service commercial directement qui gérait le fichier et autant vous dire que l'informatique n'était vraiment pas leur métier...
  • difficultés dans la validité des données : pour déclarer les ventes, le fichier possédait la liste des produits "vendables" ainsi que la liste des clients. Evidemment, ces listes étaient des copies des vraies listes qui se trouvaient dans le CRM. Donc forcément il y avait des écarts...
  • difficultés dans l'exploitation des données pour le pilotage : les graphiques Excel doivent être alimentés par un jeu de données (Tableau, TCD). Les possibilités de requêtage restent très limitées.

Les objectifs étaient donc clairs :
  • pas de double-saisie
  • pas de maintenance des référentiels de données (liste des clients et liste des produits)
  • calcul des commissions selon les règles exactes de l'entreprise
  • graphiques sur-mesure pour correspondre parfaitement aux KPI de l'entreprise
  • très simple d'utilisation (pas de formation, comme une appli mobile)
  • en gros tout ce qui était pénible à gérer sous Excel

C'est ainsi que 3 jours de développement plus tard (oui, 3 jours !) est née DAM. Dans sa première version, l'application était capable de :
  • faire le suivi des ventes
  • calculer les commissions de vente
  • visualiser la liste des clients et produits
  • présenter les données dans quelques graphiques de base

2 jours de développement supplémentaires et l'application était terminée :
  • elle savait synchroniser la liste des clients et des produits avec le CRM, donc plus d'écart possible avec le CRM.
  • elle savait présenter les données de manière poussée, avec un suivi d'objectif et une projection sur l'exercice comptable
Il aura donc fallut 5 jours de développement pour remplacer ce fichier Excel. Cela comprend bien évidemment la mise en place de l'environnement, la gestion des utilisateurs autorisés à se connecter à l'application et les fonctionnalités évoquées juste au-dessus.
Je ne vous ferai pas l'affront de vous mettre des captures du fichier Excel. Mais laissez-moi vous présenter plutôt DAM.

Petit aparté : comme le service commercial "donne à manger" au reste de l'entreprise et que l'application était pour eux, c'est tout naturellement qu'on l'a appelée DAM (Donne A Manger). Et oui, le côté artistique du développeur est limité :D !

Et voici à quoi elle ressemble
Quelques captures histoire de matérialiser la chose. Les noms et les valeurs ont été volontairement masquées

Connexion sécurisée



Vue globale sur les vente




Graphique des commissions de vente :










Suivi du CA de vente et des objectifs

















Détail des ventes par mois et par commerciaux



















Et voici la conclusion
Avec un budget restreint (quelques jours de développement), grâce aux technologies actuelles il est tout à fait possible de construire une véritable application sur-mesure, qui colle parfaitement à l'organisation de la société pour laquelle elle est conçue et qui est facilement maintenable. Ca serait dommage de s'en priver :) !!!

Pour aller plus loin : La méthode RAD

jeudi 1 octobre 2020

La méthode RAD (Rapid Application Development), à quoi ça sert ?

Découvrez la méthode rapid application development (RAD) pour épater la galerie en livrant des applications en quelques semaines, voir quelques jours.



     Cette méthode de développement ne date pas d'hier (comme souvent lorsqu'on parle de méthodes). Elle a été créée par James MARTIN en 1991. Il s'agit d'une forme de méthode agile. Et comme toutes les méthodes agiles, elle consiste principalement en de courtes itérations qui permettront de rapidement produire un résultat en étroite collaboration avec le client et les développeurs.


A quoi ça sert ?

Cette méthode a été conçue à l'origine pour produire rapidement des applications de manière fiable tout en évitant les dérives fonctionnelles, grâce notamment aux itérations très rapides.
Cela implique bien évidemment un investissement du client et des équipes de développements qui doivent être disponibles à toutes les phases de construction de l'application.

Les principaux avantages sont les suivants :
  • Améliore la flexibilité et la tolérance aux changements puisque les développeurs peuvent opérer rapidement des ajustements pendant la phase de développement
  • De courtes itérations qui permettent de livrer rapidement et de réduire les développements
  • Une réutilisation du code existant poussée au maximum. Réduisant ainsi la quantité de code développée, le temps de test et les erreurs.
  • Améliore la satisfaction client qui voit quasi en temps-réel son application se matérialiser et se sent impliqué dans sa construction.
  • Limite la dérive fonctionnelle puisque le client est impliqué très tôt dans le cycle applicatif

En quoi ça consiste ?

1ere étape : à quelles problématiques doit répondre l'application

Cette étape est primordiale puisque c'est elle qui va déterminer la trajectoire de départ de la future application. Elle consiste à déterminer les objectifs fonctionnels, les attentes des utilisateurs, le périmètre, les grandes échéances ainsi que le budget. Une fois ces éléments déterminés, la phase itérative peut débuter

2eme étape : construction du prototype de manière itérative

Les développeurs et le client vont travailler étroitement ensemble pendant cette phase de création. Il s'agit de produire rapidement quelque chose de visible pour le client pour que celui-ci puisse déjà faire ses retours afin que les développeurs ajustent. Et on recommence jusqu'à être proche du produit final.

3eme étape : tests, re-tests et re-re-tests

Aucune méthode de développement ne nous affranchi des tests. A ne pas sous-estimer car c'est l'ultime étape avant le déploiement auprès des utilisateurs finaux. Cette phase vise notamment à s'assurer que les attentes du client sont bien satisfaites. Cette phase dure tant qu'il y a des retours du clients et les tests que ça implique.

4eme étape : déploiement auprès des utilisateurs

Il est désormais temps de livrer l'application. Cette phase englobe tout ce qui concerne la reprise de données d'un éventuel ancien système, la formation des utilisateurs, etc.


Cas d'utilisation de la méthode RAD

Celui qui vous dit qu'en appliquant cette méthode il peut vous produire un ERP en quelques jours, fuyez-le de toutes vos forces. Car comme vous vous en doutez, cette méthode sera efficace dans un certain nombre de cas de figures, mais pas dans tous.

Elle sera d'autant plus efficace si vous êtes concernés par les points suivants :
  • Vous avez besoin de produire une application rapidement (dans les 2 à 3 mois maximum)
  • Vous êtes prêt à vous rendre disponible fonctionnellement pendant toute la phase itérative
  • Vous êtes prêt à utiliser les bons outils et les bonnes technologies pour mettre en œuvre la méthode RAD

Voici quelques cas d'utilisation où RAD est particulièrement efficace
  • remplacement de fichiers Excel qui font office de base de données, d'implémentation de process ou tout autre but plus compliqué qu'une simple utilisation "one shot"
  • création d'une application d'opportunité : pour produire rapidement une solution qui vous permettra de concrétiser une opportunité commerciale
  • exploitation de données sous forme de tableau de bord de pilotage ou de présentation
  • partage de données de votre SI avec des partenaires, des clients : application de pré-facturation, application de passage de commande, mise à disposition de factures, etc.
  • étendre le système d'information en lui rajoutant des fonctionnalités qui vous conviendront parfaitement
  • plus globalement, toute application simple et dont il est facile d'en expliquer les fonctionnalités

Cette liste n'est bien évidemment pas exhaustive. Et pour être encore plus concret, voici quelques exemple d'applications que j'ai réalisé avec cette méthode :
  • application de gestion des ventes : pour permettre aux commerciaux de déclarer leurs ventes et toucher leurs commissions.
  • application de gestion d'exploitation : pour permettre aux exploitants de réaliser leurs opérations en fonction des commandes clients et de déclencher la facturation une fois réalisées
  • application de suivi terrain : suivi des interventions sur site avec saisie des comptes-rendus et des temps
  • application de dématérialisation des documents : mise à disposition des documents dans une base documentaire accessible en ligne
  • application de prise de commandes : portail client de prises de commandes en ligne
  • application de gestion de projets : implémentation de la méthode de gestion de projet spécifique au client et en lien avec son système d'information
  • application de pilotage : tableaux de bord financier, commerciaux et d'exploitation pour l'aide au pilotage de l'entreprise
  • application de suivi budgétaire : construction du budget de l'entreprise et suivi au fil de l'exercice

Cette liste n'est également pas exhaustive. Je n'ai mis que les exemples qui me sont venus en tête :) ! En fait, les cas sont trop nombreux pour qu'on les liste.

J'imagine que désormais vous serez en mesure d'estimer si c'est cette méthode qu'il vous faut pour concrétiser votre projet d'application ;) !

lundi 28 septembre 2020

Excel est néfaste pour votre système d'information

A mort Excel!


Est-ce que vous vous êtes déjà demandé si Excel, aussi utile soit-il, n'était pas finalement néfaste pour votre entreprise ? Je parie que non, car qui pourrait se douter qu'Excel, qui nous rend tellement de services au quotidien, est en fait un loup déguisé en mouton et que vous lui avez gentiment ouvert la porte de votre bergerie.

Comme c'est mon premier article, le but est simplement d'essayer de montrer en quoi Excel peut-être un problème, voir un frein, dans votre société. Et que remplacer ces fichiers par des applications dignes de ce nom est indispensable. Dans mes prochains articles on ira dans le concret pour voir comment on peut se faciliter la vie grâce à la digitalisation.

Lorsqu'il faut créer rapidement un fichier clients, une liste de distribution, faire un graphique, etc, Excel est parfait ! Mais les problèmes commencent lorsqu'on veut partager les données stockées, qu'on veut implémenter un process ou alors lorsque ce fameux fichier Excel devient partie intégrante de votre système d'information. Autrement dit, lorsque votre fichier Excel est tellement sophistiqué qu'on pourrait le confondre avec un logiciel métier.

Au départ ça part d'une bonne intention, on commence par utiliser un seul onglet et quelques colonnes. Puis petit à petit on rajoute des colonnes, puis des onglets, puis on met des règles de saisie dans les cellules, puis on fait des formules de plus en plus compliquées, puis quand les formules ne suffisent plus on se met à faire des macros et sans s'en rendre compte on a construit une application métier complexe. Où est le problème me direz-vous, si le fichier rempli sa mission. Eh ben justement, on se retrouve face aux problèmes suivants (ceux qui le vivent se reconnaîtront :p) :

  • je modifie le fichier pour m'apercevoir, après 3h de boulot, que je n'étais pas sur la bonne version. Aïe !
  • j'ai voulu mettre à jour la formule en C4, j'ai déjà mis 1h pour la comprendre et ensuite je l'ai cassé en voulant la modifier. Et hop, 1h de plus pour rétablir car bien sûr je n'avais pas de sauvegarde
  • c'est bizarre, j'arrive toujours à trouver une adresse dans la colonne "NumeroTel"
  • c'est bizarre, j'ai dit aux équipes que cette colonne était obligatoire et pourtant je trouve des lignes où la colonne est vide. Pourtant je l'ai dit plusieurs fois, CETTE COLONNE EST OBLIGATOIRE !
Bref, on se retrouve avec toutes les bêtes noires du développeur et de la maintenance :

  • pas de référentiel unique de données, uniquement des copies qu'il est difficile ensuite de merger en cas de conflit
  • une maintenabilité impossible qui fait que plus le temps avance, plus les modifications du fichier Excel deviennent longues, coûteuses et risquées
  • une intégrité des données impossible à garantir. Ou alors au prix de règles et formules complexes ou de macros impossibles à débuguer.
Et on peut retrouver ces problèmes dans toutes les tailles d'entreprises et tous les secteurs, pas de jaloux :p !! Bon, c'est vrai que dans les grandes entreprises on peut rajouter que les DSI, bien évidemment, n'ont pas la main sur ces pseudo applications Excel qui circulent en dehors de tout contrôle, ce qui peut poser un problème de sécurité et de confidentialité des données.

Vous ne me croyez pas ? Ok, ok, je sens que vous réclamez un exemple.
Dans une grande société où j'ai proposé mes services, il existait toute une multitude de fichiers Excel qui servait à l'administration des ventes pour le calcul des commissions des commerciaux. Accrochez-vous c'est Epic (dédicace à SCRUM). Chaque commercial devait remplir un fichier Excel avec ses ventes puis appuyer sur le bouton "Envoyer". Une série de macros s'exécutait et copiait les données de vente du commercial dans un fichier Excel régional (sur le répertoire partagé) pour que le responsable régional puisse vérifier les chiffres. Lorsque c'était fait, le responsable régional saisissait d'autres infos et faisait lui-même "Envoyer". Une autre série de macros s'exécutait et copiait les données dans un fichier Excel national. Je vous épargne la tête des macros et les formules de 4 lignes dans chaque fichier.
Un jour, en réunion avec le directeur commercial et le responsable ADV, quelqu'un a lancé l'idée saugrenue suivante : "Il faudrait que les commerciaux nous disent au bout de combien de contacts ils ont réussi à concrétiser la vente. Il faudrait aussi modifier la manière de calculer leurs commissions". Tout le monde s'est regardé dans le blanc des yeux. Non pas parce que la demande était non pertinente, mais parce que tout le monde savait très bien qu'il allait y avoir des larmes et du sang pour modifier cette triporté de fichiers Excel qui se basculent les uns dans les autres.
Conclusions : le directeur commercial a préféré ne pas faire évoluer son business à cause d'un fichier Excel devenu trop complexe.

La morale : lorsqu'Excel devient un frein à l'évolution de vos pratiques et de votre business, il faut le mettre à mort ! Car la technique ne devrait jamais vous freiner dans vos idées de conquêtes ou d'évolution des pratiques.
Et c'est ce qu'on a fait (bon en même temps c'est normal j'étais là pour ça :D), on a mis a mort tous ces fichiers Excel et on les a digitalisé dans une application sur-mesure. Résultat :
  • une intégrité des données garantie
  • une maintenabilité à toute épreuve (ça ne reste qu'une application qui calcul des commissions, on ne parle pas d'une application qui envoie des astronautes sur la lune hein)
  • une source de données unique et partagée par nature (c'est du Web)
  • tout se fait et se calcul automatiquement
  • et en bonus, on a gagné le temps réel
  • et le bonus du bonus, ça a quand même une autre gueule :D



Et dire qu'avant ils faisaient ça à la main...

Deuxième exemple.... non je plaisante j'arrête car si vous êtes arrivé jusqu'ici c'est déjà pas mal. Mais ce ne sont pas les exemples qui manquent.

J'espère que vous aurez compris que ce n'est pas Excel que je veux mettre à mort, mais certains de ses usages. On utilise souvent Excel pour pallier un manque des logiciels métiers déjà en place. Comme souvent, il vaut mieux investir un petit peu au départ pour être tranquille au long terme plutôt que de risquer de se retrouver piégé par une application Excel.

Quasiment toutes les sociétés développent un site web à leur image, un site web "sur-mesure". Ca ne leur viendrait pas à l'idée de se dire "Ce site web d'un confrère a l'air pas mal, ce n'est pas exactement ce que je veux mais on va le prendre tel quel". Excel est souvent utilisé pour implémenter des process internes car aucun logiciel métier ne pourra jamais s'adapter à 100% à votre façon de travailler. Pourtant, comme pour les sites web, vos process sont uniques et demandent donc un développement sur-mesure. C'est ça la digitalisation !

D'ailleurs, dans mon prochain article, je vous présenterai cette fameuse application dont je parle dans l'exemple ;) !! Et promis, il y aura des images :p. A la semaine prochaine.