Soll der Softwarearchitekt dem Projektleiter unterstellt sein? [geschlossen]

Sollte in einem Softwareteam mit einem Softwarearchitekten und einem Projektmanager der Architekt dem Projektmanager unterstellt sein? Oder soll der Architekt dem Vorgesetzten des Projektleiters unterstellt sein?

Ich habe Schwierigkeiten, Vor- und Nachteile für beide Optionen zu finden. Die einzigen Dinge, die ich finden konnte, waren:

Da der Architekt auf Qualität und der Projektmanager auf Zeit und Budget achtet, kommt es zwangsläufig zu Konflikten. Aber wie spiegelt sich dies am besten in der Berichtshierarchie wider und warum?

Bearbeiten

Um meine Frage zu klären:

  • Die Frage ist nicht unternehmensspezifisch. Siehe @ Marvs Kommentar zur Erklärung.
  • Es ist schwierig, eine kurze Definition eines Softwarearchitekten zu geben. Um Simon Brown zusammenzufassen : Ein Softwarearchitekt ist für die technischen Aspekte des Softwareprojekts verantwortlich und coacht die Entwickler des Teams. Ich meine nicht einen technischen Leiter, der eine Rolle ist, die Architektur und Projektmanagement verbindet.
  • Es scheint keine Meinungsverschiedenheiten darüber zu geben, was ein Projektmanager tut.
  • Die Website Project Management.SE scheint nicht geeignet zu sein, da es um Projektmanagement und nicht um die Organisation von Unternehmen geht.
In meinem Unternehmen sind sie gleichrangig und berichten beide nach oben. Ich weiß nicht, ob dies Standardpraxis oder sogar Best Practice ist. Tatsächlich ist meine Beobachtung, dass es Konflikte hervorzurufen scheint.
Dies scheint so abhängig von der Situation und Ihrer Definition der beteiligten Titel zu sein, dass ich nicht sicher bin, ob es eine nützliche Antwort oder universelle Best Practice gibt.
Ich stimme nicht zu, dass eine PM die Qualität nicht schützt.
Ich halte es für völlig falsch, dass dies als unternehmensspezifisch geschlossen wurde. Die Frage enthält nichts, was unternehmensspezifisch ist. Bei den fraglichen Rollen handelt es sich um generische und weit verbreitete Rollen, und die Rollenhierarchie ist sowohl ziemlich standardisiert als auch umstritten. Ich schlage vor, dass das OP diese Frage hier in der Project Management SE ( pm.stackexchange.com/questions ) postet, wo sie besser verstanden werden kann

Antworten (4)

Ich glaube, dass dies aus folgenden Gründen eine falsche Dichotomie ist:

  • Der Projektmanager sollte nicht versuchen, seine Meinung zur Softwarearchitektur durchzusetzen, das ist nicht seine Aufgabe. Ihre Aufgabe ist es, den Prozess der Lieferung eines "Produkts" gemäß den Anforderungen zu verwalten. Sie tun dies, indem sie Fachexperten (z. B. Architekten) innerhalb des Projektteams koordinieren/einsetzen, um die erforderlichen Elemente bereitzustellen. Wenn der PM Meinungen zur Softwarearchitektur vertritt (und versucht, diese umzusetzen), werden die Rollen und Verantwortlichkeiten verwischt, und diese Verwischung verursacht das Problem. Die Rollen und Verantwortlichkeiten aller Projektteammitglieder, einschließlich des PM, sollten im Projektinitiierungsdokument klar definiert und von allen eindeutig verstanden werden.
  • Die Softwarearchitektur unterstützt (vermutlich) die Designphasen eines Softwareprojekts und ist daher für die Erstellung von Elementen des Liefergegenstands verantwortlich. Insofern werden ihre Ergebnisse Teil der Projektergebnisse und unterliegen dementsprechend der Aufsicht des Projektmanagers. Für die Zwecke des Projekts sind sie also Teil des Projektteams, das fiktiv vom Projektmanager geleitet wird, aber das bedeutet nicht, dass der Projektmanager sie außer Kraft setzen kann oder sollte – so sollte Projektmanagement nicht funktionieren (siehe oben).

