
Das Institut unterrichtet Algorithmen, Datenstrukturen, OOP. In einem guten Fall können sie ĂŒber Entwurfsmuster oder Multithread-Programmierung sprechen. Ich habe jedoch nicht gehört, wie die Arbeitskosten richtig bewertet werden können.
Mittlerweile braucht jeder Programmierer diese FĂ€higkeit jeden Tag. Es gibt immer mehr Arbeit als getan werden kann. Die Evaluierung hilft dabei, PrioritĂ€ten richtig zu setzen und einige Aufgaben ganz aufzugeben. Ganz zu schweigen von Haushaltsfragen wie Budgetierung und Planung. Falsche SchĂ€tzungen fĂŒhren im Gegenteil zu einer Reihe von Problemen: unterschĂ€tzt - Konfliktsituationen, Verarbeitung und LĂŒcken in den Budgets, ĂŒberbewertete - Projekte stornieren oder nach anderen KĂŒnstlern suchen.
Fairerweise sollte beachtet werden, dass eine Unterbewertung in der Entwicklung weitaus hĂ€ufiger vorkommt. Warum? Jemand hĂ€lt Programmierer fĂŒr
zu optimistisch . Ich werde noch einen Grund hinzufĂŒgen: Ein guter Programmierer und ein guter Gutachter zu sein, ist nicht dasselbe. Um ein guter Programmierer zu werden, reicht ein Wunsch nicht aus. Benötigen Sie Wissen und Ăbung. Warum sollte die Bewertung anders sein?
In dem Artikel werde ich darĂŒber sprechen, wie sich meine Einstellung zur Bewertung von Aufgaben geĂ€ndert hat und wie Projekte in unserem Unternehmen bewertet werden. Und ich beginne damit, wie Sie nicht bewerten mĂŒssen. Wenn Sie bereits wissen, wie Sie dies nicht tun, fahren Sie direkt mit dem
zweiten Teil des Artikels fort .
Anti-Evaluierungsmuster
Die meisten Bewertungen in Projekten werden zu Beginn ihres Lebenszyklus vorgenommen. Und das stört uns erst, wenn wir verstehen, dass die SchĂ€tzungen frĂŒher als die Anforderungen ermittelt wurden und dementsprechend frĂŒher als die Aufgabe selbst untersucht wurde. Folglich wird eine Bewertung normalerweise nicht rechtzeitig durchgefĂŒhrt. Dieser Prozess wird zu Recht nicht als Bewertung, sondern als Vermutung oder Vorhersage bezeichnet, da jeder Punkt in den Anforderungen ein Ratespiel ist. Inwieweit wirkt sich diese Unsicherheit auf die Endergebnisse der Bewertung und deren QualitĂ€t aus?
Eine Kleinigkeit, aber unangenehm

Angenommen, Sie entwickeln ein Auftragserfassungssystem, konnten jedoch noch keine Anforderungen fĂŒr die Eingabe von Telefonnummern entwickeln. Unter den Unsicherheiten, die sich auf die Bewertung des Programms auswirken können, können wir sofort Folgendes hervorheben:
- Muss der Kunde die eingegebene Telefonnummer auf GĂŒltigkeit prĂŒfen?
- Wenn der Kunde ein System zur ĂberprĂŒfung der Telefonnummer benötigt, welche Version wird er bevorzugen - billig oder teuer?
- Wenn Sie eine kostengĂŒnstige Version zum ĂberprĂŒfen von Telefonnummern implementieren, möchte der Kunde spĂ€ter zu der teuren wechseln?
- Ist es möglich, ein vorgefertigtes System zum ĂberprĂŒfen von Telefonnummern zu verwenden, oder mĂŒssen Sie aufgrund einiger DesignbeschrĂ€nkungen Ihr eigenes entwickeln?
- Wie wird das Verifizierungssystem aufgebaut?
- Wie lange dauert es, ein System zur ĂberprĂŒfung der Telefonnummer zu programmieren?
Und dies sind nur einige Fragen aus der Liste, die sich im Kopf eines erfahrenen Projektmanagers stellen ... Wie auch aus diesem Beispiel hervorgeht, können sich potenzielle Unterschiede bei der Definition, Gestaltung und Implementierung derselben Opportunities summieren und die Implementierungszeit um das Hundertfache oder mehr verlĂ€ngern. Und wenn wir sie in Hunderten und Tausenden von Funktionen eines groĂen Projekts kombinieren, erhalten wir enorme Unsicherheit bei der Bewertung des Projekts selbst.
Ein weiteres hervorragendes Beispiel fĂŒr eine âSchwellungâ scheint eine elementare Voraussetzung zu sein. Lesen Sie dazu den Artikel â Wie sind zwei Wochen ?! â.
Kegel der Unsicherheit

