Ermutigung von Software-Ingenieuren, die Zeit zu verfolgen


24

Wie kann ich meine Mitarbeiter dazu ermutigen, die Zeit zu erfassen, die sie für die Behebung von Problemen und die Implementierung von Funktionen aufgewendet haben? Wir haben Software, um dies zu tun, aber sie geben die Zahlen einfach nicht ein.

Ich möchte, dass das Team Projektschätzungen besser bereitstellt, indem es unsere früheren Schätzungen mit der tatsächlich aufgewendeten Zeit vergleicht. Ich vermute, dass meine Mitarbeiter den persönlichen Nutzen nicht sehen, da sie nicht oft in die Projektplanung involviert sind.


6
Möglicherweise liegt das Problem darin, dass sie die Zahlen eingeben müssen, anstatt dass die Software die Zeit verfolgt und sie in regelmäßigen Abständen auffordert, die Beschreibung der Aktivität festzulegen und die Aufzeichnung zu drücken. Ich habe ein Programm für mich geschrieben, um genau dies zu adressieren, weil ich den ganzen Tag in der Zone war und dann auftauchte und es mir schwerfiel, mein "Zeitprotokoll" für den Tag zu erstellen. Siehe softwaremonkey.org/Program/TimeKeeper
Lawrence Dol

3
Tun Sie ihnen einfach das an, was mir in einer Firma angetan wurde, für die ich gearbeitet habe. Weisen Sie ihm eine Aufgabe zu, lassen Sie ihn sofort drei aufeinanderfolgende Tage in Besprechungen verbringen, an denen Sie teilnehmen, und fragen Sie dann sofort nach den Besprechungen, warum die Aufgabe nicht abgeschlossen wurde.
user16764

2
Wo gebe ich die Zahlen für die Zeit an, in der ich ein Problem auf dem Heimweg löse?
Pieter B

1
@PieterB IMO Wenn Sie regelmäßig genug Zeit damit verbringen, über Arbeitsprobleme im Auto nachzudenken, die Ihre Produktivität steigern, sollte die Zeit für Projektschätzungen nachverfolgt werden, auch wenn sie nicht kompensiert werden. Es ist Zeit, dass Sie ansonsten an Ihrem Schreibtisch nachdenken. Auf der anderen Seite, wenn es sich um eine einmalige Enthüllung im Auto handelt, denke ich nicht, dass es sich lohnt, sie aufzuspüren, da es nichts ist, worauf Sie eine Projektschätzung stützen würden.
M. Dudley

1
@PieterB Auf jeden Fall eine Grauzone. Alles hängt davon ab, ob es nützlich ist, bei der Erstellung von Zeitplänen und Projektschätzungen zu verfolgen.
M. Dudley

Antworten:


41

Ich vermute, dass meine Mitarbeiter den persönlichen Nutzen nicht sehen, da sie nicht oft in die Projektplanung involviert sind.

Das ist reparabel.

Machen Sie sie in die Planung einbezogen.


2
Es gibt ein Zitat darüber, aber die meisten meiner Bücher sind immer noch verstaut. Da die Ingenieure selbst am besten in der Planung sind, sollten sie ab Tag 1 in die Planung eines Projekts einbezogen werden. Ich möchte sagen, dass dies von Steve McConnells Rapid Development stammt, bin mir aber nicht sicher.
Thomas Owens

4
Ich habe kürzlich ein Projekt von mir gesehen (6-monatiges Projekt), bei dem unser PM 4 Stunden für die Integration in eine andere Anwendung bereitgestellt hat. Es genügt zu sagen, dass die Integration beträchtliche Zeit in Anspruch nehmen wird, und ich und ein anderer Entwickler hielten dies für ziemlich komisch.
Chris

@ThomasOwens Es verblüfft mich jedes Mal, wenn mir gesagt wird, wie lange etwas von einem BA oder PM dauern wird. Dieser Irrtum ist so gründlich entlarvt, dass es traurig ist, zu erkennen, dass keiner der BAs oder PMs die geringste Lektüre über die Branche macht, in der er arbeitet.
Jimmy Hoffa