Zusammenfassend lässt sich sagen, dass der Architekt meiner Meinung nach und in einer idealen Welt dem PM „berichtet“ (oder genauer gesagt sein Fachwissen in das Projekt einbringt, das der PM verwaltet), aber der PM übertrumpft seinen Beitrag nicht. Ich bin sicher, dass es viele Varianten dieser Anordnung in der realen Welt gibt, mit allen möglichen Schattierungen entlang des Kontinuums, aber das Problem hier liegt ausschließlich darin, dass Rollen und Verantwortlichkeiten nicht klar definiert und von allen eingehalten werden.

Ich mag die Antwort, aber ein PM kann eine Meinung zur Architektur haben, aber er sollte die Architektur nicht diktieren. Wenn ein PM das Gefühl hat, dass eine Architektur ein Projekt gefährdet, dann ist es fair, dies als Risiko zu melden.
@Frisbee du hast natürlich Recht, da habe ich mich ein bisschen hinreißen lassen. Ich werde meine Antwort entsprechend ändern
Ich bin nicht einverstanden. In der realen Welt oder theoretisch sollte ein Architekt idealerweise nicht einem PM unterstellt sein. beide sollten an VP oder SVP berichten. Die Position eines Architekten ist eine Wertposition, und ein PM mit reinem Projektmanagement-Know-how kann nicht für das Leistungsmanagement eines Architekten verantwortlich sein oder architektonische Entscheidungen außer Kraft setzen. Beide sollten zusammenarbeiten und zu den Projektzielen beitragen, und es sollte keine Berichtsbeziehung zwischen ihnen bestehen.

Während ich anderen Antworten grundsätzlich zustimme, erlebe ich selten eine so reine und wahre Form der Projektmanagement-Disziplin, die in der realen Unternehmenswelt praktiziert wird.

Es ist wichtig zu prüfen, wo unausgesprochene Motivationen existieren, um die beabsichtigten Motivationen des Projektmanagers zu korrumpieren. Ja, grundsätzlich ist der Projektmanager dafür verantwortlich, das Projekt budget- und termingerecht abzuliefern. Es ist wichtig, sich daran zu erinnern, dass der PM, da er der Schiedsrichter von Kosten und Zeit ist, nur 2 der 3 Grundprinzipien des gesamten Arbeitsumfangs repräsentiert.

Geben Sie hier die Bildbeschreibung ein

In den meisten Organisationen sind Projektmanager nicht von Natur aus und natürlich nicht motiviert, der Qualität angemessenen Respekt und Aufmerksamkeit zu schenken, was zu der unersättlichen Versuchung für einen PM in einem schwierigen Projekt führt, Qualität zu opfern oder Entwicklungsentscheidungen zu beeinflussen, die Zeit und Kosten begünstigen die Kosten der Qualität.

Dies ist der Hauptgrund, warum die technische Architektur, die auf der hohen Ebene des Designs arbeitet und sich auf Qualitätsattribute konzentriert , so entscheidend wichtig ist, dass sie nicht an die Berichtsstruktur des Projekts im Allgemeinen gebunden sind. Wenn die Organisation den technischen Architekten und die Qualitätsattribute in der Software schätzt, werden sie nicht an Projektbeschränkungen gebunden und dienen stattdessen als Gleichgewichtsprüfung dagegen. Wenn Sie sich die Rolle eines technischen Architekten in einer agilen Organisation vorstellen würden, würden sie eng mit dem Product Owner zusammenarbeiten, um die Softwareanforderungen zu definieren und Erwartungen an ein hochwertiges Design zu setzen.

Würden Sie auch argumentieren, dass der Projektmanager den Product Owner bei der Definition von Softwareanforderungen und -umfang zur Rede stellen sollte? Natürlich nicht, das wäre lächerlich.

Das Konzept ist das gleiche. Sie existieren als wichtiger Stakeholder im Projekt und nicht als beitragendes Mitglied des Entwicklungsteams.

Der Architekt sollte der Person unterstellt sein, die für die Leitung des Entwicklungsteams verantwortlich ist, typischerweise ein Entwicklungsleiter, aber in kleineren Betrieben könnte es ein allgemeiner IT-Manager sein. Der PM sollte dem Business Manager unterstellt sein, jedoch wird der PM häufig der IT-Abteilung zugeordnet. In diesem Fall sollte der PM der für das IT-Geschäft verantwortlichen Person unterstellt sein, die in kleineren Unternehmen dieselbe Person sein könnte, die die Entwicklung leitet.

