Comment planifier les projets de manière réaliste tout en tenant compte des problèmes de support?

13

Nous avons un problème au travail: nous essayons de planifier le travail afin que nous puissions évaluer les échelles de temps et obtenir des dates limites.

Le problème est qu'il est difficile de planifier un projet sans savoir tout ce qui va se passer.

Par exemple, en ce moment, nous avons planifié tous nos projets jusqu'au début du mois de décembre, mais pendant ce temps, nous aurons diverses réunions internes et externes, des téléconférences et du travail supplémentaire. C'est bien beau de dire qu'un projet prendra trois semaines, mais s'il y a une semaine d'interruption pendant cette période, la date d'achèvement sera repoussée d'une semaine.

Le problème est triple:

  1. Lorsque nous planifions des projets, les échelles de temps sont prises à la lettre. Si nous estimons trois semaines, le délai est fixé à trois semaines, le client est informé et il n'y a pas de place pour une prolongation.

  2. Le travail intérimaire et cela signifie que nous perdons du temps productif à travailler sur le projet.

  3. Parfois, les clients n'ont pas le temps dont nous avons besoin pour faire le travail, alors ils viennent parfois nous voir et disent qu'ils ont besoin d'un projet fait avant la fin du mois même lorsque nous pensons que le travail prendra deux mois - sans oublier que nous avons déjà du travail à faire.

Nous avons un diagramme de Gantt que nous essayons de remplir avec tous les projets que nous avons et nous remplissons des feuilles de temps, mais elles ne sont pas du tout comparées au diagramme de Gantt. Il est donc difficile de dire "Eh bien, nous avons prévu 3 semaines pour ce projet, mais nous avons perdu une semaine ici, donc le délai doit reculer d'une semaine."

Il n'est pas non plus professionnel de respecter les délais manquants que nous avons communiqués au client.

Comment les autres gèrent-ils ce type de situation? Comment gérez-vous la planification des projets? Combien de temps «supplémentaire» prévoyez-vous dans un projet pour tenir compte du travail hors projet qui se produit pendant un projet? Comment gérez-vous les problèmes de support, les bugs et autres choses? Des choses dont vous ne pouvez pas tenir compte pendant la planification

MISE À JOUR

Beaucoup de bonnes réponses merci.

Thomas Clayson
la source
1
Jetez un œil à Liquid Planner ( liquidplanner.com ). Il vous permet d'entrer des heures de travail optimistes et «réalistes» pour une tâche et calcule une date de sortie estimée (avec une précision de 50%, 90%, 98%). Et cela fait beaucoup plus, donc si j'étais vous, j'essaierais une démo
jao
2
De votre profil, je vois que vous êtes un développeur. Votre direction doit faire face à cela et au client. Votre travail consiste à estimer combien cela prendra et à communiquer de manière transparente en cas de problème. La direction s'en charge.
JohnDoDo
1
À propos du point 3: expliquez le triangle du projet à votre client: bon marché, bon, rapide: choisissez-en deux.
mouviciel
1
Mouviciel - c'est bon en théorie, mais pas en pratique malheureusement. nous avons déjà cela en tête.
Thomas Clayson,
3
@ThomasClayson Cela ne change rien au fait que le triangle du projet est vrai. Si votre entreprise ne comprend pas la gestion de projet simple, il est peut-être temps de partir.
Thomas Owens

Réponses:

14

Le problème est cependant qu'il est difficile de planifier un projet sans savoir tout ce qui va se passer.

Voilà le point de la gestion des risques. Vous ne pouvez pas tout savoir, alors vous planifiez en fonction de ce que vous savez et identifiez les choses qui pourraient avoir le plus d'impact sur votre plan et la probabilité que cela se produise. Évaluez également l'impact potentiel du calendrier en disant que si X se produit, le calendrier glissera d'environ Y jours ou semaines (mot clé - estimé).

C'est bien beau de dire qu'un projet prendra 3 semaines,

Ne donnez jamais une estimation aussi précise. Donnez une fourchette ou quantifiez la probabilité d'atteindre cette estimation. Par exemple, dites "ce projet prendra de 2 à 5 semaines" ou "il y a 85% de chances que ce projet se fasse en 3 semaines et 95% de chances qu'il se fasse en 4 semaines".

Ce n'est pas non plus professionnel pour le client de continuer à dire que nous avons manqué un délai.

Vrai. Cependant, vous mélangez les concepts d '"estimation", de "calendrier" et de "date limite". Votre estimation est une approximation du temps qu'il faudra pour terminer une tâche ou un projet donné et la probabilité d'y parvenir. Le délai est une date imposée par le client à laquelle le projet doit être réalisé afin d'ajouter de la valeur. Le calendrier est la façon dont vous utilisez vos ressources disponibles pour respecter votre échéance.

Il y a des moments où il n'est tout simplement pas possible de terminer le travail assigné dans un délai et toutes les estimations et la planification dans le monde ne feront pas de différence.

