2009-05-22 16 views
9

Der mythische Mann-Monat ist jetzt klassisch, aber die "Surgical Team" -Methodik ist immer noch interessant. Welche Methode ähnelt ihr am nächsten oder hat dieselbe Essenz?Welche Methode kommt dem Surgical Team in The Mythical Man-Month am nächsten?

Um die Surgical Team Analogie zusammenzufassen: Ein Chirurg versteht das Problem/Business-Bereich und ist der Experte. Sie sind die Autorität, wenn es Fragen oder Konflikte im Team gibt. Wenn es Probleme gibt, arbeiten die Chirurgen untereinander, sagen wir mit Design, und fungieren als kleineres, engere Expertenteam. Also im Wesentlichen haben sie das Wissen der Domäne, sind beauftragt, sie denken, dass es richtig ist, und tun die eigentliche Codierung? Der Rest des Teams konzentriert sich auf Support, Tests, Dokumentation und Projektpläne sind delegierte Aufgaben. Folglich ist der Chirurg auch die am besten ausgebildete/ausgebildete Ressource.

Die Antwort könnte Projekt, Programmierung, Design-Methoden, da es Auswirkungen auf Haupt Methodik Domains zu haben scheint. Agile, MDA, Extreme, in der Sourcing-Entwicklung? Diese Frage macht auch mehr Sinn für Software, die in einer komplexen Geschäftsdomäne groß ist, Luftverkehrskontrolle denken, kein COTS-Entwickler oder gewöhnlicher Nutzen.

Antwort

7

Einer der in Organizational Patterns of Agile Software Development genannten Muster trägt den Titel „Drei bis sieben Helfer pro Rolle“; es unterscheidet sich von Surgical Team darin, dass es auf jede Rolle achtet, zum Beispiel ist es nicht nur, dass die Rolle des Chirurgen Helfer oder Beziehungen hat: alle Rollen haben einige Anzahl von Beziehungen.

Ein anderes Muster aus der gleichen Quelle namens "Architect Also Implements", das analog zu "Surgical Team" sein kann, in dem insbesondere der Architekt (vermutlich) hoch qualifiziert ist.

+0

Gute Hinweise auf einige interessante Muster, und Agile scheint der Konsens zu sein. –

+1

Um ehrlich zu sein, sagt das Buch Intro: "[...] Diese Vorstellungen von Heilung, Reparatur und Wachstum sind die Grundlagen der agilen Entwicklung. Okay, wir werden ehrlich sein: Wir haben Agile für den Titel gewählt Marketing-Bedenken. [...] Dieses Manuskript hat sich seit mehr als einem Jahrzehnt stückweise entwickelt und [...] " – ChrisW

1

Ich bin nicht sicher, jede Methode wirklich Adressen, die, wie es ist wirklich eine Frage des Entwicklers Priorisierung und alles rund um ihre Bedürfnisse Biegen, sondern dass alles zu sein, wie die Entwickler tatsächlich ihre Software entwickeln.

Wenn Sie für einige Methodik gesucht haben, die diese impements, nehme ich diese Nachricht schlecht sein kann. Ich ziehe es vor, es zu betrachten gute Nachrichten, in der es bedeutet, dass Sie diesen Ansatz mit so ziemlich jeder Software-Entwicklungsmethodik verwenden können.

Ich habe an genau ein Projekt gearbeitet, das auf diese Weise ausgeführt wurde. Es war so schön, ich fühle mich fast schlecht, es "Arbeit" zu nennen. Vier von uns Entwicklern (mit zusätzlichem Support-Personal, einschließlich des gelegentlichen zusätzlichen Junior-Code-Affen) haben eine wahrhaft unglaubliche Menge Code geschrieben und laufen in nur 9 Monaten richtig. Andere Orte, die ich bin können nicht so viel 20 mit einem Team von

4

Im Fall eines Chirurgen getan haben, ist der Schlüssel Schauspieler ist sowohl der Domain-Experte und der Implementierer.

Ie, er ist sowohl der Software-Programm-Manager (Architekt) und der Entwickler.

Diese Art der Methodik könnte passen bestimmte Kurz burn Situationen: zum Beispiel ein komplexer Vorgang, wie ein Live-Server-Migration oder Software-Upgrade.

Für allgemeine Entwicklung, aber es gibt ein paar Probleme mit solchen „Helden“ Methoden:

  • paar wichtige Entwickler das Problem Domain in ausreichendem Maß zu verstehen und muss auf Domänenexperten verlassen.Dies ist einfach eine Funktion der Spezialisierung - es ist schwer, Kick-Butt-Programmierer zu finden, die auch Anwälte, Ärzte, Buchhalter oder sonst Experten in der Domäne sind, die die Software modelliert.

  • Die Skalierbarkeit ist durch die Anzahl der Chirurgen begrenzt, die Ihnen zur Verfügung stehen.

  • Es gibt eine Menge Ausfallzeit für die anderen Mitarbeiter, während sie auf Anweisungen warten, da der hochkonzentrierte "Macher" auch das Team leitet. Das ist ok im OP, da es sich um ein "Null-Fehler" -Mandat und "Live-Software" handelt. In dieser Wirtschaft ist jedoch eine verteilte Arbeitslast effizienter, selbst wenn es gelegentlich zu Synchronisierungsproblemen zwischen den Teammitgliedern kommt.

+2

Ich finde Ihre dritte Kugel nicht wirklich ein Problem. Das Ziel ist nicht, dass jeder zu jeder Zeit beschäftigt ist. Ziel ist es, die gleiche Qualitätssoftware schneller/billiger zu produzieren. –

0

Aus dem Text sehe ich folgendes:

Agile Like:

  • Kleine Teams konzentrierten sich auf die Lösung spezifischer Probleme
  • Zusammenarbeit zwischen den surgeions

Non Agile Wie:

  • Chirurgen sind die Autorität, die den Plan antreibt, das Design festlegt, unterstützende Aufgaben zuweist (sie als Subservent für die Kodierung betrachtet) und die Kodierung durchführt. Alle von ihnen sind sehr Kommando- und Kontroll in Ansatz und im Gegensatz zu Selbst Teams lenken (vs einem gerichtetes Team)
  • Es erscheint (mit dem Busines Partner geschweige denn häufige Zusammenarbeit) keine Zusammenarbeit mit dem Geschäftspartner sein
  • Es erscheint kein priorisierten Product Backlog zu sein, so dass der Chirurg nimmt, was nicht der Geschäftspartner
  • es scheint keine incrmental Lieferung (tight Rückkopplungsschleife) wichtig ist

Für ein Wasserfall-Projekt zu sein, es ist vermutlich eine verwenden, ein Team von Experten (Chirurgen), das die Planung, Gestaltung, Codierung usw. übernimmt und Aufgaben an die "suppor t "Personal. In einem agilen Team wird Testen nicht als Unterstützung, sondern als integraler Bestandteil der Lieferung behandelt.

Man kann nicht mit Sicherheit sagen, welche Methode befürwortet wird. Es scheint jedoch, die Sprache (Projektpläne, Aufgaben) zu verwenden und davon auszugehen, dass der Wasserfall-Ansatz befolgt wird (Phasen wie Design, Codierung, Tests, die durch einen Plan gesteuert werden). Welche Methode auch immer verwendet wird, für welche die wenigen die Arbeit für die Vielen bestimmen.