Imaginez que vous êtes un chauffeur de Taxi pour VIP.

Vous avez une tâche : Partir de Paris pour aller à Toulouse pour déposer une star internationale :-)

L’itinéraire : Google Map vous indique 677Km et 6h10 par l’Autoroute A20.

Pour simplifier (mon billet), vous décidez de manger à 11h00 le matin pour partir à 12h00, vous prévoyez donc d’arriver à Toulouse pour 18h10.

Comme vous êtes nouvellement embauchés dans la société de transport, votre patron veut savoir à quelle heure vous pensez arriver à Toulouse, il prévoit donc de vous appeler toutes les heures (13h, 14h, 15h etc…)


Pour vous le reste à faire (temps restant à rouler) est le temps estimé (6h10) moins le temps que vous avez déjà roulé (X heure).

Donc à 13h vous allez dire à votre patron : il vous reste 5h10 de route
Donc à 14h vous allez dire à votre patron : il vous reste 4h10 de route
Donc à 15h vous allez dire à votre patron : il vous reste 3h10 de route
Donc à 16h vous allez dire à votre patron : il vous reste 2h10 de route
Donc à 17h vous allez dire à votre patron : il vous reste 1h10 de route
Donc à 18h vous allez dire à votre patron : il vous reste 10mn de route

C’est beau, mais tout le monde sait que la réalité est différente.

6h10 est le temps théorique et en théorie il n’y a pas de différence entre la théorie et la pratique mais en pratique il y en a !

En tant que routier, vous devez faire des pauses toutes les 2 heures : 15min
Vous n’êtes pas maitre de la vitesse à laquelle vous roulez : tout dépend du trafic, des embouteillages, des travaux etc…
Les performances passées ne préjugent pas des performances futures
Etc…

La seule et meilleur façon d’estimer son heure d’arrivée est d'estimer l’effort qu’il vous reste à fournir pour arriver à destination.

Exemple :

A 13h vous avez roulez 100Km (votre moyenne est de 100km/h), il vous reste 577Km à parcourir, il vous reste 5h45 de route en roulant à 100 Km/h (heure d’arrivée : 18h45)

A 14h vous avec roulez 130Km (depuis 13h) => Il vous reste 447Km à parcourir et c’est là que c’est intéressant, il y a 2 visions

  • Vu que vous voyez que vous pouvez parcourir 130km en 1h et comme il vous reste 447km, vous pouvez les faire en 3h25 (heure d’arrivée à 17h25)
  • Mais vous pouvez aussi vous dire : en 2 heures, vous avez parcouru 230km donc vous avez roulé à 115km/h de moyenne, donc pour les 447km restants, vous pouvez les faire en 3h50 (heure d’arrive 17h50)

A 15h, vous avez roulé 110km, il vous reste 337km à parcourir

  • Votre moyenne depuis 12h : 113Km/h, donc vous pouvez penser qu’il vous faudra 3h00 pour faire les 337km restants (heure d’arrivée 18h00)
  • On utilise la moyenne du temps passée pour estimer la vitesse à laquelle on pense rouler et donc déterminer le temps restant

A 16h, vous avez roulé 37km à cause de bouchons et d’une pause, il vous reste 300km à parcourir

  • Votre moyenne depuis 12h : 94 km/h, donc vous pouvez penser que qu’il vous faudra 3h10 pour faire les 300km restant (heure d’arrivée 19h10)
  • Mais vous pouvez aussi vous dire que cette heure n’a pas été très « roulante » à cause des bouchons et de la pause et prendre la moyenne (approximative) sans aléas : 110km/h
  • Ce qui vous permet de penser que vous arriverez dans 2h43 (heure d’arrivée à 18h43)

A 17h, vous avez roulé 130km, il vous reste 170km à parcourir

  • Vous voyez que vous arrivez à rouler à 120km/h

 

L'important n’est donc pas le temps que l’on a passé à rouler mais de savoir combien de kilomètre il nous reste à parcourir et à quelle vitesse on pense les parcourir.


Ok mais lorsque l’on fait du développement, on n’est pas toujours sur des autoroutes, parfois on est sur des nationales, départementales, des chemins de terre et parfois on traverse des villages ;
On ne peut donc pas calculer une vitesse moyenne.
Oui!!!, en développement IT, on va avoir différentes tâches.


Prenons maintenant, un exemple IT :

Soit une tâche X estimée à 3 jours, pour les 2 exemples, il y aura une dérive.

Chaque jour le développeur donne son RAF

1/ Si le développeur fait une soustraction : voici ce que cela donnerait (avec les commentaires)

            Jour 0 : RAF = 3j (initiale)
            Jour 1 : RAF = 2j (3-1)   « J’ai avancé comme prévu, RAS »
            Jour 2 : RAF = 1j (2j – 1)  « J’ai eut quelques difficultés mais je pense finir demain »
            Jour 3 : RAF = 1j « heu bah ce n’est pas fini, j’ai eut plus de truc que prévu, je pense finir demain »
            Jour 4 : RAF = 0j « C’est terminé ».

Ce genre de RAF n’est pas rassurant et on peut se demander si certaines parties n’ont pas été « bâclées »

2/ Idem mais avec le développeur qui donne son RAF sur la charge qu’il lui reste à fournir

La tâche de 3 jours a été décomposée comme ceci :

  • Création de la base de données (script SQL) – 0,25j
  • Procédures stockées – 0,75j
  • JSP – 1,5j
  • Tests – 0,50j

 Les RAF quotidiens avec les commentaires :

            Jour 0 : RAF = 3j (initiale)
            Jour 1 : RAF = 2,25j « Je n’ai pas terminé les procédures stockées, j’ai butté sur une fonction X qui m’a fait perdre du temps »
            Jour 2 : RAF = 1,5j « Ok pour les Proc, mais je n’ai pas rattrapé mon retard »
            Jour 3 : RAF = 0,75j « ma tâche JSP est presque finie et mais je n’ai pas commencé les tests »
            Jour 4 : RAF = 0j « C’est terminé et j’ai commencé une autre tâche».

En  image :

technique__de_calcul_de_reste_a_faire.jpgLa ligne "RAF" est la somme de la colonne, le calcule du RAF devient donc facile :-)

 

Conclusion

L’estimation du Reste à Faire est l’une des tâches des plus difficiles pour les développeurs débutants et c’est une information des plus critiques pour le suivi de vos projets.