Alors ma question ... comment les autres font-ils cela? Comment gérez-vous la planification des projets? Combien de temps «supplémentaire» prévoyez-vous dans un projet pour tenir compte de tout ce qui se passe entre-temps?

Je recommande la lecture de deux livres, tous deux par Steve McConnell: Software Estimation: Demystifying the Black Art and Rapid Development: Taming Wild Software Schedules . L'estimation de logiciels consiste à proposer vos estimations, à les présenter aux clients, à certains aspects de la négociation et à répondre aux attentes irréalistes. Le développement rapide est la gestion générale de projet, traitant des cycles de vie du développement, de la planification, de l'allocation des ressources et de la meilleure façon de planifier et de budgéter les projets pour respecter vos estimations et vos délais.

Thomas Owens
la source
aperçu très utile et très bon. :) Merci beaucoup. Va jeter un oeil à ces livres merci.
Thomas Clayson
4

Je suggère de creuser dans les détails du processus de développement Scrum . Il couvre ces activités de détournement par la focus factormétrique. Fondamentalement, vous devez travailler 2-3 sprints / itérations, puis mesurer le facteur de concentration de votre équipe (et pour chaque membre, cela serait également utile). Après cela, vous pourrez fournir des estimations plus précises qui couvrent l'activité quotidienne.

Jetez un oeil à cet article - "Le facteur de concentration"

Si l'un d'entre vous connaît le développement Agile, vous avez probablement entendu parler du facteur de concentration (ou facteur de productivité). Il est utilisé pour la planification afin de déterminer combien d'heures réelles vous devez travailler sur quelque chose. C'est la différence entre les «heures réelles» et les «heures idéales».

entrez la description de l'image ici

sll
la source
3
Suggérer un SDLC spécifique sans connaître la nature du projet et de l'équipe est dangereux (par exemple, Scrum est inapproprié pour une équipe de moins de 5 personnes ou une équipe de plus de 10 personnes) et sauter dans Scrum sans recherche adéquate, adhésion et les ajustements culturels entraînent l'échec des projets), mais la discussion sur la mesure du facteur de concentration est en effet pertinente et pourrait être utile dans toute méthodologie, y compris les méthodologies axées sur les plans.
Thomas Owens
@Thomas Owens: OP pourrait juste jeter un coup d'œil et peut-être qu'il a eu un aperçu de la façon de mesurer quelque chose comme ça ou toute autre pensée ...
sll
Merci, je vais certainement jeter un œil à tout cela. Nous avons vraiment une équipe de 3 personnes, mais dans la pratique, nous travaillons sur des projets par nous-mêmes de toute façon. L'argument du facteur de focalisation est intéressant. :) Je vous remercie.
Thomas Clayson
1

Le problème des interruptions est que, pour des individus ou des équipes donnés, elles ont tendance à se produire dans une plage de probabilités relativement petite. Par exemple, vous avez environ le même nombre de réunions chaque semaine, ou environ le même nombre d'heures consacrées à des corrections de bogues urgentes chaque mois, ou le même temps consacré à répondre aux questions des personnes qui passent par votre bureau, en particulier lorsqu'elles font la moyenne de une longue période de temps.

De nombreuses techniques de planification modernes en tiennent compte. Scrum le facteur en vitesse. La planification basée sur des preuves utilise également une vitesse avec un intervalle de confiance pour toute estimation donnée. Pomodoro prend en compte les interruptions lorsque vous décidez du nombre de "pomodoros" que vous pouvez compter terminer au cours d'une semaine donnée. Tout cela dépend du suivi des mesures historiques de vos interruptions et de leur prise en compte dans vos estimations d'une manière ou d'une autre. Je vous recommande de les examiner tous et de concevoir une technique qui fonctionnera pour votre équipe.

Karl Bielefeldt
la source
C'est la chose cependant, nos interruptions ne se produisent pas comme ça. Par exemple, cette semaine, j'aurais dû faire X, mais j'ai passé 80% de mon temps à faire des interruptions. Il y a eu plus de réunions que d'habitude et beaucoup de soutien cette semaine. De plus, j'ai été obligé de mettre en place des sites Web qui ont été intégrés à cette semaine et j'ai dû mettre en place un serveur de développement et fournir un support technique pour le reste du bureau. La semaine prochaine, il ne pourrait y avoir ni réunions ni soutien. Ou je pourrais avoir à mettre à niveau les routeurs, ou sauvegarder un ordinateur portable ou quelque chose. Ici, il existe une large gamme de sondes.
Thomas Clayson
1
Sur une semaine ou une journée, vous avez raison de dire que c'est imprévisible, mais si vous gardez une trace de celui-ci de mois en mois ou plus, vous constaterez probablement que cela égalise. Si vous êtes vraiment plus sauvage que la normale, jetez un œil à l'idée d'intervalle de confiance d'EBS. Il prend en compte les probabilités historiques comme "90% du temps, j'ai 5 heures par jour de travail ininterrompu, mais les 10% restants, je ne fais rien du tout la journée". À partir de cet historique, au lieu de dates fixes, vous obtenez une sortie comme "Il y a 85% de chances que nous ayons terminé dans un mois, mais 99% de probabilité que nous le fassions dans 6 semaines."
Karl Bielefeldt
1

