Was ist die bevorzugte Anzahl von Aufgaben, die zugewiesen werden sollen?

Ich werde zum ersten Mal in meiner Karriere ein kleines Team leiten und bin entschlossen, mein Team nicht denselben Problemen auszusetzen, denen ich als Programmierer ausgesetzt war.

Diese Frage bezieht sich auf ein solches Problem. Einige Manager, mit denen ich zusammengearbeitet habe, haben normalerweise eine Aufgabe nach der anderen zugewiesen und die nächste Aufgabe erst dann zugewiesen, wenn ich die anstehende Aufgabe erledigt habe. Einige Manager haben früher jeweils ein paar Aufgaben mit ihren Prioritäten zugewiesen und mir überlassen, sie in der Reihenfolge zu erledigen, die mir gefiel.

Ich mag die letztere Methode, da ich eine Pause machen und an einer anderen Aufgabe arbeiten kann, wenn ich bei einer Aufgabe an eine Wand stoße. Aber die Manager, die die frühere Methode bevorzugten, taten dies wahrscheinlich aus gutem Grund.

Meine Frage ist also, wie wähle ich als Führungskraft die richtige Art der Aufgabenverteilung? Wenn Sie der Meinung sind, dass Ihre persönliche Erfahrung als Manager oder Programmierer beim Zuweisen oder Zuweisen von Aufgaben zur Antwort beiträgt, teilen Sie sie bitte mit.

Als Ingenieur habe ich versucht, es als ein Operations-Research-Problem zu betrachten, aber ich möchte nur sicherstellen, dass ich es nicht übersehe, wenn es noch mehr gibt.

Danke.

Antworten (8)

Es spielt keine Rolle, Sie werden es sowieso falsch verstehen. Nur der Einzelne selbst weiß, was für ihn am besten ist, daher finde ich es ein bisschen anmaßend zu glauben, dass man das besser machen kann.

Die Antwort lautet also: nicht .

Das Zuweisen von Aufgaben ist schlecht für die Softwareentwicklung, da es unter anderem die Kreativität behindert und negativen Stress erzeugt. Erwägen Sie stattdessen, es umzudrehen und das Team Aufgaben auswählen zu lassen. Das macht es zu einem persönlichen Engagement , das mit viel größerer Wahrscheinlichkeit Erfolg hat. Es erzeugt auch ein bisschen gesunden Druck, weil sie es auf sich genommen haben, die Aufgaben zu erledigen, anstatt das jemand anderes für sie tun zu lassen.

Außerdem gewinnen Sie Zeit für wirklich wichtige Dinge, wie das Priorisieren von Aufgaben und das Beseitigen von Hindernissen für das Team.

Im Wesentlichen geht dies von "Push" zu "Pull".