Die Softwareentwicklung - und viele andere Projekte - besteht aus Tausenden von Lösungen. Die Forscher fanden heraus, dass ProjektschĂ€tzungen in verschiedenen Phasen der projizierten Unsicherheit inhĂ€rent sind. Der Unsicherheitskegel zeigt, dass SchĂ€tzungen im Verlauf des Projekts genauer werden. Bitte beachten Sie, dass in der Phase des ursprĂŒnglichen Konzepts (in der hĂ€ufig SchĂ€tzungen vorgenommen und Verpflichtungen eingegangen werden) der Fehler 400% betragen kann (vierhundert Prozent, Karl!). Es ist optimal, nach Abschluss des detaillierten Entwurfs Verpflichtungen einzugehen.
Mythischer Mannmonat
Es gibt immer noch FĂŒhrungskrĂ€fte, die der Meinung sind, dass bei einer festen Festlegung der FunktionalitĂ€t jederzeit eine VerkĂŒrzung der Zeit erreicht werden kann, indem Mitarbeiter hinzugefĂŒgt werden, die mehr Arbeit in kĂŒrzerer Zeit erledigen wĂŒrden. Der Fehler dieser Argumentation liegt in der MaĂeinheit, die bei der Bewertung und Planung verwendet wird: Mannmonat. Die Kosten werden wirklich als Produkt der Anzahl der Mitarbeiter und der Anzahl der aufgewendeten Monate gemessen. Das Ergebnis wird jedoch nicht erreicht. Daher ist die Verwendung von Mannmonaten als MaĂeinheit fĂŒr das Arbeitsvolumen ein gefĂ€hrliches MissverstĂ€ndnis. Alle Forscher waren sich einig, dass die VerkĂŒrzung der Nenndauer den Gesamtarbeitsaufwand erhöht. Wenn die nominelle Amtszeit fĂŒr eine Gruppe von 7 Personen 12 Monate betrĂ€gt, wird eine einfache Erhöhung des Personals auf 12 Personen den Zeitraum nicht auf 7 Monate verkĂŒrzen.
In groĂen Gruppen steigen die Kosten fĂŒr Koordination und Management und die Anzahl der Kommunikationswege steigt. Wenn alle Teile der Aufgabe getrennt voneinander koordiniert werden mĂŒssen, steigen die Kommunikationskosten quadratisch und die âLeistungâ des Teams linear. Drei Arbeiter benötigen dreimal so viel paarweise Kommunikation wie zwei, vier fĂŒr sechs.
Das Projektteam versucht, mit den Hinterteilen fertig zu werden // Ivan Aivazovsky, 1850Wenn 8 Personen in 10 Monaten ein Programm schreiben können, können 80 Personen in einem Monat dasselbe Programm schreiben? Die Ineffizienz extremer VerschĂ€rfungsfristen wird besonders in extremen FĂ€llen deutlich - beispielsweise bei 1.600 Personen, die an einem Tag ein Programm schreiben mĂŒssen. Lesen Sie mehr darĂŒber im gleichnamigen Buch von Frederick Brooks .
Bewertungsmuster
Mit den Problemen ist also alles klar. Was kann getan werden?
Zersetzung
Anstatt eine groĂe Aufgabe zu bewerten, ist es besser, sie in viele kleine Aufgaben zu unterteilen, sie zu bewerten und die Abschlussnote als Summe der Anfangsnoten zu erhalten. So töten wir sofort bis zu vier Fliegen mit einer Klappe:
- Wir verstehen den Arbeitsumfang besser. Um eine Aufgabe zu zerlegen, mĂŒssen Sie die Anforderungen lesen. UnerklĂ€rliche Orte entstehen sofort. Das Risiko einer Fehlinterpretation von Anforderungen wird verringert.
- WĂ€hrend der Analyse einer detaillierteren Analyse der Anforderungen beginnt automatisch der Denkprozess der Systematisierung von Wissen. Dies verringert das Risiko, einen Teil der Arbeit zu vergessen, z. B. Refactoring, Testautomatisierung oder den zusĂ€tzlichen Aufwand fĂŒr das Layout und die Bereitstellung
- Das Zerlegungsergebnis kann fĂŒr das Projektmanagement verwendet werden, sofern fĂŒr beide Prozesse ein Tool verwendet wurde (dieses Problem wird spĂ€ter im Text ausfĂŒhrlicher behandelt).
- Wenn wir den durchschnittlichen Fehler der SchĂ€tzung jedes wĂ€hrend der Zerlegung erhaltenen Problems messen und diesen Fehler mit dem Fehler der GesamtschĂ€tzung vergleichen, stellt sich heraus, dass der Gesamtfehler kleiner als der Durchschnitt ist. Mit anderen Worten, eine solche Bewertung ist genauer (nĂ€her an den tatsĂ€chlichen Arbeitskosten). Diese Aussage ist auf den ersten Blick kontraintuitiv. Wie kann die endgĂŒltige Bewertung genauer sein, wenn wir bei der Bewertung jedes zerlegten Problems einen Fehler machen? Betrachten Sie ein Beispiel. Um ein neues Formular zu erstellen, mĂŒssen Sie: a) den Code in das Backend schreiben, b) das Layout erstellen und den Code in das Frontend schreiben, c) testen und auslegen. Aufgabe A wurde nach 5 Stunden bewertet, Aufgaben B und C nach jeweils 3 Stunden. Die Gesamtpunktzahl betrug 11 Stunden. In Wirklichkeit war das Backend in 2 Stunden fertig, das Formular dauerte 4 Stunden und das Testen und Beheben von Fehlern dauerte weitere 5. Die Gesamtarbeitslast betrug 11 Stunden. Ideal um bewertet zu werden. DarĂŒber hinaus betrĂ€gt der Fehler bei der Bewertung von Aufgabe A 3 Stunden, Aufgabe B 1 Stunde und C 2 Stunden. Der durchschnittliche Fehler betrĂ€gt 3 Stunden. Tatsache ist, dass sich die Fehler, die SchĂ€tzungen zu unterschĂ€tzen und zu ĂŒberschĂ€tzen, gegenseitig aufheben. Die 3 Stunden, die im Backend eingespart wurden, kompensierten die Verzögerung von 1 und 2 Stunden im Frontend und in der Testphase. Die tatsĂ€chliche Arbeit ist eine Zufallsvariable, die von vielen Faktoren abhĂ€ngt. Wenn Sie krank werden, fĂ€llt es Ihnen schwer, sich zu konzentrieren, und statt drei Stunden kann es sechs dauern. Oder es tritt ein unerwarteter Fehler auf, der den ganzen Tag gesucht und behoben werden muss. Umgekehrt kann sich herausstellen, dass Sie anstelle des Schreibens einer eigenen Komponente eine vorhandene usw. verwenden können. Positive und negative Abweichungen heben sich gegenseitig auf. Somit nimmt der Gesamtfehler ab.
Funktionen und Aufgaben

