Ces temps-ci, certains pensent que l’intelligence artificielle remplacera de nombreux emplois. Pourtant, des technologies matures depuis plusieurs décennies ne sont même pas utilisées quand elles peuvent augmenter la productivité fortement. J’en donne un exemple dans ce billet et avance quelques raisons qui pourraient expliquer cet état de fait. J’en profite aussi pour râler sur les manques causés par l’inculture informatique généralisée dans les entreprises.
L’exemple en question est celui du tableur utilisé pour stocker et analyser des données complexes, alors qu’une base de données relationnelle simple serait plus efficace pour répondre au même besoin.
- Que veut-on faire ?
- La solution avec tableur
- La solution avec base de données relationnelle
- Pourquoi le tableur persiste pour ce genre de tâches ?
Que veut-on faire ?
Systems Corp. est une entreprise imaginaire qui conçoit des sous-systèmes pour ses clients, qui les intègrent dans un système global.
Les données concernent principalement des documents, identifiés par leur référence et version. Ces documents :
- correspondent à différentes versions du système global ;
- sont applicables dans différentes versions des sous-systèmes ;
- l’utilisation dans un sous-système distingue l’utilisation prévue et l’utilisation effective.
Ces données peuvent :
- être connues a priori, comme c’est le cas des documents, de leurs références et versions ainsi que de la correspondance avec une version du système global ;
- résulter d’une analyse, comme l’utilisation dans un sous-système donné (le responsable du sous-système en décide) ou l’utilisation effective (déterminée au cours du développement).
Les besoins généraux sont :
- de savoir quels sont les documents applicables au développement d’une version donnée d’un sous-système donné dans le cadre d’une version du système global
- d’identifier les tâches de conception à effectuer pour une version d’un sous-système, à l’aide d’une analyse des différences par rapport à la version précédente
- de faire la synthèse de la différence entre le planifié et l’effectif.
Ce besoin est rempli si on arrive à répondre à des questions du type :
- quels documents sont applicables pour une version donnée du système ?
- quels documents ont été modifiés, ajoutés ou supprimés entre deux versions du système ?
- quels sont les documents applicables à un sous-système donné pour une version donnée du système ?
- quels documents ont été modifiés, ajoutés ou supprimés entre deux versions d’un sous-système ?
La solution avec tableur
La solution avec tableur peut prendre différentes formes, mais en général, il s’agit de tableaux assez simples avec une tendance au gigantisme. La structure des tableaux est influencée fortement par la structure des données imposée par le client.
Pour les versions du système global, on dispose de trois tableaux plus ou moins redondants contenant des documents et leur référence :
- un pour la première version ;
- un pour la deuxième version ;
- un troisième tableau avec des documents plus généraux et qui mélange des documents uniques et parfois présents dans les deux autres.
À partir de ces tableaux-là, il existe un tableau qui compare les deux premiers pour identifier les nouvelles versions des documents, mais ne permet pas d’identifier les documents qui sont nouveaux ou auraient été supprimés.
Pour savoir quels sont les documents applicables à un sous-système donné, il y a une extension d’un des tableaux précédents, mais c’est incomplet, puisque ce tableau n’est pas destiné à avoir la liste exhaustive des documents.
Si on veut comparer des versions de sous-systèmes, il faut extraire ces informations (y compris depuis un éditeur de texte qui contient des données historiques) à la main et faire des formules compliquées (voire quasi impossibles) avec Excel… puis les réimporter dans un traitement de texte puisque c’est le format des livrables officiels.
Globalement, il y a beaucoup de données présentes partout, redondées, recopiées, calculés manuellement, etc. Analyser des données et leurs relations est un job très adapté pour une base de données relationnelle !
La solution avec base de données relationnelle
Quand on analyse le problème, on se rend finalement compte qu’on a différentes entités qui sont en relation les unes avec les autres :
- pour les entités :
- les documents (référence, version, titre) ;
- les versions du système global (identifiant de version) ;
- les sous-systèmes (nom, description) et leurs versions associées ;
- les types d’applicabilité (prévue ou effective).
- les relations entre ses entités :
- l’applicabilité pour une version du système global ;
- l’applicabilité à un sous-système qui associe des documents à des sous-systèmes versionnés et possède un type.
Une fois toutes ces données saisies ou importées (notamment celles d’applicabilité qui doivent être analysées manuellement), on peut répondre avec des requêtes à toutes les questions qu’on se posait initialement.
Notamment, il est presque trivial :
- de connaître tous les documents d’une version globale du système ;
- de connaître les versions pour un sous-système versionné donné ;
- de voir les documents qui ont été applicables pour une version quelconque d’un sous-système.
Avec un peu de travail de réflexion, on a accès à des informations plus intéressantes. On peut pour un sous-système comparer deux versions et voir pour chaque document :
- s’il est nouvellement applicable ;
- s’il a été mis à jour ;
- s’il n’est plus applicable.
On peut aussi faire de même entre les documents dont l’applicabilité étaient prévues et ceux qui ont été effectivement appliqués.
En fonction de l’outil, ces informations sont exportables avec plus ou moins d’aisance et permettent de générer le cœur des livrables formels attendus. Il ne reste alors qu’à faire un peu de mise en forme au lieu de faire de la manipulation de données.
Pourquoi le tableur persiste pour ce genre de tâches ?
Quand les données sont au cœur de l’entreprise, on a des systèmes de base de donnée qui sont mis en place (facturation, comptabilité, logistique, clients). Pourtant, de nombreuses personnes ont des besoins pour des tâches ponctuelles et pas assez centrales pour ces grands systèmes. Ils pourraient tirer avantage de petites bases de données. Pourquoi ce n’est pas fait ?
Il y a des difficultés, il ne faut pas se leurrer. Une base de données nécessite :
- du temps de mise en place (gagné par ailleurs, mais les coûts d’entrées peuvent être bloquants) ;
- des compétences (identifier les bonnes entités et relations, écrire les requêtes…) ;
- il faut que l’outil soit autorisé (Access est installé par défaut chez nous).
Mais la raison principale selon moi est que peu de gens savent que ces technologies existent et sont utilisables par le commun des mortels une fois configurées.
En fin de compte, énormément de temps est perdu sur la manipulation manuelle des données de manière très dépendante de leur format. Autrement dit, on se sert des ordinateurs comme des machines à écrire numériques, alors que ce sont des machines qui excellent dans la manipulation d’information.
Ces petites bases de données peuvent faciliter la manipulation d’information de manière fiable, systématique et rapide, ainsi que proposer une source de vérité centrale sans avoir besoin de piocher dans des dizaines de documents incohérents.
Pour que ces usages se répandent, on pourrait avoir des opérationnels avec une culture informatique : des gens qui font partie d’une équipe métier, qui ont des compétences et une culture technique relativement importante et qui sont capables d’imaginer (voire développer) les outils qui augmenteraient la productivité de leur équipe à court et moyen terme.
On parle de révolution numérique (qui est plutôt la révolution des réseaux, les ordinateurs étant très répandus depuis bien longtemps), mais les entreprises ne tirent pas partie des possibilités offertes depuis plus de 30 ans par les ordinateurs. C’est bien dommage !
Pour bien des usages, l’ordinateur est utilisé tour à tour comme :
-
une calculatrice évoluée (tableur) ;
-
une machine à écrire numérique (traitement de texte) ;
-
une bête armoire numérique (classement de tous les documents dans de simples dossiers) ;
-
des listings numériques (tableur utilisé comme base de donnée).
On voit timidement dans des grands groupes des outils plus modernes et souples, mais ça reste généralement laborieux.