Question

Disons que vous avez un projet qui impliquera deux applications web (qui partageront ensembles DAL / DAO / BO et des bibliothèques OSS):

  • une application de gestion semi-complexe qui utilise Windows Live ID pour l'authentification et est également capable de communiquer avec différents services (notificateur e-mail, sms, twitter, etc.), étant ciblés notifiants environ 10% de la fonctionnalité
  • faible à l'application utilisateur semi-complexe avec moins de fonctionnalités mais plus de robustesse qui utilise également de Windows Live ID pour l'authentification

Il y a deux d'entre nous avec des capacités d'estimation moyennes et nous ne serons pas en mesure de le faire en deux jours, même si nous voulions / devoir. Au moins ce serait une loin estimation.

Questions

  1. Combien de temps / vous faut-il normalement faire une estimation fiable / valeur?
  2. Que proposeriez-vous à l'estimation accélérer sans sacrifier la précision?
  3. Combien de mou (en termes de coût / temps) qu'il faudrait ajouter en fonction de la vitesse d'estimation (quand vous diriez: Je pourrais estimer un peu plus, parce que je pense qu'il est encore tout à fait hors )
Était-ce utile?

La solution

Question intéressante. Je crains que la réponse est « ça dépend vraiment! » Je sais que c'est pas très utile (même si il est vrai) alors voici quelques facteurs:

1) Qualité et l'exhaustivité des exigences et leurs spécifications. Ceci est, pour moi, le plus souvent le tueur projet estimation. Si vous ne disposez pas des exigences de qualité, vous avez pas de base raisonnable pour une estimation. Nous utilisons un style de développement de produits « RUP-lite » ici, donc en tant que directeur de l'ingénierie, je ne rien faire, mais l'estimation grossière-grain jusqu'à ce que nous ayons terminé notre phase et obtenu signe-off de la gestion des produits « élaboration » qui le noyau de 80% des caractéristiques du produit sont en fait exactement couvert.

2) La portée et la nature du produit. Plus grand / plus cher / plus compliqué = beaucoup plus longue à estimer. J'ai travaillé pendant des années dans la terre telco-porteuse offrant des solutions qui ont les exigences normales de support robuste ( « 5 9 de » temps de disponibilité requise par SLA signifie que vous devez vraiment faire un bon travail de conception de la solution et la récupération de l'échec!). Dans ce genre d'environnement avec toutes les pièces mobiles à travers les domaines fonctionnels de l'entreprise, l'estimation du travail va dépendre d'obtenir une vue d'ensemble ... Plus précisément, les dépendances inter-fonctionnelles et les dépendances externes peuvent être un vrai tueur ici. Cela dit, je l'ai aussi construit beaucoup de sous film rétractable et logiciels d'entreprise aussi. Dans ces environnements, il est beaucoup plus facile que le champ d'application est généralement sensiblement plus faible, de sorte donc plus facile à estimer.

3) Comment "nouveau" est ce projet? Comment « nouveau » est l'équipe à ce produit ou technologie ensemble? Le plus récent produit ou de l'équipe, la plus longue et plus tampon vous devez allouer.

4) Comment spécifiques devons-nous être? Si cela est une « estimation approximative », alors je vais pencher sur mon génie conduit à fournir une estimation prudente, alors je vais pad. Si nous avons besoin d'une estimation « réel » (par exemple, celle qui est utilisée par mon patron et que je serai responsable de frapper), je dois l'entrée d'un certain nombre de dirigeants et membres de l'équipe, qui aura besoin de temps pour analyser les besoins et conférer entre eux.

Cela peut prendre aussi peu que quelques jours ou weeks..it tout dépend de la taille. « Deux ou trois jours » est, franchement, pas assez longtemps pour dimensionner quoi que ce soit, mais le plus trivial des projets.

La meilleure chose que vous pouvez faire pour améliorer la qualité de vos estimations pour améliorer la qualité de vos besoins, et être sans pitié pour identifier les dépendances cachées.

Une dernière chose:. FWIW, je fais cela depuis '81 et je considère estimer avec précision une durée / coût du projet comme le plus difficile / lourde de partie péril de la gestion de l'ingénierie

Autres conseils

Étant donné que nous utilisons des méthodes Agile (Scrum, en particulier), il nous faut compter environ une heure plus longue que prend les utilisateurs d'établir des priorités.

Plus de temps ne conduit pas à une plus grande précision.

La partie difficile est donc d'obtenir les utilisateurs à établir des priorités. Nous entendons cette discussion tout le temps « si la chose ne soit pas terminé à temps, il est tout à rien. » « À l'exception de la composante XYZZY, qui a une certaine valeur. » Cet argument peut se poursuivre pendant des heures jusqu'à ce qu'il soit résolu que XYZZY devrait être le premier.

En général, nous essayons de créer des sprints 4 semaines. Les premiers sont compliquées parce qu'il ya toujours quelque chose de nouveau. Après les deux premiers (ou trois) nous semblent définir un rythme régulier.

Chaque cas d'utilisation a une évaluation relativement simple, subjective de la façon dont l'effort qu'il faudra pour terminer. Tout ce que plus d'un sprint dans la durée doit être décomposée. La plupart du temps quelques cas d'utilisation sont regroupés en un seul sprint.

