Wie kann ein nicht technischer Manager ein Team aus selbst motivierten Softwareentwicklern aufwerten?

63

Ich sehe viele Programmierer, die sich von Management- und Verwaltungsaufgaben abwenden. Sie wollen Sachen bauen. Infolgedessen werden viele dieser Positionen von nichttechnischen Mitarbeitern besetzt. Ich verstehe nicht, wie sie einen Mehrwert schaffen. Reicht es aus, Besprechungen, Offsites und andere administrative Arbeiten zu planen, um ihre Rolle zu rechtfertigen?

Senthil Kumaran
quelle
10
Wie viel Prozent aller Softwareteams könnten Ihrer Meinung nach so arbeiten, ohne dass Ego und Agenden im Weg stehen?
ozz
30
Vom Tao of Programming : Ein Neuling fragte: "Im Osten gibt es eine großartige Baumstruktur, die Männer 'Unternehmenszentrale' nennen. Sie ist voller Vizepräsidenten und Buchhalter. Sie gibt eine Vielzahl von ... Wie kann solch eine unnatürliche Entität sein? " / Der Meister antwortete: "Sie nehmen diese immense Struktur wahr und sind beunruhigt darüber, dass sie keinen rationalen Zweck hat ... Genießen Sie nicht die ungestörte Leichtigkeit des Programmierens unter ihren Schutzzweigen? Warum stört Sie ihre Nutzlosigkeit?"
Apsillers
2
Das jüngste Schreiben von Rands befasst sich mit einigen dieser Themen. Ich gebe ihm ein Empfehlungssiegel. (Ganz zu schweigen davon, dass er auch viele andere großartige Schriften zum Management hat!)
Jari Keinänen,

Antworten:

112

Ich verstehe nicht, wie sie derzeit einen Mehrwert erbringen und ob die Planung von Besprechungen, der Buchung von Offsites und anderer Verwaltungsaufgaben für ihre Rolle ausreicht.

Unterschätzen Sie nicht die Interaktion, die Ihr Manager mit anderen Abteilungen macht. Sie kümmern sich um Budgets, Schulungspläne und Personalunterlagen. Sie schützen die Entwickler davor, in Meetings mit anderen Abteilungen verwickelt zu werden, und bieten Ihrer Gruppe eine einheitliche Front.

Kurz gesagt, ihre Aufgabe ist es, selbst motivierte Entwickler vor all den anderen demotivierenden Dingen zu schützen, die im Geschäft existieren.

Telastyn
quelle
4
Und sie werden einen viel besseren Job machen, um ein Gehalt / eine Gehaltserhöhung zu verteidigen.
JeffO
20
Sehr +1. Wir bekommen gelegentlich "Lecks" durch das System und eine kleine Vorstellung davon, was unsere Manager und insbesondere unser Product Owner durchmachen. Damit möchte ich mich nicht täglich beschäftigen.
Izkata
1
Ich weiß, dass diese wichtig sind, aber ich verstehe nicht die relative Bedeutung im Softwareentwicklungsteam und den Wert für diese.
Senthil Kumaran
17
@SenthilKumaran Würden Sie als Entwickler lieber zwei Stunden mit einem Manager aus einer anderen Abteilung verbringen, um zu diskutieren, warum die Software nicht vollständig ist, oder würden Sie lieber zwei Stunden damit verbringen, Code zu schreiben? Sie wissen, wie schwierig es ist, Ihrem Manager technische Probleme zu erklären. Stellen Sie sich vor, Sie versuchen es jemandem zu erklären, der noch weniger weiß als Ihr nicht-technischer Manager. Die besten nichttechnischen Manager hindern ihre Entwickler an all den Dingen, die die Zeit der Entwickler verschwenden würden, die besser für das Codieren und Testen aufgewendet werden.
David Navarre
5
Dies immer und immer wieder. Selbst für einen technischen Manager ist dies immer noch der größte Teil ihrer Arbeit.
Earlz
36

Die besten Manager sind Zauberer. Sie lassen den Rest des Unternehmens für ihre Entwickler verschwinden. Ich kann mich nicht an das genaue Zitat von Joel erinnern, aber es war eine Aufgabe des Managements, dafür zu sorgen, dass es eine fette Internet-Pipe, eine Bestie einer Maschine und viel Koffein gibt, sodass sich die Entwickler nur darum kümmern müssen sie tun am besten.

