Question

clarification Bounty

Je sais que c'est une question subjective. La réponse idéale que je suis à la recherche est celui qui explique pourquoi le scénario cité ici serait si surprenant.

Si vous pensez que le scénario cité est-il fait pas surprenant et à prévoir, s'il vous plaît décomposer les étapes pour prouver comment une telle petite application peut prendre plus d'un mois et plusieurs milliers de dollars de développement. Je suis allé assez loin pour faire les calculs (par exemple, le salaire minimum regardant) donc j'attends la réponse idéale pour faire la même.

Si vous pensez que le scénario cité est en effet surestimée, s'il vous plaît exactement vos raisons repérer. Quelles erreurs pouvez-vous repérer dans son calcul qui a conduit à un coût énorme pour une application simple comme ça? Comment auriez-vous fait différemment? (Pas besoin d'écrire tout le processus, mais les détails au lieu des sentiments généralisés serait bien)


Je sais que des questions sur FPA a été demandé à plusieurs reprises avant, mais cette fois, je vais prendre un angle plus analytique à elle, reculai avec des données .

1. Tout d'abord, certaines données

Cette question repose sur un tutoriel . Il avait une section « comte Sample » où il a démontré étape par étape. Vous pouvez voir quelques screenshots de son exemple d'application .

En fin de compte, il calculé le non ajusté FP pour être 99.

Il y a un autre article sur InformIT avec les données de l'industrie sur les heures typiques / FP. Il varie de 2 heures / PF à 27,4 heures / FP. L'essai Let coller avec 2 pour le moment (puisque les lecteurs SO sont probablement la foule plus efficace: p).

2. vérification de la réalité!?

Maintenant, il suffit de vérifier le captures d'écran à nouveau.

Faites ici un peu de mathématiques

99 * 2 = 198 hours
198 hours / 40 hours per week = 5 weeks

Sérieusement? Cette demande d'échantillon va prendre 5 semaines pour mettre en œuvre? Est-ce juste mon sentiment qu'il ne prendrait pas de programmeur décent plus d'une semaine (I "m week-end ne dis pas encore) de l'avoir terminé?

Maintenant, nous allons essayer d'estimer le coût du projet. Nous allons utiliser le salaire minimum de New York au moment ( Wikipedia ), qui est 7,25 $

198 * 7.25 = $1435.5

D'après ce que je pouvais voir les captures d'écran, cette application est une petite application Excel-amélioration. Je aurais pu acheter MS Office Pro pour 200 dollars qui me donne une plus grande interopérabilité (fichiers .xls) et de flexibilité (feuilles de calcul).

