Frage

Bounty Klarstellung

Ich weiß, es ist eine subjektive Frage. Die ideale Antwort, die ich suche mich ist eine, die erklärt, warum die zitierte Szenario wäre hier so überraschend sein.

Wenn Sie das zitierte Szenario denken, ist es Tatsache, nicht zu überraschen und zu erwarten, bitte die Schritte aufgliedern zu beweisen, wie so ein kleines app einen Monat und mehr tausend Dollar der Entwicklung übernehmen kann. Ich ging ziemlich weit um die Berechnungen zu tun (zum Beispiel Mindestlohn aufzublicken), damit ich die ideale Antwort erwarte ähnlich zu tun.

Wenn Sie denken, das zitierte Szenario tatsächlich überschätzt wird, bitte genau festzustellen, Ihre Gründe. Welche Fehler kann man in seiner Berechnung erkennen, dass eine große Kosten für eine einfache Anwendung wie das zu so geführt? Wie würden Sie haben es anders gemacht? (Keine Notwendigkeit, den gesamten Prozess zu schreiben, aber Details anstelle allgemeinen Gefühle wäre schön)


Ich weiß, Fragen zu FPA hat schon oft gefragt worden, aber dieses Mal habe ich es einen analytischen Winkel nehme mir, gesichert mit Daten bis .

1. Zunächst einige Daten

Diese Frage beruht auf einem Tutorial . Er hatte eine „Sample Count“, wo er es Schritt für Schritt demonstriert. Sie können einige Screenshots seiner Beispielanwendung hier .

Am Ende er die unbereinigten FP berechnet 99 sein.

Es gibt einen weiteren Artikel über InformIT mit Branchendaten auf typische Stunde / FP. Es reicht von 2 Stunden / FP auf 27,4 Stunden / FP. Lassen Sie uns versuchen zu Stick mit 2 für den Moment (seit SO Leser sind wahrscheinlich die effizientere Menge: p).

2. Reality-Check!?

Nun schauen Sie doch die Screenshots wieder.

Sie ein wenig Mathe hier

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