Ich bin anderer Meinung, genau aus dem Grund, den Sie in der ersten Zeile angeben: Menschen haben unterschiedliche Bedürfnisse. Einige Leute bevorzugen übersichtliche Aufgaben, weil sie sich auf das Problem konzentrieren können, anstatt Aufgaben zuzuweisen und zu überblicken. „Gesunder“ Druck ist vielleicht nicht für jeden gesund. Nicht jeder arbeitet besser mit persönlichem Engagement und nicht jeder bevorzugt es - und es deutet keineswegs auf mangelnde Fähigkeiten in der Entwicklung selbst hin. Ich denke, Sie sollten die Lösungen finden, die die individuellen Talente der Menschen am besten nutzen, und Nichteinmischung ist nicht immer der bessere Weg.
@Inca, ich bin mir ziemlich sicher, dass die meisten Entwickler die Freiheit bevorzugen, Aufgaben auszuwählen, an denen sie gerne arbeiten und wie viel sie gleichzeitig übernehmen, anstatt es jemand anderen für sie tun zu lassen. Und ehrlich gesagt, Erwachsene, die Händchenhalten und Mikromanagement bevorzugen ... Es ist sowieso nicht das Zeichen eines wirklich großartigen Entwicklers in meinem Buch.
@Martin: Diejenigen, die die Freiheit bevorzugen (und damit umgehen können), sollten sie nach Möglichkeit bekommen. Aber es gibt diejenigen, die das nicht tun und die trotzdem wertvoll und talentiert sein können. Wenn Sie sie nicht einstellen möchten, ist das natürlich Ihre Entscheidung, vielleicht funktioniert es für Ihre Organisation nicht. Aber Entwicklung ist etwas anderes als Aufgaben zuweisen und planen, und nicht jeder hat oder will beides. (Und außerdem muss eine gute Aufgabenzuweisung kein Mikromanagement sein.)
@Inca: Ein großartiges Team braucht diese Art von Unterstützung nicht, um zu funktionieren. Vielleicht gibt es einige Teams, die das brauchen könnten, aber ich sehe das als Team am Anfang ihrer Reise zur Selbstorganisation und das ist eine großartige Gelegenheit, sie zu coachen, damit sie auf eigenen Beinen stehen und Verantwortung für ihre eigenen Entscheidungen übernehmen können. Davon profitieren am Ende der Einzelne, das Team und die Organisation.
@Martin, vielleicht möchten Sie näher darauf eingehen, wie Sie mit der Behebung eines unangenehmen, aber wichtigen Fehlers umgehen, den niemand behandeln möchte
@Thorbjørn: Das Team braucht eine klare Strategie für den Umgang mit Aufgaben mit hoher Priorität, die nicht geplant sind. Es gibt mehrere Möglichkeiten (Batman, Fehlerbeseitigungsstunden, Schwärmen usw.) und das Schwärmen, um den Fehler zu beheben, ist nett, da es das gesamte Team einbezieht, anstatt dass ein Typ allein darüber schwitzt.
@Inca - "Wenn Sie sich entscheiden, sich nicht zu entscheiden, haben Sie immer noch eine Wahl getroffen." - Neil Peart
Ich finde es albern, jeden nur an dem arbeiten zu lassen, was er möchte. Die Menschen werden sich natürlich zu der interessanten Arbeit hingezogen fühlen und die Plackerei hinter sich lassen. Woran Sie arbeiten, sollte die nächste nicht zugewiesene Aufgabe sein, die die höchste Priorität hat.
@dietbuddha: Ja, aber Priorisierung steht nicht im Widerspruch zur Selbstorganisation. Die wichtigsten Aufgaben sollten ausnahmslos zuerst erledigt werden. Außerdem lässt ein hochmotiviertes Team (das man bei der Selbstorganisation braucht) keine Fronarbeit hinter sich. Das ist einfach unprofessionell. Übrigens, wenn es wirklich langweilig ist, möchten sie vielleicht zu zweit daran arbeiten.
A. Nicht alle Teams sind hochmotiviert. Sie müssen sowohl von den weniger motivierten Menschen als auch von den motivierteren Menschen Arbeit bekommen. B. Dem Kunden ist es egal, ob Joe Aufgabe A übernehmen möchte, weil er denkt, dass es nett wäre, die Fähigkeit dazu in seinen Lebenslauf aufzunehmen. Er möchte, dass die Aufgabe schnell erledigt wird, was bedeutet, dass er sie an Person B weitergibt, die bereits weiß, wie das Problem zu lösen ist. C - Wer wird die Plackerei machen? Und wer bekommt Vorrang, wenn mehrere die gleiche Aufgabe wollen? Das ist „Luftschlösser“, nicht praktikabel in einem durchschnittlichen Büro.

Die Arbeit an mehreren Aufgaben gleichzeitig zahlt sich immer für Qualität aus. Eine Aufgabe nach der anderen zuzuweisen und auf den Abschluss dieser Aufgabe zu warten, bevor Sie eine andere Aufgabe zuweisen, ist ebenfalls keine richtige Option. Manchmal stecken Sie an einem Problem fest oder arbeiten lange Zeit an derselben Aufgabe, was Sie erschöpft macht.

Mein Vorschlag ist, mehrere Aufgaben zuzuweisen und ihm die Prioritäten im Voraus mitzuteilen. Lassen Sie dem Entwickler die Freiheit, zwischen Aufgaben zu wählen, solange er die erwartete Qualität liefert.

Meiner Erfahrung nach ist es ein Rezept für eine Katastrophe, wenn eine Person an mehreren Dingen gleichzeitig arbeitet. Wenn der Entwickler für ein paar Tage krank ist, haben wir jetzt mehrere Aufgaben in einem unbekannten Zustand, anstatt 1 oder mehr abgeschlossen und 1 in einem unbekannten Zustand.

Ich bin derzeit der Scrum Master in einem kleinen Team, das mit Agile SCRUM arbeitet, und war zuvor der Leiter größerer Teams.

