Wir haben ein Problem bei der Arbeit: Wir versuchen, die Arbeit so zu planen, dass wir Zeitskalen einschätzen und Stichtage erhalten können.
Das Problem ist, dass es schwierig ist, ein Projekt zu planen, ohne zu wissen, was alles passieren wird.
Derzeit haben wir beispielsweise alle unsere Projekte bis Anfang Dezember geplant. In dieser Zeit werden jedoch verschiedene interne und externe Besprechungen, Telefonkonferenzen und zusätzliche Arbeiten stattfinden. Es ist schön und gut zu sagen, dass ein Projekt drei Wochen dauern wird, aber wenn in dieser Zeit eine Unterbrechungswoche ansteht, wird der Fertigstellungstermin um eine Woche verschoben.
Das Problem ist dreifach:
Wenn wir Projekte planen, werden die Zeitskalen wörtlich genommen. Wenn wir drei Wochen veranschlagen, wird die Frist auf drei Wochen festgesetzt, der Kunde wird informiert, und es besteht kein Raum für eine Verlängerung.
Zwischenarbeiten und dergleichen bedeuten, dass wir produktive Zeit für die Arbeit am Projekt verlieren.
Manchmal haben Kunden nicht die Zeit, die wir brauchen, um die Arbeit zu erledigen, deshalb kommen sie manchmal zu uns und sagen, dass sie bis Ende des Monats ein Projekt erledigen müssen, auch wenn wir glauben, dass die Arbeit zwei Monate dauern wird - ganz zu schweigen davon, dass wir bereits arbeiten müssen.
Wir haben ein Gantt-Diagramm, das wir versuchen, mit allen Projekten auszufüllen, die wir haben, und wir füllen Arbeitszeittabellen aus, aber sie werden überhaupt nicht mit dem Gantt-Diagramm verglichen. Das macht es schwierig zu sagen, "Nun, wir haben 3 Wochen für dieses Projekt eingeplant, aber wir haben hier eine Woche verloren, daher muss die Frist um eine Woche verschoben werden."
Es ist auch nicht professionell, Termine, die wir dem Kunden mitgeteilt haben, nicht einzuhalten.
Wie gehen andere mit dieser Situation um? Wie managen Sie die Planung von Projekten? Wie viel "zusätzliche" Zeit planen Sie in ein Projekt ein, um Nicht-Projektarbeit zu berücksichtigen, die während eines Projekts auftritt? Wie gehst du mit Support-Problemen, Bugs und anderen Dingen um? Dinge, die Sie bei der Planung nicht berücksichtigen können?
AKTUALISIEREN
Viele gute Antworten danke.
quelle
Antworten:
Das ist der Punkt des Risikomanagements. Sie können nicht alles wissen, also planen Sie basierend auf Ihren Kenntnissen und identifizieren, welche Dinge den größten Einfluss auf Ihren Plan haben könnten und wie wahrscheinlich dies ist. Bewerten Sie auch die möglichen Auswirkungen des Zeitplans, indem Sie angeben, dass der Zeitplan bei Auftreten von X um geschätzte (Schlüsselwort - geschätzt) Y Tage oder Wochen verschoben wird.
Niemals eine so genaue Schätzung abgeben. Geben Sie einen Bereich an oder quantifizieren Sie die Wahrscheinlichkeit, diese Schätzung zu treffen. Sagen Sie zum Beispiel "Dieses Projekt dauert 2-5 Wochen" oder "Dieses Projekt wird mit einer Wahrscheinlichkeit von 85% in 3 Wochen und mit einer Wahrscheinlichkeit von 95% in 4 Wochen durchgeführt".
Wahr. Sie mischen jedoch die Begriffe "Schätzung", "Zeitplan" und "Frist". Ihre Schätzung ist eine ungefähre Abschätzung, wie lange es dauern wird, bis eine bestimmte Aufgabe oder ein bestimmtes Projekt abgeschlossen ist, und wie wahrscheinlich es ist, dass Sie diese erfüllen. Die Frist ist ein vom Kunden festgelegter Termin, an dem das Projekt durchgeführt werden muss, um Mehrwert zu schaffen. Der Zeitplan ist, wie Sie Ihre verfügbaren Ressourcen verwenden, um Ihre Frist einzuhalten.
Es gibt Zeiten, in denen es einfach nicht möglich ist, die zugewiesene Arbeit innerhalb einer Frist zu beenden, und alle Schätzungen und Planungen in der Welt werden keinen Unterschied machen.
Ich empfehle, zwei Bücher von Steve McConnell zu lesen: Software Estimation: Demystifizierung der schwarzen Kunst und Rapid Development: Zähmung wilder Software-Pläne . Bei Software Estimation geht es darum, Ihre Schätzungen zu erstellen, den Kunden vorzustellen und einige Aspekte der Verhandlung und des Umgangs mit unrealistischen Erwartungen zu berücksichtigen. Rapid Development ist das allgemeine Projektmanagement, das sich mit Entwicklungslebenszyklen, Planung, Ressourcenzuweisung und der bestmöglichen Planung und Budgetierung von Projekten zur Einhaltung Ihrer Schätzungen und Fristen befasst.
quelle
Ich würde vorschlagen, die Details des Scrum-Entwicklungsprozesses zu untersuchen . Es deckt solche Ablenkungsaktivitäten anhand der
focus factor
Metrik ab. Grundsätzlich müssen Sie 2-3 Sprints / Iterationen durchführen und dann den Fokusfaktor Ihres Teams messen (und für jedes Mitglied wäre dies ebenfalls hilfreich). Danach können Sie genauere Schätzungen vornehmen, die die tägliche Aktivität abdecken.Schauen Sie sich diesen Artikel an - "Der Fokusfaktor"
quelle
Die Sache mit Unterbrechungen ist, dass bestimmte Personen oder Teams dazu neigen, innerhalb eines relativ kleinen Bereichs von Wahrscheinlichkeiten vorzukommen. Beispielsweise haben Sie ungefähr dieselbe Anzahl von Besprechungen pro Woche oder ungefähr dieselbe Anzahl von Stunden, die Sie für dringende Fehlerbehebungen pro Monat aufgewendet haben, oder dieselbe Zeit, die Sie für die Beantwortung von Fragen für Personen aufgewendet haben, die an Ihrem Schreibtisch vorbeikommen eine lange Zeitspanne.
Viele moderne Planungstechniken berücksichtigen dies. Scrum berücksichtigt die Geschwindigkeit. Die evidenzbasierte Planung verwendet auch eine Geschwindigkeit mit einem Konfidenzintervall für eine bestimmte Schätzung. Pomodoro berücksichtigt Unterbrechungen, wenn Sie entscheiden, mit wie vielen "Pomodoros" Sie in einer bestimmten Woche rechnen können. All dies hängt davon ab, ob Sie historische Messungen Ihrer Unterbrechungen nachverfolgen und diese in Ihre Schätzungen einbeziehen. Ich empfehle Ihnen, sich alle anzuschauen und eine Technik zu entwickeln, die für Ihr Team funktioniert.
quelle
Rundum gute Ratschläge.
Eine andere Sache, die für die Behandlung von Support-Problemen hilfreich sein kann, ist, Leute zu beschäftigen, die sich auf einer festen "Round-Robin" -Basis um den Support kümmern.
Wenn Sie beispielsweise 5 Entwickler haben, weisen Sie jedem Wochentag einen zu. Wenn dieser Tag kommt, arbeitet der zugewiesene Entwickler NUR für diesen Tag im Support. Am nächsten Tag übernimmt ein anderer Entwickler den Support. Auf diese Weise hat jeder die Chance, in seinem "Flow" zu bleiben, jeder bekommt einen Vorgeschmack auf das Hundefutter.
Wie Sie sich WIRKLICH dafür entscheiden, die reguläre Supportarbeit aufzuteilen, spielt keine Rolle (das Round-Robin- Verfahren an Wochentagen ist nur ein Beispiel). Es kommt darauf an, die Support-Zeit auf feste regelmäßige Intervalle zu beschränken. Dies macht die Entwicklungszeit vorhersehbarer, da nicht jeder "alles fallen lassen" kann, um Support-Probleme zu lösen.
quelle
Dies ist eine Fähigkeit, die wirklich mit Erfahrung einhergeht, und oft werden Leute gefragt, bevor sie in der Lage sind, so etwas genau zu beurteilen. Ich habe immer in einer ziemlich engen Gruppe mit einem informellen Stil gearbeitet, aber wir entwickelten ein paar Faustregeln, die gut zu halten schienen.
Erstens dauert keine Aufgabe weniger als eine Woche. Schätzen Sie immer in Wochen, auch wenn eine Aufgabe nur wenige Tage in Anspruch nehmen würde. Es wird einen Grund geben, warum dies nicht vor Ende der Woche geschehen wird.
Zweitens, geben Sie Ihr Bestes, um die Zeit zu schätzen, die die Aufgabe in Anspruch nehmen wird, einschließlich Unterbrechungen, Kundenunterstützungsproblemen, Tests usw. Verdoppeln Sie nun diese Anzahl. Das ist Ihre Schätzung (in Wochen).
Stellen Sie drittens sicher, dass Ihr Manager Ihre Schätzungen nicht bereits aufpolstert. Unser Team hatte einen Manager, der sich über unsere Schätzungen beschwerte. Es stellte sich heraus, dass er es bereits mit 2,1 multiplizieren würde (seine empirisch abgeleitete Auffüllschätzung), und wir hatten es bereits verdoppelt, bevor wir es ihm sagten.
Es ist kein ausgefallenes Werkzeug und möglicherweise keine perfekte Methode, funktioniert aber überraschend gut.
quelle
Die Leute, die die Schätzung vornehmen, müssen verstehen, dass kein Team jemals zu 100% an einem Projekt beteiligt ist. Sie haben Krankenurlaub, Urlaub, Jury-Pflicht, Trauerurlaub, erforderliche HR-Besprechungen (es ist Zeit für Vorteile!), Teambesprechungen, die nicht projektbezogen sind, unvermeidbare Verzögerungen, Badezimmerpausen, Unterstützung bei der Arbeit an bereits in Produktion befindlichen Artikeln, Umgang mit E-Mails, , Konfigurieren des neuen Computers nach dem Tod des alten, Beantworten von Fragen zur zukünftigen Arbeit und Vornehmen von Schätzungen für diese Arbeit, Mentoring von Junioren usw., die berücksichtigt werden müssen. Es ist unverantwortlich, dass ein Schätzer mehr als 6 von 8 Stunden einnimmt Verfügbar pro Tag. Dies ist eine Garantie dafür, dass die Frist nicht eingehalten werden kann. Wenn Sie garantieren, dass die Frist nicht eingehalten werden kann, garantieren Sie einem unglücklichen Kunden.
quelle
Sie haben vollkommen recht - es ist schwierig, ein Projekt zu planen, ohne zu wissen, was alles passieren wird. Es ist jedoch sehr wichtig, den Überblick zu behalten, was eine Norm ist, sowie die Aufgaben, die Sie vorhersehen. Hier spielt die Terminverwaltung eine Rolle. Ich habe das Microsoft-Projektmanagement (Standardversion) verwendet, für das auch Funktionen enthalten sind, die Teil einer Projektmanagement-Planungssoftware sind.
Weitere Informationen finden Sie unter http://www.microsoft.com/project/en/us/schedule-management.aspx .
quelle
Es scheint, als würden Ihre Projektteams eine Menge versteckter Anstrengungen unternehmen, durch die Sie den Fokus und die Geschwindigkeit verlieren. Es könnte von Vorteil sein, die zu erledigende Aufgabe tatsächlich zu trennen
an eine bestimmte Personengruppe, damit sich die anderen Teammitglieder auf die neuen Entwicklungsaufgaben konzentrieren können. Dadurch kann die Gesamtproduktion etwas sinken, aber die Qualität wird verbessert, weil weniger Ablenkung herrscht. Im Gegenzug wird die Anzahl der Bugs reduziert, sodass A-hoc-Arbeiten den Weg in Ihre Projekte finden.
Was den Planungsteil betrifft, stimme ich der Antwort von Thomas Owens vollkommen zu.
quelle