21

Joel Spolsky hat einen Artikel über Evidence Based Scheduling geschrieben , der Ihnen dabei helfen kann, einige Argumente zu finden.

Sie müssen Ihre Mitarbeiter davon überzeugen, dass bessere Schätzfähigkeiten ihnen helfen können, bessere Software zu erstellen. Hier sind einige Punkte für das Verfolgen der Aufgabenzeit:

  • Wenn Sie eine willkürlich festgelegte Frist für die Verwaltung haben, können Sie anhand guter Schätzungen feststellen, was Sie in dieser Zeit tatsächlich erreichen können. Als Bonus haben Sie einige nette Grafiken, um den Manager davon zu überzeugen, dass Sie wissen, wovon Sie sprechen.
  • Sie müssen das Projekt genauer durchdenken. In dem Artikel, den ich verlinkt habe, heißt es: "Sie müssen Ihren Zeitplan in sehr kleine Aufgaben aufteilen, die in Stunden gemessen werden können ." Da Sie über so ziemlich jede Facette des Projekts nachgedacht haben (hoffentlich über eine Spezifikation !), Ist es viel unwahrscheinlicher, dass Sie von etwas überrascht werden, an das Sie nicht gedacht haben.
  • Es macht dich zu einem besseren Entwickler. Mit der Zeit werden Sie feststellen, welche Arten von Aufgaben Sie tendenziell unterschätzen, sodass Sie einige Zeit damit verbringen können, diese spezifischen Aufgaben zu verbessern, anstatt sie blind zu optimieren.

1
+1 für den zweiten Punkt. Ich habe festgestellt, dass Schätzungen, die Zeitangaben in Tagen oder Wochen verwenden, in Tagen oder Wochen immer ungenau sind. Wenn Sie einige Stunden weniger Zeit haben, können Sie die anderen Schätzungen immer genauer berechnen. Das Schreiben einer Spezifikation oder das Erstellen eines PoC-Artefakts führt zu genaueren Schätzungen, obwohl es nicht so einfach ist, Schätzungen für diese Elemente zu erstellen.
Vineet Reynolds

10

Sie können dies auf die übliche Weise erreichen - Karotten und Peitschen.

Die Möhre (n) in diesem Fall könnte "eine verbesserte Zukunftsschätzung durch Verstehen unserer aktuellen Geschwindigkeit" sein - aber Sie müssten durch folgen.

Ihr Kommentar, dass sie nicht oft in die Projektplanung involviert sind, könnte dies zu einem schwierigen Verkauf machen.

Das Beste unter ihnen ist, dass Sie ihnen helfen, besser zu werden, besonders wenn Sie Anhänger von PSP haben.

Die gebräuchlichste Peitsche (um sie zu schlagen und die Karotte nicht vor sich zu halten) ist "es ist obligatorisch, mach es". Obwohl nicht sehr motivierend; Zumindest ist die Position klar.

Trägt die von Ihnen verwendete Software zu ihrer Zurückhaltung bei? Ist es klobig? Müssen sie Zeitcodes in System A nachschlagen, bevor sie ihre Zeit in System B eingeben? Ist es zu detailliert, lässt es keine "Aus" -Zeit zu und verlangt eine Abrechnung von 8 Stunden pro Tag. Machen Sie es so reibungslos wie möglich, um auch die Adoption zu unterstützen.

Viel Glück


5
+1 für diesen letzten Absatz. Machen Sie es sich leichter, die Zeiterfassung zu machen, als sie nicht zu machen, und plötzlich wird es auf magische Weise erledigt.
Scott