Ich denke, es ist am besten, die Leute ihre eigenen Aufgaben auswählen zu lassen – die Leute sich selbst Aufgaben zuweisen zu lassen – was meiner Meinung nach ungefähr analog dazu ist, Leuten Aufgaben zuzuweisen und sie sie fallen zu lassen und etwas anderes zu übernehmen. Der Fortschritt einer Aufgabe – ob jemand Hilfe braucht, eine Aufgabe ausgewählt hat, die er nicht erledigen kann, etc. – kann jeden Morgen in einem kurzen Meeting überprüft werden, bei dem jeder dem gesamten Team mitteilt, wie es ihm geht. Wenn Sie die Mitarbeiter ihre eigenen Aufgaben auswählen lassen, können sie Teile des Systems kennenlernen, die sie sonst möglicherweise nicht sehen, und sie befähigen, vernünftige Entscheidungen über ihre eigene Arbeit zu treffen und damit fortzufahren, ohne Sie jedes Mal fragen zu müssen, „was als Nächstes kommt“.

Ich denke, eine Aufgabe zu bekommen und von ihr erwartet zu werden, dass sie erledigt wird, bevor man irgendetwas anderes tun kann, kommt von einem Wasserfall-Ansatz. Die Idee dabei ist, dass wir diese Aufgaben identifiziert haben und dass dies die Aufgaben sind, die wir erledigen müssen, und sie müssen in dieser Reihenfolge erledigt werden, weil wir das so geplant haben. Das Problem dabei ist, dass sich beim Schreiben von Code oft (normalerweise) herausstellt, dass der Plan nicht alles abdeckt und Sie zusätzliche Aufgaben oder nicht so viele Aufgaben oder andere Aufgaben oder dieselben Aufgaben benötigen eine andere Reihenfolge.

Zusammenfassend: Ich denke, es ist am besten, flexibel mit Menschen umzugehen. Aber das ist nur meine Meinung :)

Erwägen Sie, irgendwo eine Aufgabenliste zu haben, auf der sich die Leute für Dinge anmelden und dann daran arbeiten können, wenn sie Zeit haben.

Ist insgesamt zu wenig Fortschritt für eine Person? Heben Sie die Zuweisung eines oder mehrerer Elemente auf und setzen Sie sie wieder auf die Liste.

Moderne Bug-Tracker können auch Aufgaben erledigen, was für andere einen guten Überblick darüber gibt, wie die Dinge vorankommen. Sie möchten eine, die in Ihr Versionskontrollsystem integriert ist, sodass Sie einfach eine Markierung in die Commit-Nachricht einfügen können, die automatisch vom Task-Manager aufgenommen wird.

Ich habe ein Board mit allen Aufgaben in der Reihenfolge ihrer Priorität. Die Regeln sind:

  • Wenn Sie keine Aufgabe haben, ziehen Sie die oberste Karte ab und weisen Sie sich selbst zu.
  • Wenn jemand anderes in den Teams mehr über das Problem weiß, wenden Sie sich an ihn, aber erledigen Sie die Arbeit selbst.
  • Wenn Sie auf einen Blocker stoßen, bringen Sie ihn zu mir und machen Sie mit einer anderen Aufgabe weiter.
  • Wenn Sie das Gefühl haben, dass Sie zu lange brauchen oder feststecken, lassen Sie sich von mir oder einem anderen Programmierer beraten. Wenn das nicht funktioniert, behandeln wir es als Blocker (bringen Sie es mir).
  • Sie sollten immer nur an einer Aufgabe arbeiten.
  • Sie können Karten nur überspringen, wenn Sie derjenige sind, der am besten über das Problem Bescheid weiß.
  • Sie können das Programm nach Bedarf koppeln.

Alle Aufgaben werden auf maximal 1-2 Arbeitstage reduziert.

Dies funktioniert nur in einer Gruppe, die den Gruppenbesitz haben möchte und keine unterschiedlichen hochspezialisierten Rollen hat (z. B. Flash-Entwickler, DBA, Programmierer für eingebettete Gerätetreiber usw.).

Diese Idee klingt erstaunlich. Das muss ich ausprobieren!
@Chris... S...: Wir haben ein wöchentliches Treffen, um Karten zu verteilen. Entwickler haben die Möglichkeit, Änderungen vorzunehmen, solange sie gerechtfertigt sind. Wir haben keine "Ausfallzeit", weil unsere Arbeitswarteschlange immer voll ist.