De bons conseils tout autour.

Une autre chose qui pourrait être utile pour résoudre les problèmes de support est de dédier les gens au support sur une base fixe "round-robin".

Par exemple, si vous avez 5 développeurs, affectez-en un à chaque jour de la semaine. Lorsque ce jour arrive, le développeur affecté travaille pour ce jour UNIQUEMENT sur le support. Le lendemain, un autre développeur prend en charge le support. De cette façon, tout le monde a une chance de rester dans leur "flux", tout le monde a un avant-goût de la nourriture pour chiens.

La façon dont vous choisissez RÉELLEMENT de répartir le travail de soutien régulier n'a pas vraiment d'importance (le tournoi à la ronde des jours de la semaine n'est qu'un exemple). Ce qui importe, c'est de limiter le temps de support à des intervalles réguliers fixes. Cela rend le temps de développement plus prévisible avec le compromis que vous ne pouvez pas demander à "tout le monde de tout laisser tomber" pour traiter les problèmes de support.

Angelo
la source
0

C'est une compétence qui vient vraiment avec l'expérience, et souvent on demande aux gens avant de pouvoir juger avec précision une telle chose. J'ai toujours travaillé dans un groupe assez soudé avec un style informel, mais nous avons développé quelques règles générales qui semblaient bien tenir.

D'abord, aucune tâche ne prend moins d'une semaine. Estimez toujours en semaines, même si une tâche semble ne prendre que quelques jours. Il y aura une raison pour laquelle cela ne sera pas fait avant la fin de la semaine.

Deuxièmement, faites de votre mieux pour estimer la durée de la tâche, y compris les interruptions, les problèmes de support client, la réalisation des tests, etc. Maintenant, doublez ce nombre. C'est votre estimation (en semaines).

Troisièmement, assurez-vous que votre gestionnaire n'ajoute pas déjà du rembourrage à vos estimations. Notre équipe avait un gestionnaire se plaindre de nos estimations. Il s'est avéré qu'il allait déjà le multiplier par 2,1 (son estimation de remplissage empiriquement dérivée) et nous l'avions déjà doublé avant de le lui dire.

Ce n'est pas un outil sophistiqué et ce n'est peut-être pas une méthode parfaite, mais cela fonctionne étonnamment bien.

MattG
la source
0

Les personnes qui font l'estimation doivent comprendre qu'aucune équipe n'est jamais à 100% sur un projet. Vous avez des congés de maladie, des vacances, des fonctions de jury, des congés de deuil, des réunions RH requises (c'est le temps des avantages!), Des réunions d'équipe qui ne sont pas liées au projet, un retard inévitable, des pauses toilettes, un travail de support sur des articles déjà en production, le traitement des e-mails, , configurer le nouvel ordinateur après la mort de l'ancien, répondre aux questions sur le travail futur et faire des estimations pour ce travail, encadrer les juniors, etc. qui doivent être prises en compte. Il est irresponsable pour un estimateur de supposer plus de 6 heures sur 8 heures disponible par jour. C'est une garantie que le délai ne peut être respecté. Si vous garantissez que le délai ne peut pas être respecté, vous garantissez un client mécontent.

HLGEM
la source
0

Vous avez absolument raison - il est difficile de planifier un projet sans savoir tout ce qui va se passer. Mais il est très important de garder une trace des choses qui sont une norme ainsi que des tâches que vous prévoyez. Voici où la gestion des horaires joue un rôle. J'ai utilisé la gestion de projet Microsoft (version standard) pour laquelle comprend également des fonctionnalités qui font partie d'un logiciel de planification de gestion de projet.

Vous pouvez visiter http://www.microsoft.com/project/en/us/schedule-management.aspx pour plus d'informations.

Garry Burks
la source
-1

Il semble qu'il y ait beaucoup d'efforts cachés tirés de vos équipes de projet à travers lesquels vous perdez votre concentration et votre vitesse. Il pourrait être essentiel de séparer la tâche de traitement des

..support des problèmes et des bugs et autres choses?

à un groupe spécifique de personnes afin que les autres membres de l'équipe puissent se concentrer sur les nouvelles tâches de développement. Grâce à cela, leur production globale pourrait baisser un peu, mais la qualité s'améliorera car il y a moins de distraction. En retour, cela réduira le nombre de bogues, d'où un travail ponctuel qui pénètre dans vos projets.

En ce qui concerne la partie planification, je suis entièrement d'accord avec la réponse de Thomas Owens.

Carlo Kuip
la source