it-swarm.dev

Die schriftlichen Rollen des Software Development Managers

Wir alle wissen, was ein Softwareentwicklungsmanager tut, aber ich befürchte, dass wir es nur wissen vage. Wir denken, wir wissen, was er tut, aber es ist etwas schwierig, genau aufzulisten, was der Arbeitsumfang ist.

Welche Rolle spielt Ihrer Meinung nach ein Softwareentwicklungsmanager?

62
Graviton

Als jemand im Job (der auch Entwickler war) muss ich Folgendes tun:

  • Halten Sie das Entwicklungsteam auf Kurs (und freuen Sie sich, wenn möglich) - Verschieben Sie Dinge aus dem Weg, die sie daran hindern, zu arbeiten, wo dies möglich ist, und erklären Sie, warum es nicht möglich ist, wenn sie nicht bewegt werden können, um zu versuchen, sie zu reduzieren daraus resultierender Stress (Menschen akzeptieren Dinge eher, wenn sie sie zumindest verstehen). Wenn es letztendlich einen Konflikt zwischen dem Projekt und dem Team gibt, der nicht gelöst werden kann, gewinnt das Projekt normalerweise. Das macht Sie nicht unbedingt im Team beliebt, aber Sie werden dafür bezahlt, Projekte/Produkte zu liefern, nicht als Gewerkschaftsführer. Die offensichtliche Fähigkeit besteht darin, zu minimieren, wie oft dies geschieht.

  • Stellen Sie sicher, dass das Team mit dem Kunden den richtigen Betrag kommuniziert. Dies besteht in der Regel zu gleichen Teilen darin, den Kunden vom Team fernzuhalten und sicherzustellen, dass das Team den Kunden nach Dingen fragt, die er nicht vollständig versteht (anstatt nur Annahmen zu treffen, die möglicherweise falsch sind). Entwickler legen großen Wert darauf, dass der Kunde sie nicht stört, und vergessen gelegentlich, dass der Kunde möglicherweise etwas Nützliches zum Hinzufügen hat.

  • Projektplanung und Priorisierung von Ressourcenkonflikten, Kundenanforderungen, Supportproblemen und dergleichen. Ich neige dazu, die Person zu sein, die sagt, dass dieser Kunde Vorrang vor diesem hat oder dass dieser Fehler behoben werden muss, bevor er versendet wird, aber dass ein Problem als bekanntes Problem auftreten kann.

  • Verwalten Sie die kommerzielle Seite der Entwicklung - das stellt sicher, dass Dinge, für die Gebühren erhoben werden und für die Gebühren erhoben werden, und dass wir nicht versuchen, Gebühren für Dinge zu erheben, die unter Support fallen sollten.

  • Seien Sie die Stimme des Teams im Unternehmen und des Unternehmens im Team - Helfen Sie jedem, die Position des anderen zu verstehen und Unterschiede zu lösen, wo sie auftreten. Dies deckt hauptsächlich kulturelle Konflikte zwischen den Bedürfnissen/Wünschen des Teams und den größeren Organisationen sowie Budgetfragen ab. Das ist eigentlich ziemlich beschissen, denn wenn es Meinungsverschiedenheiten gibt, bist du der Feind aller.

  • Arbeiten Sie mit dem Team zusammen, um sicherzustellen, dass ausreichende Prozesse und Tools vorhanden sind, um die Anforderungen des Unternehmens und der Kunden zu erfüllen.. Stellen Sie sicher, dass diese Prozesse befolgt und nach Bedarf angepasst werden. Einige davon stellen sicher, dass das Team Prozesse definiert (zum Beispiel für technische Dinge, die sie besser verstehen als ich), andere definieren sie selbst (für Dinge, die ich besser verstehe als sie - Planen, Schätzen und so weiter). Das wichtige Wort hier ist ausreichend - Sie möchten keinen Prozess um des Prozesses willen, aber es gibt Dinge, die passieren müssen, und der Prozess ist der beste Weg, um dies konsequent zu erreichen.

  • Stellen Sie sicher, dass jedes Mitglied des Teams mindestens auf einem vernünftigen Niveau arbeitet und im Idealfall darüber hinaus. Arbeiten Sie mit ihnen zusammen, um Probleme zu lösen, die verhindern, dass sie dieses Niveau erreichen. Ich würde gerne sagen, dass meine Rolle darin besteht, sie so gut wie möglich zu machen, aber während dies bis zu einem gewissen Grad zutrifft, bedeuten andere Anforderungen (Projekt, Budget, Zeit), dass dies fast immer mehr oder weniger stark beeinträchtigt wird.

  • Alle Verwaltung erledigen und die Anforderungen der Organisation (und des Gesetzes) erfüllen

Insgesamt ist es teils Mentoring, teils Sekretariat, teils Projektmanagement, teils Account Management und teils PR (für das Team). Es gibt viele Dinge, über die die Entwickler nicht nachdenken müssen oder über die sie nicht nachdenken müssen, und einige stellen sicher, dass sie Dinge tun, die sie tun müssen, aber nicht tun wollen.

Es geht nicht darum, der beste Entwickler zu sein (im Allgemeinen sind Sie zu weit weg, um lange auf dem Laufenden zu bleiben, und Sie müssen akzeptieren, dass die Leute mehr wissen als Sie - die Fähigkeit besteht darin, zu wissen, wo Ihre längere, aber veraltete Erfahrung relevanter ist als ihre kürzere, aber neuere Erfahrung) oder eine Art Diktator zu sein. In dieser Hinsicht ist der beste Weg, darüber nachzudenken, nicht, dass Sie älter sind, sondern dass Sie unterschiedliche Verantwortlichkeiten haben. Manchmal beinhaltet dies den letzten Anruf bei etwas (was möglicherweise gegen die Ansichten des Teams verstößt), aber häufiger sollte es um Konsens oder Kompromisse gehen.

100
Jon Hopkins