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 à exé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'apparaître 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 entraîne 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 fixe les marges sont calculées pour ne pas déplacer cette date fixe.


3 – Décomposition en niveaux et groupes de tâches
Lorsqu'un projet dépasse quelques dizaines de tâches, il est recommandé de faire une arborescence de tâches sur plusieurs niveaux, et l'on dispose pour cela d'outils tels que l'organigramme des tâches (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 tâches en niveaux 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 tâches ou groupes. Ce sont des regroupements de tâches 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 tâches et évènements membres du groupe doivent commencer ou se situer après ce début. Un groupe se termine lorsque ses tâches 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 tâche après la fin d'une tâche dite prédécesseur. Ces liens ont été définis comme liens simples et leur entrée a été privilégiée. Cependant d'autres types de liens peuvent être définis : début à début, fin à fin, fin à début. Pour chaque lien on peut définir un décalage.

Le programme permet d'avoir pour une tâche, un groupe ou un évènement autant de liens que l'on veut avec des prédécesseurs tâche, groupe ou évènement. Cependant il y a des restrictions :

Il faut noter que si on met pour un groupe des liaisons de fin à fin, fin à début ou fin à date, la fin du groupe peut arriver après la fin de tous les membres du groupe.

Pour faciliter la définition des liens le programme fournira la liste des items (tâche, 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 jours de travail pour chaque lien, et permet d'avoir des nombres positifs ou négatifs, ce qui peut être parfois utile.

5 – Durées
Toutes les durées sont en nombre entier de jours de travail. Dans la plupart des cas, les estimations ne sont pas suffisamment précises pour nécessiter des fractions de journée. Par souci de simplification, le programme ne gère que des nombre entiers de jours de travail, aussi bien pour la durée des tâches que pour les délais et les marges.


6 – Jours non travaillés

Les durées et délais étant exprimés en jours de travail, il faut connaître les jours qui seront travaillés ou non travaillés pendant la durée du projet pour définir les dates calendaires.

Le programme a donc prévu de définir dans des préférences des jours travaillés et non travaillés pour tous les projets à venir, pris en compte lors de la création du projet, et de pouvoir modifier ces jours 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.