Das HerzstĂŒck unserer Zerlegung ist Feature. Ein Feature ist eine Einheit zur Bereitstellung von Funktionen, die unabhĂ€ngig von anderen in Produktion gehen kann. Manchmal wird diese Ebene als User Story bezeichnet, aber wir sind zu dem Schluss gekommen, dass User Story nicht immer gut zum Festlegen von Aufgaben geeignet ist, und haben uns daher fĂŒr eine allgemeinere Formulierung entschieden.
Ein Mitglied ist fĂŒr eine Funktion verantwortlich. Jemand kann ihm bei der Implementierung helfen, aber eine Person geht zum Testen ĂŒber. Die Aufgabe wird ihm auch zur Ăberarbeitung zurĂŒckgegeben. AbhĂ€ngig von der Organisation des Teams kann dies ein Teamleiter oder direkt ein Entwickler sein.
Leider gibt es manchmal groĂe Funktionen. Es wird sehr lange dauern, allein an einem solchen Volume zu arbeiten. Und fĂŒr eine lange Zeit mĂŒssen Sie den Akzeptanzprozess testen und implementieren. Dann Ă€ndern wir die Art der Aufgabe in Epic. Epic ist nur ein sehr dickes Feature. Wir beginnen nichts weiter als ein Epos. Das heiĂt, Epen können einfach groĂ, riesig oder gigantisch sein. In jedem Fall wird das Epos in Teilen (Features) an die Annahme gesendet.
Zur genaueren Auswertung werden Features in separate Unteraufgaben (Task) zerlegt. Ein Feature könnte beispielsweise die Entwicklung einer neuen CRUD-Schnittstelle sein. Die Struktur der Aufgaben kann folgendermaĂen aussehen: "Tabelle mit Daten anzeigen", "Filterung und Suche beschleunigen", "Neue Komponente entwickeln", "Neue Tabellen zur Datenbank hinzufĂŒgen". Die Struktur der Aufgaben ist normalerweise fĂŒr das GeschĂ€ft ĂŒberhaupt nicht interessant, aber fĂŒr den Entwickler Ă€uĂerst wichtig.
Auswertung in Gruppen, Pokerplanung

