Le triage des demandes ou comment rendre tout le monde insatisfait

Le processus de triage est largement utilisé dans les hôpitaux depuis plusieurs années.  Nous l’avons tous déjà vu en utilisation lors de l’une de nos nombreuses visites à l’urgence d’un hôpital.  Il consiste à classifier la gravité et l’urgence d’un patient pour déterminer l’ordre dans lequel il sera traité tout en optimisant ses chances de survie.

Voici comment ça se passe généralement:

  • Un préposé nous rencontre, il nous examine et il classifie le type de blessures ou de maladie que nous avons.
  • Il place notre dossier dans la liste selon une échelle de classification.
  • On prend place dans la salle d’attente et on attend.
  • On attend encore… Lire la suite
Publicité

Comment devenir Sherlock Holmes et diagnostiquer des exceptions comme un pro en .Net

J’utilise dans mes projets depuis assez longtemps une classe d’exception personnalisée qui capture le maximum d’informations lorsqu’une erreur se produit pour m’aider à la diagnostiquer.  Certains types d’erreurs sont notoires pour être résistants à l’identification tel que le fameux La référence d’objet n’est pas définie à une instance d’un objet.  Dans ce cas, le contexte de l’exception fourni une description précise de la méthode contenant la référence nulle mais reste peu bavard sur l’objet concerné.

La méthode habituelle pour trouver le problème débute par tenter de reproduire l’erreur.  Ce qui marche quelques fois, après tout avec un peu de chance et d’observation on peut tomber sur la bonne ligne de code.  Si on est moins chanceux, la correction du problème peut être difficile et il peut être nécessaire de se fier à la mémoire de l’utilisateur qui est normalement une source peu fiable après cinq minutes.

Lire la suite

C’est quoi une dette technique et comment la gérer

Une dette technique c’est un peu le même concept qu’une carte de crédit.  À toute les fois qu’on ajoute une ligne de code à un logiciel, on augmente la dette d’un montant basé sur la taille et complexité du code ajouté.  Ce qui veut dire, que plus le code est complexe et lourd plus on va devoir payer des intérêts en le supportant.

On peut aussi augmenter notre dette rapidement en faisant un code non-optimal pour atteindre un objectif comme livrer à temps.  L’objectif à atteindre est alors beaucoup plus important que les considérations futures de maintenance.  Dans un monde idéal, ça n’arrive jamais.  Dans la vraie vie, ça arrive tous les jours.

L’expérience de l’équipe de développement a également un impact sur les intérêts payés.  C’est un peu leur cote de crédit.  Plus l’équipe est expérimentée et efficace, plus sa cote est bonne donc les intérêts sont plus faciles à assumer.  À l’inverse, plus l’équipe est inexpérimentée ou manque de connaissances sur le logiciel maintenu, plus les intérêts seront élevés.

Lire la suite

Comment j’ai découvert la gestion de projet agile ou pourquoi je n’ai plus un mur de libre

Tout vient d’une constation bien simple que j’ai fait voici un an ou deux:  J’ai de la difficulté à connaître l’avancement de mes projets et toutes mes prévisions ne marchent pas.  Simple à régler?  Pas vraiment…

L’informatique est un milieu particulier pour la gestion de projet.  L’incertitude et la variabilité des tâches sont très élevées.  En effet, il est possible d’atteindre le même objectif de plusieurs manières différentes.  Chaque manière est plus ou moins complexe et implique un temps de réalisation différent dépendant du risque, de la description de la tâche, de l’expérience du programmeur, de son état mental, de l’alignement des planètes et du nombre de fois que son chat a marché sur le clavier.  Au final, on se retrouve avec un projet composé de probablement 50 à 500 tâches qui peuvent prendre de 2 à 40 fois le temps prévu 90% du temps si on est chanceux.

Lire la suite