5
Großartiger letzter Punkt - ich hasste es, eine 8-stellige Zahl nachzuschlagen, wenn ein webbasiertes Dropdown in 10 Minuten geschrieben werden konnte (meine Schätzung unter Verwendung der Schätzwürfel, die ich in meinem Schreibtisch aufbewahre). Außerdem würde ich keine Management-Bingo-Begriffe wie "Unsere aktuelle Geschwindigkeit verstehen" verwenden, sondern "Sie müssen nicht viele obligatorische unbezahlte Überstunden machen, um die Dinge am Ende des Zeitplans in den Griff zu bekommen, wenn wir unsere Zeitpläne realistisch gestalten." beginnen mit."
Wonko the Sane

@ Wonko +1 für "Schätzung Würfel" :-)
SDG

8

Nach meiner Erfahrung treten bei den meisten Zeiterfassungsprogrammen die folgenden Probleme auf:

  • Der Entwickler hat weder die Fähigkeit noch die Befugnis, eine Aufgabe im laufenden Betrieb in leichter abzuschätzende Teilaufgaben aufzuteilen.
  • Es gibt keine gute Möglichkeit , um Konto für Unteraufgaben Sie nicht kennen , bis Sie begann auf etwas arbeiten, eine Situation , die kommt die ganze Zeit in der Software - Entwicklung und Debugging.
  • Die aufgewendete Zeit wird nachträglich eingegeben, wenn es schwierig ist, sich genau zu erinnern, wie viel gezielter Aufwand für eine Aufgabe aufgewendet wurde und wie viel für Besprechungen, Fragen von Kollegen, Peer-Reviews und andere Gemeinkosten aufgewendet wurde.
  • Es gibt keine gute Möglichkeit, nicht verfolgte Aufgaben zu berücksichtigen. Nehmen Sie sich am Ende des Tages acht Stunden Zeit, obwohl sechs davon mit Besprechungen und Ähnlichem zu tun hatten?
  • Es gibt keine gute Möglichkeit, Unsicherheiten in Ihren Schätzungen zu berücksichtigen und mitzuteilen.

Ich habe viele dieser Probleme angegangen, indem ich angefangen habe, die Pomodoro-Technik für mich zu verwenden. Wenn ich 25 Minuten ohne Unterbrechung an einer Aufgabe arbeite, wird sie sofort aufgezeichnet und meine Schätzungen werden anhand dieser ununterbrochenen Intervalle vorgenommen. Ich arbeite immer noch daran, eine evidenzbasierte Planung zu integrieren, um die Unsicherheit zu kommunizieren, und meine eigene feinkörnige Nachverfolgung in grobe Planungsschätzungen umzusetzen, die PMs mögen, aber es ist definitiv eine Verbesserung bis jetzt.


6

Gute Möglichkeit

Verwenden Sie Software, die das tatsächlich einfach und fast transparent macht, wie zum Beispiel Mylyn. Kombinieren Sie es mit Tools wie z. B. einer Stunden-Burndown-Tabelle.

Schlechter Weg

Zwingen Sie sie, mühsame Arbeitszeittabellen auszufüllen, in denen Sie Projekt, Aufgabe, genaue Daten und Zeiten usw. manuell angeben müssen.


3
Ich hoffe, Sie haben das Formular tt-proc-1b ausgefüllt, um die Zeit aufzuzeichnen, die Sie für die Beantwortung dieser Frage aufgewendet haben. Anschließend haben Sie sich von der Geschäftsleitung abmelden lassen, um die aufgewendete Zeit zu vereinbaren. und Sie haben das Formular tt-est-1a ausgefüllt, um die voraussichtliche Zeit aufzuzeichnen, die Sie für die Beantwortung dieser Frage aufwenden würden, bevor Sie mit der Beantwortung dieser Frage begonnen haben?
gbjbaanb

mylyn / tasktop ... nicht perfekt, aber sicher trägt viel zu einer guten Zeiterfassung bei, genau wie ein Nebeneffekt eines anderen Tools, das den Programmierern direkt die tatsächlichen Vorteile bietet ... nicht perfekt, aber dennoch unglaublich gut !!
Newtopian

2

