Was ist eigentlich ein „funktionsübergreifendes Team“? [geschlossen]


18

Die allgemeine Bedeutung von "funktionsübergreifendem Team" ist ein Team, das Spezialisten in verschiedenen Bereichen zusammenbringt, die erforderlich sind, um das Ziel zu erreichen.

Aber es sieht so aus, als ob bei Agile Cross-Funktionalität bedeutet, verschiedene Spezialisten nicht nur zu kombinieren, sondern auch zu mischen. Henrik Kniberg definiert ein funktionsübergreifendes Team folgendermaßen: "Funktionsübergreifend bedeutet nur, dass das gesamte Team über alle Fähigkeiten verfügt, die zum Aufbau des Produkts erforderlich sind, und dass jedes Teammitglied bereit ist, mehr zu tun als nur seine eigene Sache."

Aber wo ist die Grenze gezogen? Ist es normal, Entwickler zu bitten, Tester für eine Iteration zu werden, wenn dies erforderlich ist?


Es ist üblich, dass jeder Entwickler seinen Code testet. Zum Beispiel sollte das Scrum-Team keine Spezialisierungen haben - jeder sollte in der Lage sein, Code zu schreiben und zu testen. Der Grund ist, dass zu Beginn der Iteration (Sprint) nichts zu testen ist und der reine Tester nichts zu tun hat.
Ladislav Mrnka

2
@LadislavMrnka Übergreifend heißt nicht, dass Sie nicht immer noch Spezialisten haben sollten!
Michael

@Michael: Ja, Sie können Spezialisten haben, aber sie sollten funktionsübergreifend sein = sie sollten auch in der Lage sein, andere Aufgaben zu erledigen.
Ladislav Mrnka

Spezialist zu sein bedeutet nicht, eines auf Kosten aller anderen zu wissen.
JeffO

3
Warum sehe ich so oft die Rede von "Programmierern sollten in der Lage sein zu testen", aber niemals von "Testern sollten in der Lage sein zu programmieren"?
Steve Folly

Antworten:


11

Meiner Meinung nach ist ein funktionsübergreifendes Team ein Team, das Mitarbeiter aus den verschiedenen Funktionen eines Unternehmens umfasst: Ingenieurwesen, IT, technisches Schreiben, Marketing, Finanzen, Recht, Vertrieb, Personalwesen, Betrieb, Qualität und Geschäftsführung.

In größeren Unternehmen werden diese "Funktionen" in Silos (Geschäftsführungslinien) zusammengefasst. Um diese Aufgaben zu erledigen, ist in der Regel die Zeit eines Mitarbeiters erforderlich.

Wenn Sie TDD oder ähnliches machen, ist das völlig normal.

Im Allgemeinen sollte die Verantwortung für die Freigabe der Entwicklerarbeit jedoch nicht bei denselben Entwicklern liegen.


2
Genau das ist Cross-Funktionalität in agilen Methoden wie Scrum nicht.
Ladislav Mrnka

1
@Ladislav Mrnka: Aus der Frage war nicht ersichtlich, dass dies Agile-spezifisch ist. In agilen Methoden denke ich immer noch, dass es steht. In jeder Methodik müssen Sie manchmal etwas außerhalb Ihres Fachgebiets ("Funktion") tun, um die Arbeit zu erledigen. C'est la vie, c'est la guerre!
Peter K.

Warum "sollte die Verantwortung für die Freigabe der Entwicklerarbeit nicht bei denselben Entwicklern liegen"? Nicht, wenn Sie die Zykluszeit verkürzen möchten.
Todd Owen

@ToddOwen Und verringern Sie die Softwarequalität.
Peter K.

@Downvoter: Irgendein Kommentar, warum du nicht einverstanden bist? :-)
Peter K.

7

In einem funktionsübergreifenden Team kommen Funktionsexperten aus verschiedenen Bereichen zusammen, um zu definieren, was erstellt werden soll, und um zu bewerten, ob das, was erstellt wird, nützlich ist. In einem agilen Umfeld werden diese Bewertungen häufig durchgeführt.

Die Domain-Experten legen jedoch fest, wie sie ihren jeweiligen Teil eines Projekts ausführen . Softwareentwickler werden Software entwickeln. Tester werden testen. Operations-Mitarbeiter führen die Software aus und so weiter.

Die Meinung zu Entwicklung, Test und Betrieb zu haben, ist äußerst nützlich, um ein gutes Produkt zu definieren, und genau hier liegt der Wert funktionsübergreifender Teams.