Diese Rollen sind für die täglichen allgemeinen Managementaufgaben (Anwesenheit, Leistungsbeurteilungen, Arbeitsaufträge) vorgesehen. Für Projektverantwortungen muss der Architekt dem PM Fortschritt, Probleme und Planung melden. Wenn das vorgeschlagene Design aus irgendeinem Grund nicht den Geschäftsanforderungen entspricht, weil die Implementierung zu lange dauert, ist dies der Anruf des PM. Wenn der Architekt und der PM im Allgemeinen keine akzeptable Lösung finden, wird dies an die höheren Managementebenen eskaliert, um endgültige Entscheidungen zu treffen.

Oftmals bedeuten diese Entscheidungen, von Best Practices oder Standards abzuweichen, die eingeführt wurden, um geschäftliche Anforderungen zu erfüllen. Es ist die Aufgabe des Architekten, herauszufinden, wie die neuen Anforderungen außerhalb der Praxis erfüllt werden können, und einen Plan zu erstellen, wie diese Probleme behoben werden können, sobald die Zeitkrise vorbei ist. Kämpfen Sie nicht weiter in einer Schlacht, die bereits verloren ist, es sei denn, es treten neue ernsthafte Bedenken auf.

tl;dr; Es ist die Aufgabe des Architekten zu versuchen, dem Projektmanager das gewünschte Design innerhalb der von ihm angeforderten Parameter bereitzustellen.

Dieser Begriff Architekt wird in der Branche so locker verwendet, dass klar ist, dass jeder eine andere Antwort darauf haben wird, weil jeder eine andere Erfahrung damit hat, was ein Architekt sein sollte. Meine Antwort ist eher eine SEI-Sicht auf die Rolle der Softwarearchitektur. Meiner Meinung nach klingt das, was Sie hier den Architekten nennen, eher nach einem technischen Projektleiter, was meiner Meinung nach eine wichtige Unterscheidung ist. Es gibt jedoch einige Überschneidungen.
@maple_shaft - Nicht wirklich ein Architekt ist normalerweise an der frühen Designentwicklung beteiligt. Ein Architekt nimmt normalerweise seine Hände weg, wenn es an der Zeit ist, die schwere Arbeit der eigentlichen Arbeit zu erledigen, dann gräbt sich der (gute) technische Leiter ein und arbeitet am härtesten. Aber ich stimme zu, dass jeder eine andere Meinung darüber hat, was ein Architekt tun sollte. Entwickler denken, sie sollten mehr arbeiten, PMs denken, sie sollten ihre Nase aus ihrem Projekt herausholen ... usw.

Angenommen, Sie meinen Berichte im Sinne von "arbeitet für" (offensichtlich sollte ein Architekt den Fortschritt gegebenenfalls einem PM melden), lautet die einfache Antwort:

Kein Mitglied des Lieferteams sollte von einem PM verwaltet werden, es besteht ein Interessenkonflikt

Die Aufgabe des PM besteht darin, sicherzustellen, dass das Projekt pünktlich und zu minimalen Kosten geliefert wird. Das Lieferteam (insbesondere Architekten wie im Beispiel) ist dafür verantwortlich, ein zweckmäßiges Design und eine zweckdienliche Implementierung zu liefern, und dies könnte durchaus nicht in den Plan des PM passen, und ein Projekt erfordert Kompromisse auf beiden Seiten, um es zu liefern.

Einer Seite die ultimative Autorität zu geben, wird eine unangreifbare Situation schaffen (da gewesen), in der das Projekt stark kompromittiert wird, um Zeit und/oder Budget einzuhalten. Alternativ mit PM im Schlepptau zur Architektur endet man in einer Duke-Nuke'em Forever-Situation, in der nichts ausgeliefert wird, da es verfeinert/überarbeitet werden muss.

Sie brauchen die technische Bereitstellung und das Projektmanagement auf entgegengesetzten Seiten, um sich gegenseitig herauszufordern, auf diese Weise liegt ein gutes Projekt (auch wenn es sich zu diesem Zeitpunkt vielleicht nicht so anfühlt).