Im Ernst? Die Beispielanwendung wird 5 Wochen nehmen zu implementieren? Ist es nur mein Gefühl, dass es nicht jeden anständigen Programmierer nehmen würde länger als eine Woche (I "m nicht einmal sagen, Wochenend) es abgeschlossen haben?

Nun wollen wir versuchen, die Schätzung der Kosten des Projekts. Wir werden Mindestlohn New Yorker verwenden zur Zeit ( Wikipedia ), die $ 7,25

198 * 7.25 = $1435.5

Von dem, was ich von den Screenshots sehen konnte, diese Anwendung ist eine kleine Excel-Verbesserung App. Ich hätte MS Office Pro für 200 Dollar gekauft, die mir eine bessere Interoperabilität (.xls-Dateien) und Flexibilität gibt (Tabellen).

(Für das Protokoll, dass gleiche Website hat eine weiteren Artikel zum Thema Produktivität Es scheint, wie sie in der Regel 4,2 Stunden verwenden / FP, die uns noch schockierende Statistiken gibt.

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

(das ist selbst unter der Annahme, dass alle unsere armen Programmierer den Mindestlohn bekommen!)

3. Bin ich etwas fehlt hier?

Im Moment könnte ich mit mehreren möglichen Erklärungen kommen:

  1. FPA ist wirklich nur für größere Projekte geeignet (1000+ FPs), so dass es bei kleinerem Maßstab extrem ungenau wird.
  2. Die Stunden / FP-Metrik schwankt abrupt von Team zu Team, Projekt zu Projekt. Für ein kleines Projekt wie diese, könnten wir gebrauchen etwas wie 0,5 Stunden / FP oder etwas haben. (Nun ist diese Art macht die ganze Sache Schätzung sinnlos, es sei denn, meine Firma die gleiche Art von Projekten für mehrere Jahre hat mit dem gleichen Team, nicht wirklich üblich.)

Aus meiner Erfahrung mit mehreren Software-Metriken, Function Point ist wirklich keine leichte Metrik. Wenn die Stunde / FP Sache schwankt so viel, was ist dann der Punkt, vielleicht könnte ich mit User Story Punkte gegangen wHICH ist viel schneller zu bekommen und wohl fast so unsicher.

Was die FP-Experten Antworten auf diese sein?

War es hilfreich?

Lösung

Vor etwa zehn Jahren, ein Trink Kumpel von mir hat mir ein wirklich großes Stück der Weisheit. An jeder Projektberatung, stellen drei Fragen: 1. Was ist das Problem, das wir zu lösen versuchen? 2. Was sind die Leistungen? 3. Wie werden wir wissen, wenn wir fertig sind? Er fügte hinzu, dass man sollte nie an jedem Projekt teilnehmen, für die eine der Fragen nicht vor Projektbeginn beantwortet wurde.

Im Fall zur Hand haben wir noch eine andere Software Abschätzmethode Horrorgeschichte, in der die Schätzung lächerlich hoch scheint. Ich würde mit dem Hinweis, seine Horrorgeschichte antworten, dass er Antworten auf die zweite und die dritte Frage nicht gegeben hat, und er hat nicht wirklich die erste beantwortet, außer zu sagen, „Wir wollen bauen etwas, das so etwas wie das funktioniert.“

Ich würde erweitern auf, dass mit dem Hinweis darauf, dass er ausdrücklich nicht einmal gefragt, welche Aufgaben die Function Points Schätzung einschließlich oder von der geschätzten Gesamt auszuschließen. Wie viel zusätzlichen Aufwand ist die Funktion Punktschätzer ermöglicht für die Dokumentation, zum Beispiel? Wenn seine Schätzung für die Anwendung, ohne Dokumentation und die Funktion Schätzung war der Punktschätzer für die Anwendung mit vollständiger Dokumentation, na ja, ich würde sagen, dass es für Uneinigkeit einig Zimmer ist auf der Gesamtmenge der Arbeit (und Zeit) erforderlich.

Andere Tipps

  

Ist es mein Gefühl nur, dass es nicht   nehme jeden anständigen Programmierer länger als   1 Woche (I "m nicht einmal sagen, Wochenende)   haben sie abgeschlossen?

Entwickler neigen dazu, immer zu niedrig angesetzt, wie lange dauert es tatsächlich etwas zu beenden. Sie denken, es wird keine Fehler, keine Änderungen in den Anforderungen, und nichts, was sie noch nie vorher getan und müssen Tage verbringen herauszufinden.

  

Von dem, was ich von der sehen konnte,   Screenshots, ist diese Anwendung ein   kleine Excel-Verbesserung App. ich konnte   haben gekauft MS Office Pro für 200   Geld, das gibt mir mehr   Interoperabilität (.xls-Dateien) und   Flexibilität (Tabellen).

Sie vergleichen den Preis für ein ganz individuelles Stück Software ein, die Millionen von Kopien verkauft wird? Im Ernst?

Die Realität ist, die meisten Methoden der Software Schätzung tatsächlich zu niedrigeren Schätzung, auch auf dem ersten Blick aber es erscheint unlogisch. Ich habe einmal bei einer Firma gearbeitet, wo 300 Zeilen Code pro Mannmonat wurde eine hohe Schätzung berücksichtigt und die meisten Monate kamen wir in bei mehr wie 200-250. Aber lassen Sie gehen die mit dem 200. Das pro Arbeitstag 10 Zeilen Code. Wer kann nicht mehr als 10 Zeilen Code in einem Arbeitstag schreiben? Komm schon! Ich konnte an einem guten Tag 50 bis 100 oder mehr Zeilen Code schreiben! Und doch Unternehmen, die Zahlen wie diese verwenden wiederholen ihre Projekte hinter dem Zeitplan abzuschließen und über das Budget. Warum das? Nun, Umfang kriechen, wie Michael Borgwardt schon sagt, ist ein großer. Aber lassen Sie uns ziehen, dass für eine Minute das Bild ab und nehmen an den Kunden und Klienten bekam es gleich beim ersten Mal. Warum sollte ein Unternehmen Schätzung nur 10 Zeilen Code pro Tag?

  • Analyse der Anforderungen
  • Software-Design basiert auf Anforderungen
  • Meetings koordinieren Schnittstellen und Architektur mit Teamkollegen.
  • Gemeinkosten (Status-Meetings mit dem Management, Kranken Zeit, Urlaub, ...)
  • Schreiben von Unit-Tests
  • Schreiben Sie einen Testplan für die ganze applicaiton
  • Anwendungsebene Test

Das ist die ganzen Tag zu Tag Software-Engineering I in 3 Minuten die Spitze von meinem Kopf abziehen kann, ich bin sicher, vermisste ich etwas mehr, aber nicht, dass die Hilfe ein vollständigeres Bild davon, wo diese Schätzungen kommen, aus?

Nicht ein FP-Experte. Allerdings sind wir bei FP im Moment suchen. Insbesondere sind wir der Durchführung FP-Analyse gegen alte Projekte, dass wir die Metriken für Aufwand / Kosten usw. Dann können wir ihre Nützlichkeit für uns bei der Schätzung / Sizing-Projekte bewerten.

Meine Sicht an dieser Stelle ist, dass es eine nützliche oben nach unten ‚Größenordnung‘ Schätzung zu ergänzen unten nach oben Schätzung sein. Es ist immer gut, wenn mehr als eine Schätzung Technik kann auf Hilfe Validate angewandt wird, dass die Zahlen, die auf ‚halten‘ angekommen sind.

Ein weiterer Gedanke - Kosten / Aufwand pro Funktion Punkt (das heißt funktionale Anforderung) würde auf den nicht-funktionalen Anforderungen ab, die für das System erforderlich sind. Sobald Sie wegen der Sicherheit Beginn der Einnahme, Zugänglichkeit, Leistung, Protokollierung (und Alarmierung), Wartbarkeit, Portabilität, die Einhaltung gesetzlicher Vorschriften und so weiter, steigen die Kosten / Aufwand pro FP signifikant. Nun können diese nicht die für die einzelnen Benutzer Beispielanwendung angegeben werden. Aber wenn diese Anwendung für ein Unternehmen wichtig ist, oder möglicherweise ihre Kunden oder ein großer Anteil der Bevölkerung, die Notwendigkeit zu berücksichtigen, diese nicht-funktionalen Anforderungen wird mit Sicherheit zunehmen.

Ich persönlich fand FPA irreführend ... zunächst.

Wenn Sie historische FPA Daten von früheren Projekten haben, FPA kann auf jeden Fall überschätzte die ganze Sache am Ende, Industriestandards.

Ich habe gelernt, dass VAF ist ein guter Zeiger zu verwenden, wenn mit FPA zu tun. Obwohl es Ihnen einen 35% Variationsbereich auf Ihrer FP Zahl gibt, die den Analyst / Projektleiter vom Drehen dieser in eine 50% ige Abweichung stoppen.

Ein guter Teamleiter schätzt immer seine Teams Fähigkeit, bevor Schätzungen zu machen. Das Gleiche gilt für FPA geht, Industriestandard-Zahlen wurden auf historischen Daten basieren erreichte, und diese Daten variiert von Unternehmen zu Unternehmen, Team-Team und Entwickler zu Entwickler.

So würde ich sagen, wenn Sie den besten Fall von -35% gegenüber der unbereinigten Zählung verwenden, erreichen Sie eine eingestelltes FP Zahl von ~ 64. Gibt Ihnen etwa 3 ½ Wochen Schätzung. Aus Erfahrung würde ich eine Anwendung dieser Art sagen kann, als dass viel früher getan werden, aber jede gründliche Testen, Debuggen, Dokumentation und andere Papierarbeit würde es weiter strecken und FP berücksichtigt dies. Es ist sehr viel möglich, dass Ihr Team 1 FP / h tut. Durch die normalen Standards, Codierung und ist für 25% der FP Zählung Prüfung, so dass in diesem Fall auch Ihre Figur von 99 FPs nehmen, die Codierung und Test Teil kommen würde bis zu 25 Bildern pro Sekunde, die angesichts der Situation mehr verständlich ist.

Was ich auch in der Praxis gesehen haben, ist, dass einige Unternehmen ihre eigene Komplexität Tabellen entwickelt haben, also wenn 3 RETs und 10 DETS bedeuten durchschnittliche Komplexität für ein Unternehmen, ein anderer würde es als geringe Komplexität bewerten. Dies würde vor allem die endgültige FP Zählung bewirken.

So das FP-Tool als Leitfaden verwenden und sammelt so viele Daten für frühere Projekte, wie Sie können, bevor Sie tatsächlich unter Berufung auf FPA beginnen Schätzungen Kosten und Zeit festzulegen.

Als Randbemerkung, ich glaube, die Kostenschätzungen auf einer einfachen Software wie das wäre lächerlich scheinen heute, wo Outsourcing und freiberuflich ist der Weg zu gehen. Große Unternehmen, die in diesem Geschäft gewesen aufladen noch lächerlich hoch für die Softwareentwicklung. Zum Beispiel wenn Sie möchten ein Level 3 Support-Techniker Ihnen mit Ihrem Server in einem guten Hosting-Unternehmen helfen, würden sie $ 250 pro Stunde aufladen, Sie können jedoch den gleichen Rat von jemandem in der Welt bei $ 25 oder sogar $ 2.5 basierend anderswo erhalten.

Hope my 2 cents sind von Nutzen für Sie.

Bei meiner früheren Firma würden wir so berechnet haben - vor allem, wenn jemand will zu Lohn für ihn;)

Ich habe geübt FP in einigen Projekten und fand, dass es eine ziemlich genaue Schätzung liefert. Manchmal kann es überschätzen und manchmal unterschätzt, je nach Art der Anwendung. Typisch für wissenschaftliche Anwendungen, konnte FP unterschätzt werden. FP sieht gesamte Entwicklungszeit Projekt, nicht nur die Zeit für das Schreiben von Code. Natürlich gibt es keine Entwicklungsaktivitäten, wie Aufbau von Testumgebung, etc. und diese sollten getrennt geschätzt werden. Ich bin kein großer Befürworter von FP, sondern schätzen seine Verwendung. Wenn dies nicht der genaue Schätzung, wenn sie richtig praktiziert (Identifizierung von Dateien und Satzelemente), atleast es validates Vollständigkeit Ihrer Anforderungen.

In einer Art und Weise, sollten wir sagen, dass FP ist gut für mittlere bis große Projekte, die Skalierung über 350-400 FPs.

Zeitbasierte Zahlungen führen indirekt die Leistung zu senken. Ich erinnere mich an Projekten mit zeitbasierte Zahlung, dass ich eine Menge Forschung für jeden Aspekt des Projekts war während, wenn sie eine projektbasierte Zahlungsmethode hatte vielleicht habe ich es nicht. Es ist das Unbewusste nicht Ethik. Am günstigsten ist es „Projekt“ Definition zu beziehen (innerhalb einer begrenzten Zeit und Budget) und make Entscheidung basierend auf Einschränkungen. Es geht nicht um die Arbeit selbst, das heißt Sie für einen Regenschirm an einem regnerischen Tag zahlen viel mehr, als wenn Sie normalerweise kaufen. Kümmern Sie sich nicht selbst über das, was getan hat und wie viel es wert. Konzentrieren Sie sich auf den Wert der Arbeit an den Kunden und seine Entscheidungen.

Anstecken die Werte aus dem Beispiel, das Sie in diesen praktischen Online-Funktion Punkt Rechner zitiert ( http://developergeeks.com/ functionpoint.aspx ), die ein bereinigtes FPs berechnet und berücksichtigen verschiedene andere Gewichtungsfaktoren, erhalte ich die folgenden Ergebnisse, pro Stunde eine Produktivitätsrate von 2 Bildern pro Sekunde unter der Annahme, da das System in dem Beispiel ist so einfach:

  1. Bereinigtes FPs: 42,9
  2. Geschätzte Person Monate: 0,54

Unter der Annahme, 160 Stunden in einem Arbeitsmonat, die etwa 86,4 Stunden zu ausarbeitet, oder etwa zwei Arbeitswochen für einen Entwickler. Nicht 5 Wochen als abgeschlossen Sie in Schritt 2 Da Systeme für zahlende Kunden erfordert nehmen nur ein wenig mehr Sorgfalt und Mühe als nur hämmert für einige Codes spät in der Nacht für Ihre eigenen Vergnügen zu entwickeln, ich glaube nicht, das ist eine unvernünftige Schätzung bei alle.

Ich meine, Sie mich nicht falsch, FP-Analyse in den falschen Händen ist wahrscheinlich eine schreckliche Idee. Aber wenn Sie ein Entwickler-Hintergrund haben können Sie zu zählen FPs anwenden und gut die verschiedenen Gewichtungsfaktoren überprüft, es ist kein schlechter Weg, um eine vernünftige Schätzung zu erhalten, die nicht auf reine Fantasie basiert, wenn Sie keine detaillierten Design-Spezifikationen haben Sie , voll Anforderungen dokumentiert oder einen detaillierten Vorgangsebene Projektplan zur Arbeit aus. Aber du hast etwas gesunden Menschenverstand benutzen, um es für Sie arbeiten.

  

Aus meiner Erfahrung mit mehreren Software-Metriken, Function Point ist   wirklich keine leichte Metrik. Wenn die Stunde / FP Sache schwankt so   viel, was ist dann der Punkt, vielleicht hätte ich mit User Story gegangen   Punkte, die viel schneller zu bekommen und wohl fast so unsicher.

Der Punkt in mit Function Point Analysis eine Art von Regeln / Richtlinien ist, die objektiv und Standard sind, so dass es sollte (innerhalb einer bestimmten Marge) beenden Sie die gleiche Menge an Funktionspunkte geben an einer Anwendung und / oder Projekt , unabhängig davon, welche gezählt Experten es, wenn die Regeln konsequent und richtig angewendet werden. Die Produktivität pro Funktionspunkt, wie Sie entdeckte, ist sehr zuverlässig von vielen Faktoren wie Team-Erfahrung, Werkzeuge, Programmiersprache, Plattform, etc. etc. Daher Industriestandards sind schön zu wissen, aber in den meisten Fällen völlig nutzlos (in meiner bescheidenen Meinung nach ). Der wichtigste Wert in repetative Zählen Aufbau Ihrer eigenen ‚benchnmark‘ basiert auf Ihrem eigenen Team-Produktivität Geschichte. Dies wiederum werden Ihnen helfen, Trends zu sehen und auch bei der Planung und Vorhersage Stunden für zukünftige Änderungen erforderlich. Wenn Sie sich für die Geschwindigkeit suchen, wenden Sie einfach globalen Zählungen statt detaillierte zählt. Wenn ein paar Beispiel zählt zu tun (wie bei der Vorbereitung auf Prüfungen) Sie werden den Unterschied zwischen einer detaillierten Zählung und einer globalen Zählung bemerken sind nicht groß genug, um zu verlieren Schlaf über (durch%).

Diese Diskussion ist absolut irreführend, da die Frage bereits vermutet FPA ist ein Versuch Schätzungstechnik. Es ist nicht .

Funktionsgröße (in Funktionen Punkten ausgedrückt) für ein Schätzmodell (wie COCOMO) ein von vielen Inputfaktoren sein. Nicht mehr -. Aber auch nicht weniger, wenn wir uns einig sind, dass die ‚Menge‘ von funktionalen Anforderungen ist ein Versuch, Treiber für Software-Projekte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top