Wenn Sie nicht der Teamleiter / PM sind, werden Sie mit diesem Problem zu kämpfen haben. Die Leute hören ihren Kollegen nicht gern zu, wenn sie mehr arbeiten müssen als unbedingt nötig (meiner Erfahrung nach jedenfalls). Versuchen Sie es mit Ihrem Teamleiter oder PM, und wenn sie mit Ihrem Fall einverstanden sind, können sie wahrscheinlich nur die Zeitprotokollierung obligatorisch machen (das ist, was passiert ist, wo ich gerade arbeite).

Wenn Sie der Teamleiter / PM sind, müssen Sie in Ihrer Rolle energischer sein: Diese Leute sind da, um das zu tun, was Sie ihnen (effektiv) sagen. Wenn Sie mehr Informationen für Ihre Arbeit benötigen, sollten Sie sie dazu bringen, dies zu tun Information. Wenn sie nicht bereit sind, Ihnen bei der Beschaffung der Informationen zu helfen, liegt dies wahrscheinlich daran, dass sie nicht verstehen, warum sie nützlich sind. Versuchen Sie, mit ihnen zu sprechen, um zu erklären, wie häufig Ihre Projekte vom Zeitplan abweichen / überschätzt werden / was auch immer und warum dies so ist Sie Probleme, sehen Sie, ob Sie sie umdrehen können!


2

Verfolge deine Zeit oder werde nicht bezahlt. Millionen von Menschen tun es (Berater, Anwälte usw.), warum können sie es nicht?

Einige mögen denken, dass dies eher drakonisch ist, aber es ist nicht so. Wenn Sie bei Starbucks arbeiten, müssen Sie das Badezimmer putzen . Wenn Sie bei einer Bank arbeiten, tragen Sie einen Anzug und eine Krawatte, um jeden Tag zu arbeiten , und wenn Sie ein Software-Ingenieur in einem Team sind, das Sie benötigt, um Ihre Zeit zu verfolgen, tun Sie es !

Manchmal müssen wir Dinge an unseren Arbeitsplätzen tun, die wir nicht mögen. Wir sind alle große Jungen und Mädchen, ich denke, wir sollten damit umgehen können.


1
Genau das, was ich sagen wollte. Vor allem, wenn Sie Kunden haben, die die Rechnung bezahlen - wie können Sie sonst wissen, was Sie ihnen in Rechnung stellen müssen? Ich garantiere, dass ein verspäteter Gehaltsscheck, weil jemand seine Zeit nicht geladen hat, das Problem für immer beheben würde.
HLGEM

2
Dies ist eine hervorragende Möglichkeit, sich verklagen zu lassen, wenn Sie den Mitarbeitern, die Sie als FLSA-befreit geltend machen, keine Überstunden zahlen, diese jedoch nicht für eine Befreiung in Frage kommen, da Sie die Vergütung auf der Grundlage der Leistung ankoppeln.
Wooble

1
@Wooble: Natürlich befürworte ich keine Handlungen, die Sie anfällig für Klagen oder Misshandlungen Ihrer Mitarbeiter machen würden. Aber die Idee ist dieselbe. Es sollte Beleidigungen geben, wenn Sie Ihren Job nicht machen. In vielen Fällen gehört das Verfolgen Ihrer Zeit zu Ihrem Job. Vielleicht zahlen Sie nicht, aber Sie warnen, legen Bewährung an, was auch immer Sinn macht, aber Tatsache ist, dass Sie Ihren Job machen müssen . Es ist egoistisch, es nicht zu tun, weil es auch alle Ihre Teammitglieder betrifft.
Richard

@HLGEM: Dein Punkt ist genau richtig. Wenn Ihr Vertrag mit dem Kunden auf der Grundlage von Mess- und Regeltechnik abgeschlossen wurde, sollten Sie Ihre Zeit besser nachverfolgen oder unehrlich sein.
Richard

Leider bin ich nicht in der Lage, Zeiterfassung zu beauftragen, daher muss ich nach alternativen Methoden suchen.
M. Dudley

1