Meine Meinung zu diesem Thema ist: Es kommt darauf an.
Es hängt vom Entwickler ab. Beispielsweise gibt es Entwickler, die die Freiheit der zweiten Methode zusammen mit dem zusätzlichen Druck mögen, den diese Methode auf den Entwickler ausübt. Es übt zusätzlichen Druck auf den Entwickler aus, da er nicht dafür verantwortlich ist, eine Aufgabe rechtzeitig zu erledigen, sondern gleich mehrere. Ich bin so ein Entwickler, Zeitdruck plus die Freiheit, die Ziele in der gewünschten Reihenfolge zu erreichen, macht mich wirklich produktiv.
Es gibt jedoch andere Entwickler, die diesem Druck nicht standhalten und unproduktiv werden.

Was ich sagen möchte: Es gibt keine definitive Antwort, es hängt vollständig von Ihren Entwicklern ab und Sie müssen möglicherweise Ihre Methode für jeden einzelnen Entwickler ändern.

Es hängt stark von Ihren Codierern ab. Einigen müssen Aufgaben zugewiesen werden, andere sind nur produktiv, wenn sie ihre Aufgaben tatsächlich auswählen.

Es hängt auch von den Aufgaben ab: Denken Sie daran, dass Sie irgendwann ein paar Aufgaben zuweisen müssen, die niemand tun möchte, die aber noch erledigt werden müssen.

Eine Sache, die Sie tun sollten, ist eine einigermaßen vollständige Liste der Aufgaben. Geben Sie Ihren Teammitgliedern eine gewisse Flexibilität in dem Sinne, dass es ihnen erlaubt sein sollte, einige Aufgaben in kleinere, mundgerechte Teilaufgaben aufzuteilen, wenn sie dies für erforderlich halten. Dies wird ihnen ein stark erhöhtes Gefühl geben, ein Mitspracherecht darüber zu haben, was sie codieren werden.

Stellen Sie in dieser Liste sicher, dass klar ist, wem welche Aufgabe zugewiesen ist und welche Aufgaben von anderen Aufgaben abhängen. Wenn eine Aufgabe benötigt wird, um andere Aufgaben zu erledigen, muss allen klar sein, wer helfen oder nörgeln soll (je nachdem, ob der Beauftragte arbeitet oder nicht).

Sie möchten, dass sich Ihre Programmierer so weit wie möglich ihren eigenen Aufgaben widmen (sie werden produktiver) und sich gegenseitig helfen (sie arbeiten besser als Team).

Beginnen Sie also damit, sie ein paar Elemente mit höherer Priorität aus Ihrer Liste auswählen zu lassen; Dinge, die sie tun möchten, machen Sie ihnen klar, wie sich die Aufgaben auf die Arbeit anderer beziehen, und ermutigen Sie sie zur Kommunikation, während sie an Dingen arbeiten, die von der Arbeit der anderen abhängen. (Vermeiden Sie es, ihren Arbeitsplan mit Gruppenmeetings zu quälen: Sie können bei Bedarf problemlos Dinge bei einem Kaffee oder an den Schreibtischen der anderen besprechen.)

Ein Punkt, den Sie dabei im Hinterkopf behalten sollten, ist, sich um die schüchternen Mitglieder in Ihrem Team zu sorgen; Sie könnten daran interessiert sein, an dieser oder jener Aufgabe zu arbeiten, scheuen sich aber davor, weil jemand anderes mit einer größeren Klappe sich darum kümmern möchte. Identifizieren Sie sie schnell und erzwingen Sie die Chancen ein wenig, indem Sie sie regelmäßig zuerst ihre Aufgaben auswählen lassen.

Ihr Team wird ebenfalls einige Mitglieder umfassen, denen Aufgaben zugewiesen werden müssen. Gehen Sie dabei ähnlich vor wie bei den schüchternen Mitgliedern (meiner Erfahrung nach sind es häufig die gleichen). Der Trick dabei ist zu wissen, dass die meisten Menschen es zwar scheuen, Entscheidungen aus heiterem Himmel zu treffen, aber normalerweise gerne mit der Auswahl einer Option aus einer Reihe von Möglichkeiten konfrontiert werden. Was sich von Person zu Person unterscheidet, ist die Schwelle. Für einige ist es eine Vielzahl von Optionen; für andere ist es nur ein einziger. Versuchen Sie also, eine Zahl zu finden, mit der sie sich wohlfühlen. Fragen Sie dann in einem ersten Schritt, welche von dieser, dieser und jener Aufgabe sie lieber erledigen würden; und in einer Sekunde, ob es eine andere Aufgabe gibt, an die Sie nicht gedacht haben und die ihnen noch mehr gefallen würde. Dies wird ihre Angst hemmen und sie dazu bringen, ihre Aufgaben zu wählen, ohne es zu merken.