Ich glaube nicht, dass das Team definiert, was gebaut werden soll, sondern wie es gebaut werden soll. Der Product Owner entscheidet worüber. Ich denke auch, dass Teammitglieder ihre Aktivitäten nicht auf eine Domäne beschränken sollten, auf die sie spezialisiert sind. Die Idee ist, die Aufgaben zu erledigen, die zur Verwirklichung des Teamziels erforderlich sind, um ein Produkt mit Produktionsqualität zu schaffen.
Kwebble

4

Ein gutes funktionsübergreifendes Team hat und braucht Menschen, die "Alleskönner" sind, aber auch Meister einiger . Normalerweise eins oder zwei.

Zum Beispiel an denen, an denen ich gearbeitet habe. Ich spezialisiere mich auf C ++ und einige Web-Sprachen, kenne aber ungefähr eine Million. Ich verstehe mich fließend mit Videobearbeitung und 3D-Medien und so weiter sowie mit Geschäfts- und Projektmanagement. In diesem eher kleinen Team, das große Projekte übernimmt, mache ich den größten Teil des Tages Hardcore-Codierungen und verbringe einen Teil damit, auf der Site Grunzarbeit zu leisten und verschiedene Medien vorzubereiten.

Nicht viele Projekte nutzen all meine Fähigkeiten, aber ich denke, dass es sich um eine funktionsübergreifende Lösung handelt, wenn ich mich auf mehrere Projekte stütze. Manchmal ist es ein wirklich gutes, effizientes Design, manchmal nicht so sehr.

Gott sei Dank, dass ich kein Entwickler / Netzwerkadministrator sein muss. Das macht keinen Spaß. Diese kleinen Geschäfte in meiner Gegend ... sind verrückt. Wer sein Netzwerk Programmierern anvertraut, meine Güte. Als letztes möchten Sie, dass ich versuche, Ihre Routing-Tabelle zu "debuggen": P


4

Ein "funktionsübergreifendes Team" ist für mich eher eine Gruppe von Generalisten, die zusammenkommen, um die Arbeit zu erledigen. Der Vorteil liegt in der Vielseitigkeit bei der Bewältigung verschiedener Arten von Aufgaben, da es keinen Engpass gibt, der bei einer Gruppe von Spezialisten auftreten würde, bei denen manche Leute nur bestimmte Aufgaben übernehmen können.

Ja, es ist normal, dass Entwickler Tester werden, wenn die Arbeit für eine Iteration erledigt werden muss.


Cross-Functional kann in das Gebiet fallen, in dem es sich um ein Schlagwort handelt, das je nach Unternehmen unterschiedliche Bedeutungen haben kann. Einige mögen es für die höchste Ebene halten, wo ein Entwickler von einem Gopher bis zu einem temporären CEO alles sein könnte, und andere mögen es viel spezialisierter sehen, so dass es verschiedene Arten von Entwicklern sind, die verwendet werden. Ein Entwickler muss manchmal ein Business Analyst, ein Systemadministrator oder ein Tester sein. Ich erinnere mich an ein paar Jahre zuvor, als ich gerade einen Job und einen anderen Entwickler angefangen hatte und ein Release als eine unserer ersten Aufgaben testete, da es zu diesem Zeitpunkt an Testern mangelte, um das Release richtig zu testen.


1
Ich denke nicht, dass Entwickler, die Tester sind, zur funktionsübergreifenden Definition passen. Das scheint eher ein Allround-Szenario zu sein, in dem Entwickler auch testen, Verkaufsgespräche entgegennehmen, Kaffee kaufen, um das Büro aufzufüllen, usw., was in einem Startup typisch sein kann. Ein funktionsübergreifendes Szenario scheint eher eine Situation zu sein, in der Sie beispielsweise ein Entwickler sind und ich vielleicht im Marketing tätig bin, aber wir arbeiten als Team zusammen, um das Produkt zu entwickeln und zu vermarkten.
jmort253

2

In einem funktionsübergreifenden Team geht es nicht nur um Fachgebiete, sondern auch um die Einstellung, Dinge zu erledigen. Die Mitglieder treten auf und übernehmen die anstehenden Aufgaben. Sie hören nicht: "Das ist nicht mein Job."

Einschränkungen für ein Projekt sind nicht immer technisch. Manchmal haben Sie nicht den Luxus, bei jeder Aufgabe einen Experten einzustellen, und müssen nur in dem Bereich arbeiten, den Sie bevorzugen.

Sie möchten Entwickler niemals vom Programmieren abbringen, aber in einigen Teams kann nicht geholfen werden. Normal ist relativ.

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.