Pages

samedi 26 octobre 2013

Les bonnes pratiques en matière de fonctionnement des systèmes d'information

Dans un message précédant (Voir sur ce blog le message du 1er Août 2013 : « Les bonnes pratiques en matière de conception des systèmes d'information ») nous avons analysé les bonnes pratiques concernant la conception des systèmes d'information. Dans ce message nous nous efforceront d’identifier celles concernant le fonctionnement des systèmes d'information. Dans des messages à venir nous étudierons les bonnes pratiques des domaines suivants :
-       Le pilotage des évolutions des systèmes d'information 
Les modifications du système d'information se réalisent progressivement. Les évolutions se font dans la durée. Il est pour cela nécessaire de piloter enchaînement de ces opérations. La perte de contrôle de ce processus risque de se traduire par une dégradation du système d’information.
-       L'évolution des systèmes d'information
Les changements apportés au système d'information nécessitent une réflexion de type stratégique (reposant sur une vision à moyen terme), une démarche planifiée avec un positionnement des changements dans le temps et un contrôle des opérations effectuées.
Le fonctionnement des systèmes d'information concerne l’exécution des opérations courantes prises en charge par le personnel d’exécution ([1]) repose sur une vingtaine de bonnes pratiques. Il en existe peut-être d’autres mais elles sont moins importantes.

  1. 1.    Désigner un responsable du système d’information. Un système d’information peut concerner plusieurs départements ou divisions de l’entreprise. Ainsi, par exemple, le système d’information des achats implique le département achats mais aussi la production, les stocks, la comptabilité,... Plusieurs responsables peuvent intervenir sur le fonctionnement quotidien du système d’information. Pour éviter d’éventuels conflits il est nécessaire de désigner un responsable unique de l’ensemble du système d'information. Il a mission d’assurer le fonctionnement régulier du système d’information. Il doit superviser son fonctionnement et, en cas de dérive, intervenir rapidement et de manière efficace. Ce peut être un responsable métier ou de processus, un maître d’ouvrage,… C'est, généralement, un responsable hiérarchique car il est nécessaire qu’il ait une autorité suffisante pour prendre rapidement les décisions qui s’imposent afin d'assurer son fonctionnement régulier. 
  2. Contrôler l’ensemble du système d’information. La gestion opérationnelle d’un système d’information peut souvent être répartie entre plusieurs personnes. Ceci fait que des problèmes de coordination et de pilotage peuvent survenir. Il est, pour cela, nécessaire que le responsable du système d’information puisse suivre l'ensemble des activités placées sous sa responsabilité afin de détecter rapidement d'éventuels dysfonctionnements. Il doit avoir une vision d’ensemble du système d’information et pas seulement d’une partie de celui-ci. Un certain nombre d’indicateurs de gestion doivent être périodiquement suivis (quotidien, hebdomadaire, mensuel) et se retrouvent dans un tableau de bord. Il est notamment important de suivre des indicateurs de performances du système d’information.
  3. Alimenter une base de données mémorisant l’ensemble des opérations de façon à établir un tableau de bord de l’activité du système d’information. Le système d'informatique sous-jacent au système d’information doit disposer d’une base de données enregistrant le détail des opérations effectuées afin de produire à la demande un rapport analysant l’activité d’une période donnée. Le terme technique définissant cette base est « le log ». Périodiquement une synthèse est établie sous forme d'un tableau de bord. Les indicateurs suivis permettent de mesurer l’activité du système d’information et d’apprécier ses performances comme par exemple : le nombre d’opérations effectuées au cours d’un mois, le délai moyen de traitement d’une opération, le nombre d’opérations traitées par personne et par jour,...
  4.  Suivre le détail des opérations. Le système informatique sous-jacent au système d’information permet de suivre l’évolution du détail des opérations exécutées par le système d’information. Il est ainsi possible de remonter d’une opération finale à l’ensemble des événements qui sont à leur origine. Ainsi dans un système d’information assurant la gestion des ventes on doit pouvoir remonter de la facture au bon de livraison, à la sortie des stocks et finalement au bon de commande reçu du client. C’est la traçabilité des opérations. Il est pour cela nécessaire de garder toutes les informations intermédiaire nécessaires permettant de visualiser l'enchaînement des opérations.
  5. Garantir la sécurité des opérations et des bases de données. Un système d’information demande d’avoir un niveau de sécurité adapté au niveau des risques constatés. Ainsi, il est important de s’assurer que seules les personnes autorisées peuvent accéder aux données et aux traitements. S’il y a des risques ou des enjeux importants il est nécessaire de mettre en place des dispositifs de sécurité renforcés avec des authentifications fortes. Le responsable de la sécurité des systèmes d’information (RSSI) doit s’assurer que le niveau de sécurité du système d’information est satisfaisant. Si c’est nécessaire il peut se faire relayer par un administrateur de base de données sous le contrôle du responsable du système d’information.
  6. Auditer périodiquement le système d’information. Il est périodiquement important de s’assurer que le système d’information respecte les règles de contrôle interne de l’entreprise et que le management et les différentes parties prenantes ont une assurance raisonnable de son fonctionnement régulier et sans interruption. Ces contrôles doivent être effectués par des auditeurs expérimentés. Des fonctions de contrôles sont à la disposition des auditeurs notamment pour vérifier le contenu des principales bases de données. Pour cela ils doivent pouvoir effectuer des requêtes sur l’ensemble des bases de données du système d’information. On peut renforcer les dispositifs en mettant en place des contrôles continus (CCM : Continuous Control Monitoring) de façon à s’assurer en temps réel que les règles de contrôle internes sont respectés.
  7.  Enregistrer tous les incidents et les tentatives de forçage. Dans le cadre du fonctionnement régulier du système d’information il peut arriver que des incidents soient détectés (Voir le point 8 ci-dessous). Ils sont enregistrés de façon à pouvoir être ensuite analysé. Ce peuvent être aussi des tentatives de forçage, voire des fraudes. Tous ces incidents sont systématiquement enregistrés de façon à les identifier et les analyser afin de prendre des mesures pour éviter qu’ils ne puissent pas se reproduire.
  8. Enregistrer toutes les anomalies qui surviennent. Dans le cadre du fonctionnement normal du système d’information des anomalies peuvent survenir. Parmi celles-ci certains peuvent être dues à des erreurs de programme : les « bugs ». Ils doivent être rapidement corrigés. Mais il y a d’autres causes possibles d’anomalies : données inexactes, mauvaises manipulations, …. Elles sont normalement détectées par le système informatique mais certaines anomalies sont constatées par les personnes chargées des opérations courantes. Celles qui sont détectées par les systèmes informatiques sont automatiquement enregistrées. Les autres anomalies doivent être saisies manuellement par les personnes la constatant. Ensuite le principe des opérations est simple : toutes les anomalies constatées dans le cadre de fonctionnement du système d'information sont recensées, centralisées et analysées de façon à comprendre leur origine et pouvoir les corriger. 
  9.  Effectuer un suivi des anomalies constatées. La base de données des anomalies permet de les recenser de manière exhaustive. Une personne qualifiée va périodiquement les analyser et prendre, si c’est nécessaire, les mesures qui s’imposent. Dans certains cas il est possible d’effectuer ce suivi en temps réel ou en temps légèrement différé mais la plupart du temps ce travail est fait de manière asynchrone. Périodiquement on va mesurer le taux d’anomalies réelles observé et le délai moyen de résolution des problèmes constatés. Un tableau de bord des anomalies permet de mesurer leur nombre, celui des bugs détectés et qui sont ceux qui sont corrigés, l'avancement des corrections effectuées ainsi que le délai moyen de réalisation de ces corrections.
  10.  Vérifier le contenu des bases de données. Il doit être possible d’analyser le contenu de toutes les bases de données mis en œuvre par le système d’information afin de pouvoir vérifier leurs contenus et de s'assurer qu'elles ne comprennent pas de données inexactes. Il peut arriver que les données soient physiquement réparties sur plusieurs bases de données. Il est souhaitable de les voir comme si elles constituaient une seule base. Des fonctions intégrées ou un logiciel spécifique permettent d’effectuer des analyses, des sélections, des classements,… sur cet ensemble de données.
  11.  Mettre en place des contrôles suffisants. L’objectif est de s'assurer de la qualité de l’ensemble du système d’information : 
·       Les données saisies pour alimenter le système d'information doivent être contrôlées de manière exhaustive dès leur saisie. On doit s’assurer que toutes les données saisies sont effectivement contrôlées et que les bases de données ne sont pas mises à jour avec des données erronées. Lors de la saisie toute anomalie est immédiatement signalée pour être rapidement corrigée. Pendant ce temps, la mise à jour de la base de données est bloquée tant que les informations inexactes ne sont pas corrigées. Cette logique de contrôle s’applique aux opérations de saisie faites au clavier. Les mêmes contrôles sont effectués lors du transfert de données effectuées de manière automatique entre systèmes.
·       Les bases de données existantes doivent pouvoir être contrôlées à tout moment de façon à pouvoir détecter d’éventuelles anomalies. Il est ainsi possible de détecter des informations se trouvant en double dans les bases de données. De même il doit être possible de détecter des informations manquantes ou dégradées.
·       Les traitements effectués sont contrôlés de façon à détecter des erreurs qui pourraient concernées les données, l’exécution des opérations, les bases de données mises à jour,… Un état « recap » ou une transaction de contrôle sont produits à la fin des traitements permettant de s’assurer qu’ils se sont correctement déroulés et ont donné les résultats attendus.
·       Les différentes sorties notamment les éditions, la production de fichiers de transfert de données, les transactions de consultation,… peuvent être contrôlés pour s’assurer que les données affichées ou imprimées sont bien celles qui devraient y figurer.
L’expérience montre que les contrôles de données sont généralement de bonne qualité par contre le contrôle des bases de données, des traitements effectués et des différentes sorties sont plus fragiles.

12. Effectuer des contrôles particuliers des transactions délicates. Un certain nombre de transactions peuvent mettre en péril la sécurité du système d’information. Ainsi des changements de certaines données peuvent recouvrir des fraudes comme par exemple le changement de RIB d’un fournisseur, la réception d’une facture sans qu’il y ait eu au préalable une commande, une sortie de stocks qui n’est pas imputée à un client ou à un ordre de fabrication, …. Ces transactions particulières sont signalées en temps réel à un responsable, qui est chargé de les valider. En cas de situations critiques ces transactions sont enregistrées dans une base spécifique.

13. Établir un tableau de bord du contrôle interne du système d’information. L’ensemble des informations de contrôle interne disponibles est regroupé dans un document unique permettant d’avoir une assurance raisonnable du fonctionnement régulier du système d’information. Il est important de suivre le nombre, la fréquence et le degré de gravité des incidents détectés.
14.  Documenter le système d’information. Pour que les utilisateurs maîtrisent correctement le système d’information il est nécessaire qu’ils disposent d’un document de référence. Il décrit le fonctionnement du système d’information, non seulement sa partie informatique mais aussi l’ensemble des fonctions qu’il met en œuvre et l’organisation à mettre en place. Il comprend au moins quatre parties :

·       une description détaillée de l’ensemble des fonctions disponibles,
·       la liste des contrôles manuels ou informatiques en place,
·       la liste des problèmes qui peuvent survenir dans le fonctionnement du système d’information,
·       la manière de corriger ces incidents. 
 15.     Disposer d’une procédure écrite. Un système d’information assure le fonctionnement d’un ou de plusieurs processus. Ainsi dans le cas des achats il y a deux grands processus : la passation des commandes d’approvisionnement et le choix des fournisseurs puis l’établissement des contrats. Pour éviter toute dérive il est nécessaire de décrire de manière suffisamment détaillé enchaînement des opérations permettant d’assurer le fonctionnement en système d’information. C’est le rôle de la procédure écrite. C’est un point de contrôle important. L’absence d’un document de ce type est indiscutablement une fragilité. 
16 . Mesurer des indicateurs de performances significatifs. Pour piloter un système d’information il est nécessaire de mesurer régulièrement ses performances comme le nombre de dossiers reçus et traités, le délai moyen de traitement des dossiers, les temps de réponses observés, la charge transactionnelle, la disponibilité,…. Le responsable du système d’information pilote ce dernier sur la base de ces indicateurs. Il est aussi très utile d’évaluer la charge transactionnelle maximum supportée par une configuration donnée de façon à anticiper une éventuelle dégradation des temps de réponse.
17.  Mesurer des indicateurs de productivité. Il est aussi important de mesurer régulièrement la productivité du système d’information et d’apprécier l’évolution de cet indicateur. Pour être efficace il doit couvrir l’ensemble de l’activité du système d’information. C’est par exemple le nombre de dossiers traités par personne et par jour ou le temps moyen de traitement d’un dossier. Normalement les actions réalisées pour améliorer la productivité doivent se traduire par des variations significatives de cet indicateur. S’il n’est pas sensible à ces actions il est possible que les mesures prises ne sont pas adaptées mais ceci peut aussi être dû au fait que l’indicateur est mal défini.
18. Suivre le coût global du système d’information. Pour maîtriser le système d'information il est nécessaire de suivre ses coûts, non seulement les coûts informatique mais le coût complet du système d’information c’est-à-dire comprenant l’ensemble des dépenses du personnel chargé de le faire fonctionner, le coût des locaux, les quotes-parts de direction,… Ce suivi doit être régulièrement effectué, normalement à périodicité mensuelle où, à la rigueur, trimestrielle. L’ignorance de ce coût ou son absence de suivi sont indiscutablement des faiblesses du management en charge du système d’information.
19.  Calculer le coût moyen par unité produite. Le coût total d’un système d’information est un montant qui n’est pas toujours facile à interpréter. Il est plus significatif de calculer le coût moyen par unité produite. Cet indicateur de gestion permet d’apprécier la qualité du management du système d’information. On va par exemple suivre le coût d’une commande reçue ou envoyée, d’un dossier de prêt accordé, d’une pièce comptable, … Cet indicateur doit être conforme aux habitudes des métiers. Ainsi dans la banque on s’intéresse au coût de traitement d’un chèque ou d’un paiement par carte. La méconnaissance de cet indicateur est indiscutablement une faiblesse du management du système d’information.
20.   Travailler les coûts unitaires. Il est nécessaire de mesurer périodiquement les coûts unitaires de façon à s’assurer de son évolution dans le temps. Si le système d’information est correctement géré les coûts unitaires doivent régulièrement diminuer notamment grâce aux investissements effectués dans le système informatique et aux efforts de formation du personnel. Périodiquement il est nécessaire d’analyser les coûts unitaires du système d'information et de suivre leur évolution dans le temps. Il est toujours possible de diminuer les coûts unitaires par quelques mesures simples comme d’arrêter de renouveler les équipements, décaler la maintenance des matériels et des logiciels, stopper les nouveaux développements, confier le travail a du personnel peu qualifié ou peu encadré, ... Mais est-ce vraiment raisonnable ? Tôt au tard il faut bien renouveler les matériels et assurer la maintenance des équipements ou des logiciels. Dans ce cas, tôt ou tard, inéluctablement le coût unitaire remonte.
21.  Analyser le détail des opérations effectuées. Il est nécessaire de revoir périodiquement le détail des opérations effectuées. On va pour cela repérer les tâches effectuées, les décomposer en tâches élémentaires, les analyser, étudier leurs enchaînements, … Il est presque toujours possible de dégager des améliorations leur exécution. Dans ce but on va identifier les tâches, voir s’il est possible de les supprimer, de les automatiser, de les regrouper, ... Ainsi en regroupant toutes les tâches manuelles ensemble il est possible d’améliorer l’efficacité des processus. De même en renforçant et en automatisant les contrôles on peut améliorer la productivité du système d’information. Ce travail de rationalisation doit être périodiquement effectué afin d’améliorer de manière significative la productivité des systèmes d’information.

Comme on le voit la gouvernance du fonctionnement d’un système d’information repose sur l’application de quelques bonnes pratiques. Pour qu’un système d'information fonctionne de manière régulière et efficace il est nécessaire de s’assurer qu’un responsable le gère et le pilote. Il faut ensuite s’assurer qu’il fonctionne de manière performante et sécurisée.

Voir la suite : Les bonnes pratiques en matière de pilotage des systèmes d'information et
 Les bonnes pratiques en matière de gestion de l’évolution des systèmes d'information




[1] - Très souvent on appelle le personnel d’exécution les « utilisateurs ». Ce terme est imprécis. Ce sont des employés, des techniciens et des cadres chargés des opérations quotidiennes, hebdomadaires et mensuelles.