Programmierer sind zu optimistisch in Bezug auf den Arbeitsaufwand. Nach verschiedenen Quellen schwankt die Unterbewertung meist im Bereich von 20 bis 30%. In Gruppen wird der Fehler jedoch reduziert. Dies ist auf eine bessere Analyse aufgrund unterschiedlicher Sichtweisen und die Bewertung des Temperaments zurĂŒckzufĂŒhren.
Die hĂ€ufigste Praxis mit der wachsenden PopularitĂ€t von Agile ist die Praxis der â
Pokerplanung â. Mit der Gruppenbewertung sind jedoch zwei Probleme verbunden:
- Sozialer Druck
- Zeitkosten
Sozialer Druck
In fast jeder Gruppe variieren die Erfahrung und die persönliche EffektivitĂ€t der Teilnehmer. Wenn das Team ein starkes Team / eine starke Technologie hat - den Lead / Lead-Programmierer - fĂŒhlen sich andere Mitglieder möglicherweise unwohl und unterschĂ€tzen absichtlich die Noten: âNun, wie kann Vasya das tun, aber bin ich schlechter? Das kann ich auch! â Die GrĂŒnde können unterschiedlich sein: der Wunsch, besser zu wirken als es wirklich ist, Wettbewerb oder einfach nur Konformismus. Das Ergebnis ist eines: Eine Gruppenbewertung verliert alle ihre Vorteile und wird individuell. Timlid gibt Noten, und der Rest stimmt ihm einfach zu.
Ich habe lange Zeit Druck auf das Team ausgeĂŒbt, um Bewertungen zu erhalten, die meinen Erwartungen besser entsprechen. Dies fĂŒhrte ausnahmslos zu einer QualitĂ€tsminderung und einer AufschlĂŒsselung. Infolgedessen habe ich meine Einstellung geĂ€ndert und jetzt ist meine Bewertung oft die gröĂte. WĂ€hrend der Diskussion weise ich auf mögliche Probleme hin, die mir in den Sinn kommen: âHier wĂŒrde Refactoring nicht schaden, hier Ă€ndert sich unsere Datenbankstruktur, es wĂ€re notwendig, einen Regressionstest durchzufĂŒhren.â
Es gibt mehrere Hauptempfehlungen:
- Die meisten Bewertungen werden unterschĂ€tzt. Sie können nicht zwischen zwei Bewertungen wĂ€hlen? Nimm den, der gröĂer ist.
- Nicht sicher ĂŒber die Bewertung - werfen Sie die Karte "?" oder eine tolle Bewertung. Vielleicht fast nie trĂ€gt.
- Vergleichen Sie immer Plan und Fakten. Wenn Sie wissen, dass Sie nicht zweimal passen, geben Sie eine SchĂ€tzung an, die doppelt so hoch ist wie Sie denken. Begonnen zu ĂŒbertreiben? Multiplizieren Sie in Ihrem Kopf mit eineinhalb. Nach einigen Iterationen sollte sich die QualitĂ€t Ihrer Noten erheblich verbessern.
Zeitkosten
Sie kennen den Satz "Wollen Sie arbeiten?" Treffen Sie sich! â Ein Programmierer versucht nicht nur, die Zukunft vorherzusagen, anstatt Code zu schreiben. Jetzt macht es die ganze Gruppe. DarĂŒber hinaus ist das Ausarbeiten einer Entscheidung in einer Gruppe ein viel lĂ€ngerer Prozess als das Treffen einzelner Entscheidungen. Daher ist die Gruppenbewertung ein Ă€uĂerst kostspieliger Prozess. Es lohnt sich, diese Kosten von der anderen Seite zu betrachten. ZunĂ€chst muss die Gruppe im Bewertungsprozess die Anforderungen erörtern. Dies bedeutet, dass Sie sie lesen mĂŒssen. Schon nicht schlecht. Zweitens vergleichen wir diese Kosten mit denen, die dem Unternehmen aufgrund einer UnterschĂ€tzung des Projekts entstehen.
Vor vielen Jahren, an einem Novembertag, wechselte ich meinen Job zu einer groĂen Firma. Mir wurde sofort klar, dass die Arbeit in vollem Gange war. Die HĂ€lfte des Unternehmens arbeitete daran, das Produkt vor Jahresende herauszubringen. Aber nach ungefĂ€hr einer Woche schien es mir, dass sie bis Ende des Jahres keine Zeit mehr haben wĂŒrden. Mit jedem nĂ€chsten Tag wurden die Erfolgschancen dieses Unternehmens immer illusorischer ... Das Projekt wurde wirklich im Dezember, wenn auch schon im nĂ€chsten Jahr, umgesetzt. Das habe ich viel spĂ€ter erfahren, weil im Sommer Probleme mit der Zahlung von Löhnen an Mitarbeiter begannen und ich zusammen mit etwa der HĂ€lfte der Mitarbeiter kĂŒndigte. Man kann sagen: "NatĂŒrlich sind Manager Dummköpfe, man musste auf Nummer sicher gehen." Sie haben sich versichert. Sechs Monate gab es keine Probleme mit der Zahlung von Löhnen. Es ist keine leichte Aufgabe, ein halbes Jahr lang ein Betriebskapital zu halten. Ich denke, wenn die Bewertung genauer wĂ€re, gĂ€be es andere Managemententscheidungen auf der obersten Managementebene.
Wenn wir die Investition in die Bewertung als Investition in die Annahme solider Managemententscheidungen betrachten, dann scheinen sie nicht mehr so ââteuer zu sein. GruppengröĂe ist eine andere Sache. NatĂŒrlich muss nicht das gesamte Team gezwungen werden, den gesamten Arbeitsaufwand zu bewerten. Es ist viel vernĂŒnftiger, die Aufgabe in
Module , Ahem, Mikrodienste zu unterteilen und den Teams Autonomie zu geben. Verwenden Sie auf einer höheren Ebene die SchÀtzungen jedes Teams, um einen Projektplan zu erstellen. Das bringt uns reibungslos zum Thema des nÀchsten Absatzes.
AbhÀngigkeitslayout, Gantt-Diagramme
Wenn Programmierer normalerweise Bewertungen abgeben, ist die Erstellung eines Projektplans das Los der mittleren Manager. Denken Sie daran, ich habe geschrieben, dass diesen Leuten geholfen werden kann, wenn ein Werkzeug fĂŒr die Zerlegung und das Projektmanagement verwendet wird. Auswertung und Kalenderzeit sind nicht dasselbe. Um beispielsweise eine einfache Datentabelle anzuzeigen, benötigen Sie:
- DB-Tabelle
- Backend-Code
- Frontend-Code
Das AusfĂŒhren von Aufgaben in dieser Reihenfolge ist aus technischer Sicht am einfachsten. In der RealitĂ€t gibt es jedoch unterschiedliche Spezialisierungen. Ein Front-End-Spezialist kann frĂŒher freigegeben werden. Anstatt untĂ€tig zu sein, ist es logischer, mit der Entwicklung der BenutzeroberflĂ€che zu beginnen, indem die Serveranforderung durch Schein- oder fest codierte Daten ersetzt wird. Wenn die API fertig ist, muss der Code nur noch durch einen Aufruf einer realen Methode ersetzt werden ... theoretisch. In der Praxis kann das maximale MaĂ an ParallelitĂ€t wie folgt erreicht werden:
- Zuerst prahlen wir schnell, um uns auf die API-Spezifikation zu einigen
- Codieren Sie dann die Daten auf der RĂŒckseite oder auf der Vorderseite fest, je nachdem, wer zur Hand ist.
- Gleichzeitig machen wir Datenbank, Backend und Frontend. Die Datenbank und das Backend blockieren sich teilweise gegenseitig, aber meistens werden diese Kompetenzen in einer Person zusammengefasst und die Arbeit lÀuft tatsÀchlich nacheinander ab: zuerst eine Datenbank, dann ein Backend
- Wir sammeln alles und testen
- Wir beheben Fehler und testen erneut
Es ist wichtig, dass die Schritte 1, 4 und 5 so schnell wie möglich ausgefĂŒhrt werden, um die Anzahl der Sperren zu verringern. Neben technologischen EinschrĂ€nkungen und EinschrĂ€nkungen bei der VerfĂŒgbarkeit von Spezialisten mit der erforderlichen Kompetenz gibt es noch geschĂ€ftliche PrioritĂ€ten! Und das bedeutet, dass nach drei Wochen eine Demonstration fĂŒr einen wichtigen Kunden geplant ist und er auf die erste HĂ€lfte Ihres Projektplans spucken wollte. Er möchte das Endergebnis sehen, das frĂŒhestens zwei Monate spĂ€ter vorliegen wird. Nun, dann mĂŒssen Sie einen separaten Plan fĂŒr diese Demonstration erstellen. Wir ergĂ€nzen den Plan, um die erforderlichen Datenbankdaten einzuschlagen, neue Links fĂŒr ĂbergĂ€nge zur BenutzeroberflĂ€che einzufĂŒgen usw. Es ist auch wĂŒnschenswert, dass am Ende 20% des Codes und nicht alle diese Demonstrationen weggeworfen werden mussten.
Das kĂŒnstlerische Schneiden eines solchen Plans ist keine leichte Aufgabe. Das Erstellen von AbhĂ€ngigkeiten vereinfacht den Prozess erheblich. Bevor Sie mit dem Berichtsmodul fortfahren, mĂŒssen Sie ein Dateneingabemodul erstellen. Ist es logisch? FĂŒgen Sie eine AbhĂ€ngigkeit hinzu. Wiederholen Sie dies fĂŒr alle zugehörigen Aufgaben. Glauben Sie mir, viele der AbhĂ€ngigkeiten werden Sie ĂŒberraschen.
Bei der Automatisierung von GeschĂ€ftsprozessen erhĂ€lt man normalerweise mehrere lange âSchlangenâ verwandter Aufgaben mit mehreren groĂen Sperrknoten. In den meisten FĂ€llen ist der ursprĂŒngliche Plan in Bezug auf die Ressourcennutzung nicht effektiv und / oder in Bezug auf den Kalender zu lang. Eine Ăberarbeitung der Bewertung der Arbeitskosten wird schneller erfolgen - keine Option. Die EinschĂ€tzung ist daher höchstwahrscheinlich optimistisch. Wir mĂŒssen zur Zersetzung zurĂŒckkehren, nach zu langen Ketten suchen und zusĂ€tzliche âGabelnâ hinzufĂŒgen, um den Grad der ParallelitĂ€t zu erhöhen. Aufgrund eines Anstiegs der Gesamtarbeitskosten (mehr Menschen arbeiten gleichzeitig an einem Projekt) wird der Kalenderzeitraum des Projekts verkĂŒrzt. Erinnerst du dich an den "mythischen Mannmonat"? Es ist unwahrscheinlich, dass ein Plan um mehr als 30% schrumpft. Damit das Budget und die Frist ĂŒbereinstimmen, kann der Plan mehrmals ĂŒberprĂŒft werden. Es gibt verschiedene Tricks, um den Prozess schneller und einfacher zu machen.
Task-Sperre
Den ersten Grund fĂŒr das Blockieren - AbhĂ€ngigkeiten - haben wir bereits berĂŒcksichtigt.
DarĂŒber hinaus kann es einfach zu unverstĂ€ndlichen / ungenauen Anforderungen kommen. Ein Tool wird benötigt, um Aufgaben zu blockieren und Fragen zu stellen. Mit der Spezifikation der Anforderungen können Sie Aufgaben entsperren und die Note anpassen. Dieser Prozess lĂ€uft ĂŒbrigens fast immer wĂ€hrend des Projekts ab und nicht davor.Der kritische Weg birgt Risiken
. , ( ), , , , . , , , , , , . , .
Kurz gesagt, wenn Sie mit der Struktur der Datenbank durcheinander kommen, mĂŒssen Sie die RĂŒckseite neu schreiben, die Last nicht berechnen, möglicherweise mĂŒssen Sie die Technologie insgesamt Ă€ndern. Ich habe im Artikel " Cost Effective Code " ausfĂŒhrlich ĂŒber die Risiken von Designarbeiten geschrieben . Je frĂŒher die Risiken auf dem kritischen Pfad eintreten, desto besser. Immerhin ist noch Zeit und es kann etwas getan werden. Noch besser, wenn sie ĂŒberhaupt nicht zustande kommen, aber seien wir realistisch.Daher mĂŒssen Sie mit den schlammigsten, komplexesten und unangenehmsten Aufgaben beginnen, sie in den Status âblockiertâ versetzen und AbhĂ€ngigkeiten klĂ€ren, neu bewerten und entfernen, wo immer dies möglich ist.Akzeptanzkriterien, TestfĂ€lle
NatĂŒrliche Sprache: Russisch, Englisch oder Chinesisch - egal - es kann sowohl ĂŒberflĂŒssig als auch ungenau sein. TestfĂ€lle ĂŒberwinden diese EinschrĂ€nkungen. Es ist auch ein gutes Kommunikationsinstrument zwischen Entwicklern, GeschĂ€ftsanwendern und der QualitĂ€tsabteilung.Projektmanagement
Willst du Gott zum Lachen bringen? ErzĂ€hl ihm von deinen PlĂ€nen. Selbst wenn ein Wunder passiert ist und Sie vor Arbeitsbeginn alle Anforderungen gesammelt und geklĂ€rt haben, Sie ĂŒber genĂŒgend kompetente Mitarbeiter verfĂŒgen, der Plan es Ihnen ermöglicht, den gröĂten Teil der Arbeit parallel zu erledigen, sind Sie immer noch nicht immun gegen Krankheiten der Mitarbeiter, Fehler bei der Bewertung und Umsetzung anderer Risiken. Daher ist es notwendig, den Plan regelmĂ€Ăig zu aktualisieren und mit der Tatsache zu vergleichen. Und dafĂŒr ist die BerĂŒcksichtigung der Arbeitszeit wichtig.Zeiterfassung oder Zeiterfassung
Zeit und Anwesenheit sind seit langem der De-facto-Standard in der Branche. Es ist Ă€uĂerst wĂŒnschenswert, dass es im selben Tool wie die Bewertung erstellt wird. Auf diese Weise können Sie die Abweichung der tatsĂ€chlich verbrachten Zeit von der geschĂ€tzten Zeit verfolgen. Es ist gut, wenn dieses Tool auch vom Projektmanager verwendet wird. Dann werden alle Verzögerungen des kritischen Pfades sofort spĂŒrbar. Eine Variante mit verschiedenen Werkzeugen ist ebenfalls möglich, erfordert jedoch erheblich höhere Arbeitskosten fĂŒr die Wartung des Prozesses, was bedeutet, dass die Versuchung besteht, herumzuspielen. Wir wissen bereits, wie das endet. Wir verwenden YouTrack . Alles, worĂŒber ich in dem Artikel geschrieben habe, ist derzeit sofort verfĂŒgbar, obwohl es ein wenig optimiert werden muss.Fazit
- Die Bewertung ist schwierig
- Durch die Zerlegung können Sie LĂŒcken in den Anforderungen finden und die QualitĂ€t der Bewertung verbessern
- Gruppenbewertungen sind genauer als einzelne, verwenden Sie Poker
- Blocker, TestfÀlle und formale Akzeptanzkriterien verbessern die Kommunikation, was wiederum die Erfolgschancen des Projekts erhöht
- Sie mĂŒssen mit den riskantesten Aufgaben auf dem kritischen Pfad des Projekts beginnen
- Evaluation ist keine einmalige Aktion, sondern ein vom Projektmanagement untrennbarer Prozess
- Ohne BerĂŒcksichtigung der Arbeitszeit ist es unmöglich, den Projektstatus auf dem neuesten Stand zu halten und Ihre SchĂ€tzungen anzupassen
Möchten Sie mehr ĂŒber die Projektevaluierung erfahren?
Lesen Sie das Buch von Steve McConnell " Wie viel kostet ein Softwareprojekt? " Und andere Artikel zu diesem Thema ĂŒber Habr- habr.com/de/company/infopulse/blog/170777
- habr.com/de/post/308494
- habr.com/de/company/ruswizards/blog/151029
- habr.com/de/company/mindbox/blog/321270
- habr.com/de/post/307820