Ein weiterer Punkt, den Sie beachten sollten, ist, dass Sie gelegentlich fest sein müssen. Am Ende des Tages sind Sie der Chef und wenn sich niemand freiwillig für eine bestimmte Aufgabe meldet, müssen Sie sie direkt zuweisen. Es gibt natürlich höfliche Wege, dies zu tun, die Sie inzwischen sicher kennen.

Seien Sie aus dem gleichen Grund flexibel. Manche Aufgaben scheinen nie erledigt zu werden, denn wer sich freiwillig gemeldet hat, findet es schnell langweilig oder schwer oder was auch immer und beginnt, sich auf etwas anderes zu konzentrieren. Überwachen Sie dies und entfernen Sie diese Aufgaben bei Bedarf (sanft) von ihnen. Ihre Teammitglieder werden es zu schätzen wissen, wenn Sie ihnen ihre Aufgaben neu zuweisen, anstatt ihr Gesicht in der Öffentlichkeit zu verlieren („Entschuldigung, ich konnte nicht“).

@Denis, +1 Ich mag den nuancierten Ansatz, der individuelle Unterschiede in Durchsetzungsvermögen und Anleitung zulässt, versucht, mit ihnen zu arbeiten, aber anerkennt, dass manchmal Entscheidungen erforderlich sein können. Ich denke, das ist ein weitaus besserer Ansatz als ein einfaches "Hände weg".

Der Ansatz, den ich verfolgte, als ich ein Team leitete (6 Personen, 18-monatiges Projekt), das gut funktionierte und die Teammitglieder damit zufrieden zu sein schienen (es hätte mit einigen besseren Tools/Automatisierungen getan werden können, aber wir hatten keine das Budget für den Kauf von Bleistiften, ganz zu schweigen von einem Aufgabenverwaltungssystem), bestand darin, zunächst alle Aufgaben und Teilaufgaben zu identifizieren, die für eine Iteration zu erledigen waren, und dem gesamten Team eine grobe Schätzung des Schwierigkeitsgrads zuzuweisen. Dann würde ich diese Liste zurücknehmen, sie bei Bedarf verfeinern, Aufgaben priorisieren und Teammitglieder bestimmten Aufgaben zuweisen.

Jedes Teammitglied erhält dann seine gesamte detaillierte Aufgabenliste, priorisiert und mit Zeitschätzungen, Ergebnissen für diese Aufgabe usw., sowie eine kürzere Übersicht darüber, an welchen Aufgaben die anderen Teammitglieder arbeiten. Jeder hatte die Möglichkeit, sich an mich zu wenden, wenn er der Meinung war, dass die Zeitpläne geändert werden müssten oder die Ergebnisse nicht klar genug waren usw.

Jeden Abend schickten mir die Teammitglieder eine E-Mail mit den Teilaufgaben, an denen sie gearbeitet hatten und wie weit diese Aufgabe fortgeschritten war. Dadurch konnte ich sehen, wie gut unsere Zeitschätzungen waren, und im Auge behalten, womit die Leute ihre Zeit verbrachten. Wenn jemand viel Zeit mit etwas mit niedrigerer Priorität verbringt, während Aufgaben mit höherer Priorität nicht erledigt werden, dann würde ich mit ihm darüber diskutieren, warum er das Gefühl hat, dass er zuerst daran arbeiten muss, und sehen, ob es da ist war eine Möglichkeit, mit Aufgaben umzugehen, um sicherzustellen, dass Abhängigkeiten beendet wurden, bevor sie benötigt wurden.

Dies funktionierte besonders gut, da die Teammitglieder alles wussten, was von ihnen für eine bestimmte Iteration erwartet wurde, was ihnen half, bessere Design-/Implementierungsentscheidungen für ihre Module zu treffen (wir hatten ein Gesamtdesign, aber die Details wurden den Teammitgliedern überlassen die ein bestimmtes Feature implementierten) und Teammitgliedern eine einfache Zusammenarbeit ermöglichten, da sie genau wussten, wer an welchem ​​Feature arbeitete. Ich habe Anleitungen zum Auflisten von Prioritäten und Abhängigkeiten gegeben, es aber den Teammitgliedern überlassen, in welcher Reihenfolge sie an Aufgaben arbeiten möchten.