Offensichtlich hängt die beste Antwort ausschließlich von der psychologischen Zusammensetzung Ihres Teams ab. Sind sie wettbewerbsfähig? Entwerfen Sie einen wiederkehrenden Wettbewerb, bei dem der Gewinner für die Eingabe seiner Zeit in das System belohnt wird. Stellen Sie den Wettbewerb so ein, dass die Spieler ihn für fair und unterhaltsam halten. Mach ein Spiel daraus.

Vielleicht befürchten sie, dass es negative Konsequenzen hätte , wenn transparent wäre, wie viel Zeit sie tatsächlich für die Ausführung einer Aufgabe aufgewendet haben. Ich habe mich schon immer gefragt, ob ich ein anonymes "Aufwandsverfolgungs-Tool" entwickeln soll, bei dem die Eimer hoch genug sind, um mehrere Personen in jeden Eimer zu stecken, die von einzelnen Mitwirkenden nicht herausgegriffen werden konnten. Sogar genauere Aufwandskosten für Projekt-Buckets auf hoher Ebene könnten nützliche Daten für die Projektplanung und die Geschwindigkeit des gesamten Teams sein, aber dies würde die "OMG" vermeiden. "oder was auch immer die Leute Angst haben, in einem traditionellen Zeiterfassungssystem zu berichten.

Ich nehme an, dies sind nur zwei Beispiele, aber wenn Sie die psychologische Zusammensetzung Ihres Teams genau kennen, erhalten Sie die richtige Antwort, wie Sie Anreize schaffen oder sie auf andere Weise ermutigen können, ihre Aufwandskosteninformationen beizutragen.


+1 für die Transparenzsache. Ich musste einmal ein Zeiterfassungssystem durchführen und habe es dem Management absichtlich sehr schwer gemacht, die genaue Start- und Endzeit zu ermitteln, stattdessen konnten sie nur die Gesamtzeit sehen, die sie verbraucht hatten. Auf diese Weise war es egal, wann ein Mitarbeiter die Arbeit erledigte, nur dass sie erledigt war und wie lange es dauerte. Ein kleines Detail aber trotzdem.
James

1

Überlegen Sie, warum sie möglicherweise nicht gut auf diese Anfrage reagieren. Gehen Sie nicht einfach davon aus, dass sie faul sind oder Anstrengungen vermeiden.

Entwickler, die keine Beweise vorlegen, sind in der Regel

  • Besorgt darüber, wie es verwendet werden könnte und / oder
  • Besorgt über die Gültigkeit der Daten

Aus diesem Grund hat die punktbasierte Schätzung und Größenbestimmung von Hemden in den letzten Jahren zugenommen. Es berücksichtigt die sehr unsichere Natur des Schätzungsprozesses und ermöglicht "Magie" (auch bekannt als Mittelwert aus den Unsicherheiten), die Kontrolle über die Planung zu übernehmen.

Und obwohl es nicht logisch erscheint, funktioniert es meistens - zumindest so gut wie ein stunden- oder tagbasiertes System. Es ist auch sehr schwierig, ein Team oder eine Einzelperson mit dem, was sie in einem Monat erreicht haben, auf den Kopf zu schlagen, wenn dies auf eine willkürliche Weise geschieht.

Scrum ermöglicht Entwicklern auch die Kontrolle über die Geschwindigkeit, was bedeutet, dass sie ein Versprechen abgeben, um alles zu erreichen, was Sie aus A, B und C oder A, Y und Z auswählen. aber wenn du ihnen dieses Versprechen machst, ist es ihnen egal. Es ist deine Schuld, wenn es falsch ist.

Ich verstehe, dass Sie sagen, Sie würden die Neueinschätzungen nicht auf diese Weise verwenden, aber wie sicher sind sich die Einzelpersonen in Ihrem Team darüber?


1

Jedes Tool, bei dem Programmierer noch mehr Zeit für die Programmierung aufwenden müssen, ist nicht unbedingt eine großartige Sache. Programmierer haben bereits viel Overhead, sie haben keine 5-minütigen Meetings und verschlüsseln dann einen Sturm.