Ein kleiner pedantischer Punkt, ich sehe es nicht als die Verantwortung des PM an, das Projekt zu " minimalen Kosten" zu liefern. Die Verantwortung des PM besteht darin, das Projekt zu den vereinbarten Kosten zu liefern, die von den Anforderungen bestimmt und im Projektauftrag definiert sind (welche Form auch immer). Außerdem gibt es natürlich den dritten Punkt auf dem Dreieck; "Qualität", dh es muss Anforderungen genügen. Ich bin mir jedoch sicher, dass ich das alles dem Chor predige :)
Nun, in mehr als 20 Jahren Softwareprojekten gilt: Vereinbarte Kosten = Happy-Path-Kosten = minimale Kosten. Und trotz allem, was PMs sagen, ist der dritte Punkt auf dem Dreieck gerade außer Sichtweite, da das große Hupen einen kostet, der ihre Sicht füllt. Mein Punkt ist jedoch, dass Sie diesen Konflikt brauchen, es ist eine gesunde Debatte über die Projektabwicklung, und die Misserfolge sind solche, bei denen eine Seite stärker ist und das Projekt in ihre Richtung kippt.
Nur 20? N00b dann ;) Ich stimme dem hier beschriebenen "Konflikt" sicherlich als eine gute Sache zu, kein Argument von mir - Sie müssen beide Seiten ziehen, um das "richtige" Ergebnis zu erzielen. Aber ich verstehe Ihren Standpunkt nicht wirklich, dass Qualität "nur aus dem Blickfeld" ist. Wie auch immer, da dies keine Diskussionsseite ist, werden wir es wohl dort belassen.
Ich bin mir sicher, dass alle an Projekten teilgenommen haben, bei denen die Kostenpriorisierung zu einem nicht mehr zu wartenden Misserfolg geführt hat. Ich war auch schon auf der anderen Seite. Einmal 18 Monate in einem Team des öffentlichen Sektors verbracht, technisch, aber kein PM. Kontinuierliche Anpassung an das, was der Kunde wollte (medizinisch), plus Arbeit am Code. Als ich in Version 10 ankam und noch nie in Produktion gegangen war, wurde nur Beta eingeladen (4 Jahre eines 8-köpfigen Teams). Es ging nie live, wurde schließlich verschrottet, als ein anderer Teil des Systems umgestaltet wurde und die Notwendigkeit dafür verschwand.
@MarvMills - mein Punkt war, dass die meisten PMs zwar behaupten, sich dessen bewusst zu sein, aber nicht über den Kostenteil des Dreiecks hinaussehen können. Nun, das stimmt nicht auf ganzer Linie, aber ich habe es zu oft gesehen, besonders wenn es sich um ein internes Projekt handelt (dh die Kosten kommen aus einem Budget, das jemand x höher vereinbart hat, nicht jemand, der tatsächliche Rechnungen für Geld autorisiert).
Alles wahr, dort gewesen, gelebt und die Narben haben. In meinen Gedanken sehe ich es jedoch aus einem anderen Blickwinkel; Jene Projekte, bei denen ein unzureichendes Budget für das Projekt durchgesetzt wird, werden aus allen uns bekannten Gründen als mit hoher Wahrscheinlichkeit zum Scheitern verurteilt. Ich übernehme keine Verantwortung mehr für die Durchführung eines Projekts, bei dem das Budget extern auferlegt wird. Ich bin schuldig, vergangene Projekte auf dem Altar des Budgetgottes geopfert zu haben, als ich ein unerfahrener PM war, und ich weiß jetzt, dass ich dabei kein guter PM war. Ich behaupte, ein guter PM muss für Qualität sorgen, sonst macht er kein Projektmanagement!
Ich stimme der Antwort zu, leider gefällt es einigen Projektmanagern nicht und stimmen hier ab :) - stimmt: KEIN Mitglied des Entwicklungsteams sollte idealerweise an eine PM berichten. Das Engineering-Team sollte in der Tat einem Manager des Entwicklungsteams unterstellt sein. Qualitätsorganisationen folgen diesem Weg.