sont des moyens formels de marquer chaque cas d'utilisation pour mieux gérer les problèmes de coûts et de calendrier. Nous ne les utilisons pas parce que l'effort supplémentaire ne permet pas.

Après les deux premiers sprints,

  1. Il y a des fonctionnalités nouvelles et différentes,

  2. Les priorités ont changé,

  3. Les détails de chaque cas d'utilisation ont été considérablement révisées.

Qu'est-ce que la « précision » signifie quand la chose que vous essayez d'évaluer les changements à la fin de chaque sprint?


Une leçon apprise. Des parties de mon entreprise passent long de temps à définir complètement exactement ce qui sera livré, puis mesure qu'ils livrent précisément ce qu'ils veulent.

Les clients remarquent, et on lui dit que nous « passons beaucoup de temps à livrer ce que dit le contrat, mais il est pas ce que nous avions besoin. »

Le problème avec les estimations initiaux fermes est qu'ils prennent une vie propre. Plus vous « investir » dans l'estimation, plus les estimations semblent être un livrable utile. Ils ne sont pas utiles, car ils sont en général tout à fait tort. Ils sont basés sur des hypothèses initiaux qui sont tout à fait tort.

Il est une mauvaise politique d'investir plus temps dans l'estimation. Les réponses « précises » ne sont pas plus précis, mais ils sont plus chéris par toutes les couches de gestion. Comme vous et le client apprendre, vous invalidez de nombreuses hypothèses et vous devez absolument réestimer en permanence.

Ne pas le faire avant. Si votre contrat vous oblige à le faire à l'avant, puis assurez-vous que vous avez une disposition de contrôle du changement et dire au client que vous ferez tout à fait des changements que vous avancez. Comme deux et le client apprendre, vous deux doivent apporter des modifications.

Pour faire une estimation fiable que vous avez vraiment besoin de créer une liste de tâches à faire. Détaillez-le en histoires / tâches (même si vous n'utilisez pas agile) et de les évaluer. Cela peut prendre beaucoup de temps déjà - en particulier le montant de la recherche (pour rechercher des bibliothèques à faire ce genre de choses notificateur pour réduire le coût). Je prendrais au moins 3 jours - mais 1-2 semaine (s) son plus raisonnable pour moi. Cela ne semble pas être un petit projet.

Je n'osera accélérer le processus d'estimation si vous wan't d'avoir des résultats assez raisonnables. Ne sont jamais exactes estimations et vous aurez juste faire empirer les choses.

Une option serait de faire une proposition tout à fait approximative dans quelques heures, puis commencer à travailler déjà (pour une semaine). A la fin de la semaine, vous pourriez être en mesure de donner une meilleure estimation en fonction de vos progrès en cours. Cependant, il est important de créer un bon prototype (qui ressemble à la merde, mais a un peu de code dans toutes les régions).

Eh bien, une citation commune est « Le prix sera compris entre 50% et 400% de nos estimations initiales ». La raison pour laquelle cette citation a connu une croissance importante est qu'il est vrai. Estimation précision dépend en grande partie de votre domaine de connaissances. Si tel est le 100e fois que vous vendiez un type de blog de moteur que vous êtes assez sûr au sujet des estimations. Cependant, plus souvent qu'autrement, vous n'avez pas une connaissance approfondie du domaine (Si l'application existe déjà, pourquoi créer un nouveau?).

Le développement Agile est devenu populaire parce que les gens reconnaissent en grande partie que le type « cascade » de pensée traditionnel ne fonctionne tout simplement pas pour la plupart des projets dans le monde réel. Vous devez appliquer la même façon de penser à vos estimations. De toute évidence, vous avez besoin d'une sorte de point de vente, mais assurez-vous de dire à vos clients que cette information est très vague (et que peu importe ce que tout concurrent leur dira, leurs estimations sont vagues aussi bien).

Vous devez vendre itérations, et donc aussi estimer itérations. Je suis sûr que certains marketing gars dans toute entreprise saura comment gérer les documents et les choses juridique pour cela, donc il ne devrait pas être un gros problème.

Considérons un projet 5 itérations:

  • Commencez par mettre en place des jalons. Ceux-ci sont sujets à changement, mais fournira vos vargue premières estimations pour le produit final.
  • itération plan # 1.
  • Estimation itération # 1, ajuster les estimations totales en conséquence.
  • Faites itération # 1
  • Rinse / répétition jusqu'à l'itération # 5
  • Vous avez terminé:)
  • Réfléchissez sur votre projet. Comment vos estimations évoluent? Les raisons? Apprendre en faisant:)

La plupart des clients préféreraient avoir une partie-estimations et partielles délivrances que certains objectif irréaliste que certains procès les a vendus:)

Errant légèrement de votre question initiale, mais il est aussi important d'apprendre à partir des estimations que vous avez produit dans le passé en gardant des informations sur le temps qu'il a fallu effectivement faire les choses que vous avez estimé.

Nous avons estimé 5 jours pour produire ces pages, il a effectivement eu 10 jours, et etc.

Dans les informations à long terme comme celui-ci (je l'espère!) Vous permettent de produire des estimations plus précises.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top