Ein guter Manager ist die Stimme Ihrer Gruppe gegenüber dem Rest des Unternehmens.

Michael Brown
quelle
29

Da dies speziell für die Softwareentwicklung gilt, gibt es zwei Arten von Mehrwertfunktionen für Manager: Projektmanagement und Teamführung.

Ein Projektmanager arbeitet mit Kunden und dem mittleren Management zusammen, was den Entwicklern Zeit spart. Oft gibt es in Projekten Klarstellungen oder Änderungen des Umfangs, und es ist für Kunden und den mittleren Manager hilfreich, einen einzigen Ansprechpartner zu haben. Der Versuch, Fragen von jedem Mitglied eines Entwicklungsteams zu beantworten, führt zu nicht aufgezeichneten Projektentscheidungen und undokumentierten Verpflichtungen, dem Fluch des Bereichsmanagements.

Auf der anderen Seite ist ein Teamleiter an der Entwicklung von Karriere / Fähigkeiten beteiligt, um sicherzustellen, dass die Arbeitsbelastung auf die Teammitglieder angemessen verteilt ist, und um Ressourcen und Belohnungen bereitzustellen, die den individuellen Beiträgen und Bedürfnissen entsprechen.

Keine dieser Rollen erfordert einen Heads-Down-Programmierer, im Gegenteil. Ein Programmierer springt häufig zu einer Code-Schreibaufgabe als erste Antwort auf eine Frage oder Krise, und es ist hilfreich, jemanden zu haben, der fragt, ob diese Aufgabe wirklich erledigt werden muss.

Hardmath
quelle
6
Entwickler sehen Bäume. Ihre Manager sehen den Wald.
David Navarre
9
@DavidNavarre - IMO nicht-technische Manager haben Probleme, etwas zu sehen ...
Vector
13
@Vector: Was Sie anscheinend meinen, sind keine technischen Manager, sondern inkompetente Manager.
Lie Ryan
@Vector: Das erinnert an Dilberts PHB , aber ich denke nicht, dass dies das gleiche ist wie bei einem nicht-technischen Manager.
Hardmath
@hardmath - ich verstehe :-) Deine Antwort ist wirklich in dem enthalten, was das OP gemäß der Bearbeitung gewährt. Der Punkt, den ich anstrebe, ist, dass sie sich in technischer Hinsicht abkoppeln müssen. Ich habe einige bittere Erfahrung in diesen Angelegenheiten ... "Ein wenig Wissen ist eine gefährliche Sache" - ich bin sicher, Sie bekommen meine Drift. Siehe meine Antwort.
Vector
12

Neben den anderen genannten Vorteilen kann es sein, dass der nichttechnische Manager endgültige Entscheidungen besser trifft, wenn die Experten in einer Sackgasse stecken. Ich weiß, dass dies kontraintuitiv klingt, aber die guten, nicht technischen Manager verstehen die Stärken und Schwächen ihrer Mitarbeiter.

Beispiel: Zwei Programmierer diskutieren, welcher Server für eine Anwendung verwendet werden soll. In einer Art Scheindemokratie erhalten beide eine Stimme, so dass keine Entscheidung getroffen wird. Dieser Krieg könnte für immer weitergehen (und mit einigen technischen Leuten wird es so bleiben). Jemand muss einspringen und diese Meinungsverschiedenheit schlichten und das Projekt in Gang bringen. Ein guter Richter wird sich auf die Meinung desjenigen stützen, der das meiste Fachwissen auf diesem Gebiet besitzt.

Nur weil jemandem Talent, Fähigkeiten oder Kenntnisse in einem Bereich fehlen, heißt das nicht, dass er nicht identifizieren kann, wer dies tut. Talente erkennen ist ein Talent.

