Principes généraux

1 - Tâches essentielles et ancillaires

Une tâche représente des travaux dans le projet et a une durée non nulle.

On trouve souvent dans un projet des tâches à réaliser de façon prioritaire, et d'autres tâches soit réparties sur tout le projet (gestion du projet, maintenances), soit à éxécuter s'il y a du temps disponible... Avec les logiciels classiques de gestion de projet qui mettent toutes les tâches au même niveau, ces tâches non prioritaires ont toutes les chances d'apparaitre comme le chemin critique, et pour avoir un planning correct il faudra les ignorer ou tricher sur leurs données... Cela peut conduire à oublier des travaux, mal évaluer les charges...

C'est pourquoi j'ai prévu deux types de tâches : les tâches essentielles qui sont seules prises en compte dans le calcul des marges et du chemin critique, la fin de ces tâches constitue la fin essentielle du projet, et les autres tâches dites ancillaires non prises en compte dans les calculs de marge. Cela entraine qu'une tâche essentielle ne peut pas être dépendante d'une tâche ancillaire.

2 – Evénements

A la différence des taches les événements ne représentent pas de travail et n'ont pas de durée. Ils peuvent représenter des étapes du projet, des dates objectif qu'on veut montrer dans le planning, ou être des intermédiaires dans la définition des liens entre tâches.

Il peut y avoir des liens entre tâches et événements et pour cela j'ai prévu deux types d'événements : essentiels dont peuvent dépendre des tâches essentielles, et ancillaires.

Les événements ne représentent pas de travail et sont donc transparents dans les calculs de marge, leurs déplacements éventuels ne sont pas pris en compte. Cependant si on leur a défini une date et heure fixe les marges sont calculées pour ne pas déplacer cette date et heure fixe.

3 – Décomposition en niveaux et groupes de taches

Lorsqu'un projet dépasse quelques dizaines de taches, il est recommandé de faire une arborescence de taches sur plusieurs niveaux, et l'on dispose pour cela d'outils tels que l'organigramme des taches (Work Breakdown Structure ou WBS pour les anglo-saxons).

La planification de tels projet pose des problèmes philosophiques selon que l'on privilégie une démarche descendante ou ascendante, et que l'on souhaite répartir ou regrouper les marges.

Ce programme ne visant pas les gros projets, la décomposition des taches en niveau n'a pas été retenue.

Cependant pour faciliter l'entrée et la présentation des données on peut définir des groupes de taches ou groupes. Ce sont des regroupements de taches ou évènements (un seul niveau est possible, un groupe ne peut pas contenir de groupes).

Un groupe a un début, et toutes les taches et évènements membres du groupe doivent commencer ou se situer après ce début. Un groupe se termine lorsque ses taches membres sont terminées et ses évènements membre passés.

Un groupe peut être défini comme essentiel ou ancillaire. Un groupe essentiel ne peut contenir que des membres essentiels, et un groupe ancillaire que des membres ancillaires.

4 – Liens

Les liens les plus couramment utilisés sont des liens de début d'une tache après la fin d'une tache dite prédécesseur, avec éventuellement un décalage. Le programme permet d'avoir pour une tache, un groupe ou un événement autant de liens de ce type que l'on veut avec des prédécesseurs tache, groupe ou événement.

Lorsqu'on fait un lien à la fin d'un groupe, cela équivaut à faire un lien avec la fin de chaque membre du groupe (et avec le début du groupe s'il n'a pas encore de membres).

Cependant il y a des limitations dans le choix des prédécesseurs : une tache, groupe ou événement essentiel ne peut pas avoir des prédécesseurs non essentiels, et une tache, groupe ou événement ne peut avoir un prédécesseur qui l'a déjà parmi ses prédécesseurs (sinon le graphe aurait des boucles et le calcul deviendrait impossible). Pour faciliter la définition des liens le programme fournira la liste des items (tache, groupe ou événement) sélectionnables comme prédécesseur, et il faudra faire une sélection dans cette liste pour définir un lien.

Dans la définition d'un lien on peut définir un délai en général positif. Le programme permet de définir un délai en un nombre entier de minutes de travail pour chaque lien, et permet d'avoir des nombres positifs ou négatifs, ce qui peut être parfois utile.

De plus selon la nature de la contrainte, ce délai peut être spécifié comme du temps de travail ou du temps écoulé.

Pour simplifier les entrées, un seul type de lien,dit début après fin a été retenu, alors que dans d'autres programmes 4 types de lien sont proposés. Mais les 3 autres types sont d'utilisation peu courante et leur absence ne devrait introduire de limitations dans les projets à planifier.

Pour les liens dit de début à début, on peut définir un événement qui conditionne le début des taches concernées. Pour les liens de fin à fin ou fin après début, il est peu souhaitable de les utiliser car cela introduit des contraintes sur la manière de réaliser les taches correspondantes. Il vaut mieux redécouper les taches pour éviter ces contraintes.

5 – Durées, délais et précision horaire

Toutes les durées sont entrés en heures et fractions d'heure et conservés en nombre entier de minutes de travail.

Les délais sont aussi entrés en heures et fractions d'heure et conservés en nombre entier de minutes.

Selon la précision demandée sur les horaires, on peut choisir entre les précisions suivantes : 1 heure, une demi-heure, un quart d'heure, 10 minutes, 5 minutes, 1 minute. Les heures, durées et délais seront arrondis pour l'affichage, par défaut ou par excès selon le cas, avec la précision choisie, et ce sera le pas des compteurs pour les entrées.

6 – Jours non travaillés et horaires de travail

Pour pouvoir définir les dates et heures calerndaires, il faut connaître les jours qui seront travaillés ou non travaillés, et les horaires de travail pendant la durée du projet.

Le programme a donc prévu de définir dans des préférences des jours travaillés et non travaillés, et des horaires de travail, pour tous les projets à venir, pris en compte lors de la création du projet, et de pouvoir modifier ces jours et horaires au niveau de chaque projet.

Ces jours non travaillés sont en général le samedi et le dimanche, et un certain nombre de fêtes légales.

Pour simplifier le travail de définition du calendrier, il a été prévu un mécanisme de prise en compte des jours de fête. Malheureusement ces fêtes sont variables selon les pays et même à l'intérieur de certains pays selon les régions ou états. C'est pourquoi il n'est fourni qu'une base qui permettra à chaque utilisateur de définir ses jours non travaillés en fonction des réglementations et coutumes locales.