Wenn Sie die Macht haben, können Sie sie dazu zwingen. Die mit Abstand beste Lösung ist jedoch, ein nahtloses Tool zu erstellen, das es schmerzlos macht. Ich kann Ihnen nicht sagen, wie es für das Design gemacht wird, aber für das Codieren möchten Sie Änderungen protokollieren, die in der Entwicklungsumgebung vorgenommen wurden. Früher war das ein unglaublich hoher Balken, aber wenn Sie so etwas wie Eclipse verwenden, ist es nicht so schlimm, vielleicht existiert es bereits. Auf diese Weise können Sie messen, wie viel Zeit in jede Datei und möglicherweise in Java in jede Methode fließt. Das sind viel feinkörnigere Informationen, als Sie erhalten, wenn Sie sie zur Abrechnung auffordern, und sie können ziemlich genau sein.

Wenn Sie über ein Tool zur Eingabe von Designs verfügen, können Sie dort auch abfangen.


0

Hängt davon ab, wie und warum sie die Zeit protokollieren sollen. Zählen wir auch nur die Zeit im Büro oder die Zeit, die für den Weg zur Arbeit aufgewendet wurde, um über das Problem nachzudenken?

Die Projektplanung ist schwierig und es besteht die Möglichkeit, dass die Messdaten nicht so nützlich sind, wie Sie vielleicht glauben. Keine zwei Probleme sind gleich, sodass eine Aufgabe acht Stunden dauern kann, während die andere 32 Stunden dauern kann.

Möglicherweise möchten Sie sich mit evidenzbasierter Planung befassen, da der Entwickler schätzt, wie lange eine Aufgabe dauern wird, und diese dann im Laufe der Zeit anpasst, je nachdem, wie gut ihre Schätzungen sind. Dies ist jedoch nicht so gut für große Projekte, da Sie möglicherweise nicht alle Aufgaben im Voraus kennen. Bei großen Projekten ist es möglicherweise besser, sich frühere Projekte mit ähnlichem Umfang anzusehen und sie als Maßstab zu verwenden, als zu versuchen, einzelne Schätzungen zu aggregieren.


0

Versuchen Sie, sie in persönliche Organisationssysteme wie beispielsweise die Pomodoro-Technik einzuführen (es gibt viele andere, aber das ist das, was ich gerade versuche).

Die Technik verwendet einen Timer, um die Arbeitsperioden in 25-Minuten-Intervalle zu unterteilen, die als "Pomodori" (vom italienischen Wort für "Tomaten") bezeichnet werden und durch kurze Pausen getrennt sind. Die Methode steht in engem Zusammenhang mit Konzepten wie Timeboxing und iterativer und inkrementeller Entwicklung, die im Software-Design verwendet werden, und wurde im Zusammenhang mit der Programmierung von Paaren angewendet. Die Methode basiert auf der Idee, dass häufige Pausen die geistige Beweglichkeit verbessern können.


0

Verwenden Sie eine Software, die mühelos funktioniert, anstatt sie zur Eingabe ihrer Nummern zu überreden. Ich verwende ScreenAware: https://www.screenaware.com/en/ Es zeichnet Ihre Zeit automatisch auf und ordnet sie den jeweiligen Projekten zu. Es ist also immer genau und niemand muss mehr raten


Diese spezielle Lösung funktioniert möglicherweise nicht für die allgemeine Frage von OP. Während es in Ordnung ist, Links bereitzustellen, versuchen Sie beim nächsten Mal, eine allgemeinere Lösung bereitzustellen, es sei denn, OP erwähnt ausdrücklich, dass Softwarelösungen für sein Problem angefordert werden.
Neil

-1

Haben Sie überlegt, stattdessen Ihr bestehendes Ticketsystem zu verwenden? Unser Ticketsystem überwacht den Zeitraum zwischen der Erstellung eines Tickets und dessen Schließung. Wenn Sie Tickets für Aufgaben erstellen und eine Ticketnummer als Voraussetzung für das Festschreiben des Codes festlegen, bekommen Sie mehr für Ihr Geld.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.