JeffO
quelle
1
Es steht auch ein nicht-technischer Manager zur Verfügung, der die Anforderungen des Teams erfüllt, anstatt Code zu schreiben.
JeffO
1
"Neben den anderen genannten Vorteilen kann es sein, dass der nicht-technische Manager bei einer Sackgasse unter den Experten besser abschließende Entscheidungen trifft." Nicht-Experte hat die geringste Menge an Informationen zu einem bestimmten Thema. Er kann nur eine Seite mit dem größten Fachwissen auf diesem Gebiet vertreten (oder eine Lösung wählen, die er für die beste hält). Das heißt aber nicht, dass seine Entscheidung richtig ist. Die Lösung eines weniger erfahrenen Programmierers kann besser sein, aber der Nicht-Experte konnte das nicht wissen. joelonsoftware.com/items/2006/08/08.html
Christian P
In einer solchen Situation lässt ein oft unterschätzter Teil des Managements nicht immer zu, dass die besten Leute ihren eigenen Weg finden. Ein guter Manager wird die Situation gut lesen und ein Urteil fällen, das zwar technisch nicht korrekt, aber politisch korrekt ist. Wenn das Argument nicht wichtig ist, kann der Manager die Person bevorzugen, die mehr Unterstützung benötigt oder von den anderen Entwicklern gemobbt wird. Es ist ein Urteilsspruch und manchmal ein schwieriger, aber deshalb wird ihnen das große Geld ausgezahlt.
Stephen
@Stephen ist sich einig - ein guter Manager weiß, wie er mit seinen Mitarbeitern umgeht (wie Sie sagten, ermutigt die Mitarbeiter usw.). Wenn wir jedoch streng darüber reden, (wichtige) technische Entscheidungen zu treffen, hat der Manager die geringste Menge an Informationen über das Problem und ist es wahrscheinlich eine falsche Person, um diese Entscheidung zu treffen.
Christian P
@Stephen: Wird aber politisch korrekt sein - das ist oft eine sehr gute Möglichkeit für einen nicht-technischen Manager, die Glaubwürdigkeit des technischen Personals zu verlieren . Sehr riskant IMO.
Vector
2

Reicht es aus, Besprechungen, Offsites und andere administrative Arbeiten für ihre Rolle zu planen?

Ja. Völlig ausreichend. Sie können auch das Gebäudemanagement anrufen, wenn ein Problem mit der Wärme, der Klimaanlage usw. besteht. Stellen Sie sicher, dass Verkaufsautomaten und Wasserkühler gut gefüllt und gewartet sind. besondere Leckereien zum Naschen mitbringen; Halten Sie das Büro sauber und ordentlich ...

Denken Sie nach besten Kräften an andere Aufgaben, um sie zu beschäftigen und nicht in Schwierigkeiten zu geraten ...

Ihre wichtigste Rolle? Vermeiden Sie es, sich mit Programmierern zu vermischen, und sorgen Sie dafür, dass andere nichttechnische Personen dasselbe tun.

Stellen Sie sich ein Entwicklerteam wie einen MLB-Ballclub vor (die Analogie ist recht gut, IMO): Die Manager sind immer ehemalige Spieler - nur sie wissen, wie man mit dem „Hands-on-Management“ eines Teams von hochqualifizierten, nerdigen, eigenwilligen, professionellen Spielern umgeht. die Dinge tun, die die meisten "normalen Leute" nicht können.

Vektor
quelle
Sie haben auch eine Menge Manager im Sport, die keine ehemaligen Spieler oder keine sehr guten ehemaligen Spieler waren - Arsene Wenger, Jose Mourinho, Andre Villas-Boas, irgendjemand? das sind exzellente Manager. Sie benötigen starke zwischenmenschliche und organisatorische Fähigkeiten, um ein guter PM zu sein, der NICHT codiert.
Bobo2000
@ bobo2000 - Ich erwähnte MLB , nicht Sport im Allgemeinen.
Vector
-1

Nach meiner Erfahrung nicht-technischer Leiter sind am besten geeignet für diese Rolle neben Wertschöpfung von Unternehmen Sachen zu vermeiden stören Entwickler arbeiten, sie Partnerschaft zwischen Entwicklern anfachen (weil es gut ist, dass Entwickler Introvertierte sind http://www.unwesen.de/ 2012/03/16 / Introversion-Produktivität-Arbeitsumgebungen / ), gute lassen das Team in ihrem Rhythmus arbeiten, achten aber auf Sichtbarkeit.

cesarggf
quelle
2
Ihre Antwort wäre besser, wenn Sie einige externe Verweise zitieren oder Ihre Grundsätze erweitern würden. Feststellung cause it's well know[n]ist eine schwache Form der Beweise.