(Pour mémoire, ce même site Web a un autre article sur la productivité Il semble qu'ils utilisent généralement 4,2 heures / PF, ce qui nous donne encore plus choquantes statistiques.

99 * 4.2 = 415 hours = 10 weeks = almost 3 whopping months!
415 hours * $7.25 = $3000 zomg

(C'est à supposer même que tous nos pauvres obtiennent le codeurs salaire minimum!)

3. Est-ce que je manque quelque chose ici?

En ce moment, je pourrais trouver plusieurs explications possibles:

  1. FPA est vraiment seulement adapté pour les grands projets (1000+ il PC) devient extrêmement imprécis à plus petite échelle.
  2. Les heures / FP brusquement de l'équipe à l'équipe, projet projet. Pour un petit projet comme celui-ci, nous pourrions avoir quelque chose utilisé comme 0,5 heures / FP ou quelque chose. (Maintenant, ce genre de fait toute inutile chose d'estimation, à moins que mon entreprise fait le même type de projets depuis plusieurs années avec la même équipe, pas vraiment commun.)

De mon expérience avec plusieurs paramètres du logiciel, la fonction Point est vraiment pas une mesure légère. Si l'heure / PF chose fluctuante tant, alors quel est le point, peut-être je aurais pu aller avec Points Story utilisateur wUEL est beaucoup plus rapide pour obtenir et sans doute presque aussi incertain.

Quelles seraient les réponses des experts de FP à cela?

Était-ce utile?

La solution

Il y a environ dix ans, un copain de boire à moi m'a donné un morceau vraiment une grande sagesse. Sur toute consultation du projet, poser trois questions: 1. Quel est le problème que nous essayons de résoudre? 2. Quels sont les résultats? 3. Comment saurons-nous quand nous sommes fait? Il a ajouté qu'il ne faut jamais prendre tout projet pour lequel l'une des questions n'a pas répondu avant le début du projet.

Dans le cas présent, nous avons encore une autre histoire d'horreur Estimating Software méthode, dans laquelle l'estimation semble ridiculement élevé. Je répondrais son histoire d'horreur en soulignant qu'il n'a pas donné des réponses aux deuxième et troisième questions, et il n'a pas vraiment répondu à la première, sauf pour dire « Nous voulons quelque chose de construction qui fonctionne quelque chose comme ça. »

J'élargirait ce en soulignant qu'il a explicitement demandé même pas quelles tâches les points de fonction estimation incluant ou en excluant du total estimé. Quel effort supplémentaire est l'estimateur de point de fonction permettant la documentation, par exemple? Si son estimation est de l'application, sans documentation, et l'estimation de l'estimateur de point de fonction a été pour l'application avec une documentation complète, eh bien, je dirais qu'il ya une place pour un désaccord sur le montant total du travail (et le temps) nécessaire.

Autres conseils

  

Est-ce juste mon sentiment qu'il ne serait pas   prendre tout programmeur décent plus de   une semaine (je "ne suis pas le week-end, même en disant)   de l'avoir terminé?

Les développeurs ont toujours tendance à sous-estimer combien de temps il faut pour finir en fait quelque chose. Ils pensent qu'il n'y aura pas de bugs, pas de changements dans les exigences, et rien de ce qu'ils ont jamais fait auparavant et doivent passer des jours à déterminer.

  

D'après ce que je pouvais voir de la   captures d'écran, cette application est   petite application Excel-amélioration. je pouvais   ont acheté MS Office Pro 200   argent qui me donne plus   interopérabilité (fichiers .xls) et   flexibilité (feuilles de calcul).

Vous comparez le prix d'une pièce complètement personnalisée du logiciel pour un qui vend des millions d'exemplaires? Sérieusement?

La réalité est, la plupart des méthodes d'estimation du logiciel, en fait sous-estiment même si, à première vue, il semble contre-intuitif. J'ai déjà travaillé dans une entreprise où était considéré comme 300 lignes de code par l'homme mois une estimation de HIGH, et la plupart des mois nous sommes arrivés au plus comme 200-250. Mais allons-y avec le 200. C'est 10 lignes de code par jour de travail. Qui ne peut pas écrire 10 lignes de code dans une journée de travail? Allons! Je pourrais écrire 50 à plus de 100 lignes de code une bonne journée! Et pourtant, les entreprises qui utilisent des numéros comme ceux-ci complètent à plusieurs reprises leurs projets en retard et sur le budget. Pourquoi donc? Eh bien, la portée de fluage, comme le suggère Michael Borgwardt, est un grand. Mais l'attraction de laisser cela à l'image d'une minute, et d'assumer le client et le client a obtenu dès la première fois. Pourquoi une estimation de la société seulement 10 lignes de code par jour?

  • Analyse des besoins
  • conception du logiciel en fonction des besoins
  • Les réunions pour coordonner les interfaces et l'architecture avec ses coéquipiers.
  • Les frais généraux (réunions d'état avec la direction, en temps de maladie, vacances, ...)
  • les tests unitaires d'écriture
  • Rédaction d'un plan d'essai pour l'ensemble applicaiton
  • test de niveau d'application

C'est tout le génie logiciel au jour le jour, je peux tirer sur le dessus de ma tête en 3 minutes, je suis sûr que je manqué un peu plus, mais cela aide à obtenir une image plus complète de l'endroit où ces estimations sont à venir à partir?

Pas un expert FP. Cependant, nous examinons FP pour le moment. En particulier, nous allons effectuer une analyse PF contre les vieux projets que nous avons les mesures d'effort / coût, etc. Ensuite, nous pouvons évaluer son utilité pour nous dans l'estimation des projets / dimensionnement.

Mon point de vue à ce stade est que ce sera un haut en bas utile « ordre de grandeur » estimation en bas de supplément jusqu'à l'estimation. Il est toujours bon si plus d'une technique d'estimation peut être appliquée à aider à valider que les chiffres qui sont arrivés à « tenir jusqu'à ».

Une autre pensée - le rapport coût / effort par point de fonction (à savoir l'exigence fonctionnelle) dépendra des exigences non fonctionnelles qui sont nécessaires pour le système. Une fois que vous commencez à prendre en compte la sécurité, l'accessibilité, la performance, l'exploitation forestière (et d'alerte), la maintenabilité, la portabilité, la conformité réglementaire et ainsi de suite, le rapport coût / effort par FP augmente de manière significative. Maintenant, ceux-ci ne peuvent pas être une considération pour l'application de l'échantillon d'un seul utilisateur cité. Mais si cette application est important pour une entreprise ou potentiellement leurs clients ou une grande proportion du grand public, la nécessité de prendre en compte les exigences non fonctionnelles va certainement augmenter.

Personnellement, je trouve FPA trompeur ... au départ.

Sauf si vous avez des données FPA historiques des projets précédents, FPA peut certainement finir par surestimant le tout, en utilisant les normes de l'industrie.

Je l'ai appris VAF est un bon pointeur à utiliser pour traiter FPA. Bien que cela vous donne une plage de variation de 35% sur votre compteur FP, qui arrête le gestionnaire analyste / projet de transformer cela en une variation de 50%.

Un bon chef d'équipe évalue toujours sa capacité d'équipes avant de faire des estimations. Même chose pour les chiffres standards FPA, l'industrie ont été tirées à partir des données historiques, et ces données varient d'une entreprise à, l'équipe à l'équipe et développeur au développeur.

Je dirais que si vous utilisez le meilleur des cas de -35% sur le compte non ajusté, vous atteignez un nombre ajusté FP de ~ 64. vous donne environ 3 semaines et demi d'estimation. Par expérience, je dirais une application de ce genre peut être fait beaucoup plus tôt que cela, mais aucun test complet, le débogage, la documentation et d'autres travaux de papier serait étirer plus loin et FP prend cela en compte. Il est très possible que votre équipe est en train de faire 1 FP / h. Par rapport aux normes habituelles, le codage et les comptes de test pour 25% du nombre de FP, dans ce cas même en prenant votre chiffre de 99 ips, la partie de codage et de test descendrait à 25 ips, ce qui est plus compréhensible compte tenu de la situation.

Ce que j'ai vu dans la pratique est que certaines entreprises ont mis au point leurs propres tables de complexité, donc si 3 et 10 RET DET moyenne complexité moyenne pour une entreprise, une autre serait-il noter aussi faible complexité. Cela effet largement le décompte final de FP.

Il faut donc utiliser l'outil FP de guide et de recueillir beaucoup de données pour les projets précédents que vous pouvez avant de commencer réellement compter sur FPA pour définir des estimations de coûts et de temps.

Comme une note de côté, je pense que les estimations de l'établissement des coûts sur un logiciel simple comme cela semble aujourd'hui ridicule, où l'externalisation et la pige est la voie à suivre. Les grandes entreprises qui ont été dans cette affaire encore payer ridiculement élevé pour le développement de logiciels. Par exemple, si vous voulez un technicien de niveau 3 de soutien pour vous aider avec vos serveurs dans une bonne société d'hébergement, je devrais payer 250 $ par heure, mais vous pouvez obtenir les mêmes conseils de quelqu'un basée ailleurs dans le monde à 25 $ ou même 2,5 $.

Hope mes 2 cents sont d'une certaine utilité pour vous.

Lors de mon entreprise précédente, nous aurait calculé comme ça - surtout si quelqu'un veut à payer;)

Je pratique FP dans quelques projets et constaté qu'il fournit une estimation assez précise. Parfois, il peut surestimer et parfois sous-estiment selon le type d'application. En règle générale pour les applications scientifiques, FP pourrait être sous-estimée. FP prévoit tout le temps de développement du projet, pas seulement le temps pour l'écriture de code. Bien sûr, il n'y a pas d'activités de développement, comme la configuration de l'environnement de test, etc., et ceux-ci devraient être estimés séparément. Je ne suis pas un grand partisan de la PF, mais apprécie son utilisation. Sinon une estimation précise, si elle est pratiquée correctement (identification des fichiers et enregistrement des éléments), il atleast l'intégralité de vos Valide exigences.

D'une certaine manière, nous devrions dire que FP est bon pour les moyennes et les grands projets, mise à l'échelle sur 350-400 médecins de famille.

Paiements fondés sur des temps entraînent une baisse indirectement la performance. Je me souviens des projets avec paiement en fonction du temps que je l'ai fait beaucoup de recherches pour chaque aspect du projet alors que si elle avait un mode de paiement par projet peut-être que je ne le faisais pas. Il est l'inconscient pas d'éthique. La meilleure pratique consiste à se référer définition de « projet » (dans un temps limité et le budget) et la décision de faire en fonction des limites. Ce n'est pas sur le travail lui-même, à savoir que vous payez pour un parapluie un jour de pluie beaucoup plus que lorsque vous achetez normalement. Ne vous soucier de ce qui a fait et combien il vaut la peine. Mettre l'accent sur la valeur du travail au client et à ses choix.

branchent les valeurs de l'exemple que vous avez cité dans ce calculateur de point de fonction pratique en ligne ( http://developergeeks.com/ functionpoint.aspx ), qui calcule le ajusté MF et tient compte de divers autres facteurs de pondération, je reçois les résultats suivants, en supposant un taux de productivité de 2 par heure depuis médecins de famille du système dans l'exemple est si simple:

  1. Ajusté médecins de famille: 42,9
  2. Estimation personne Mois: 0,54

En supposant 160 heures en un mois de travail, qui équivaut à environ 86,4 heures, ou environ deux semaines de travail pour un développeur. Cinq semaines que vous avez conclu à l'étape 2. Étant donné que le développement de systèmes pour des clients payants nécessite de prendre un peu plus d'attention et d'efforts que tout cognant sur un code tard dans la nuit pour votre propre plaisir, je ne pense pas que ce soit une estimation déraisonnable tout.

Je veux dire, ne me méprends pas, l'analyse FP dans les mauvaises mains est probablement une mauvaise idée. Mais si vous avez des antécédents d'un développeur, vous pouvez appliquer à compter médecins de famille et de l'intestin vérifier les différents facteurs de pondération, ce n'est pas une mauvaise façon d'obtenir une estimation raisonnable qui ne repose pas sur la pure fantaisie quand vous n'avez pas les spécifications de conception détaillées , les exigences entièrement documentées ou un plan détaillé du projet au niveau de la tâche à travailler. Mais vous devez utiliser un certain bon sens pour le faire fonctionner pour vous.

  

De mon expérience avec plusieurs paramètres du logiciel, point Fonction est   vraiment pas une mesure légère. Si la chose heure / FP fluctue de façon   beaucoup, alors quel est le point, je pourrais peut-être allé avec User Story   Points qui est beaucoup plus rapide pour obtenir et sans doute presque aussi incertain.

Le point ayant une fonction point analyse est d'avoir une sorte de règles / directives qui sont si norme objective et qu'il devrait (dans une certaine marge) finissent par vous donner la même quantité de points de fonction sur une application et / ou d'un projet , quel que soit l'expert compté, si les règles sont appliquées de manière cohérente et correcte. La productivité par point de fonction, que vous avez découvert, est très fiable sur de nombreux facteurs tels que l'expérience de l'équipe, l'outillage, le langage de programmation, la plate-forme, etc., etc. Par conséquent, les normes sont bien de l'industrie pour savoir, mais dans la plupart des cas complètement inutiles (à mon humble avis ). La valeur principale de comptage repetative construit votre propre « benchnmark » en fonction de votre propre histoire de la productivité de l'équipe. Cela vous aidera à voir les tendances et aussi plan d'aide et de prévoir des heures nécessaires pour les changements futurs. Si vous êtes à la recherche de la vitesse, il suffit d'appliquer compte global au lieu de comptes détaillés. Quand vous faites quelques exemples compte (comme lors de la préparation aux examens), vous remarquerez la différence entre un compte détaillé et un nombre global ne sont pas assez grand pour dormir lâche plus (en%).

Cette discussion est absolument trompeur, car la question suppose déjà FPA est une technique d'estimation de l'effort. Il est pas .

Taille fonctionnelle (exprimée en points de fonctions) peut être l'un des nombreux facteurs d'entrée pour un modèle d'estimation (comme COCOMO). Pas plus -. Mais pas non plus moins si nous sommes d'accord que la « quantité » des exigences fonctionnelles est un pilote d'effort pour les projets logiciels

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