Kommunikation der Anforderungen an Offshore-Teams

Nur um einen Kontext zu geben: Es gibt ein Offshore-Team in Indien für einen Kunden in San Francisco. Das Offshore-Team besteht aus etwa 9 Entwicklern und 4 QA mit einem Projektmanager. Ich übernehme die Vor-Ort-Koordination für dieses Team vom Kundenstandort aus. Bei jedem Sprint (2-wöchige Iteration) gehe ich den Stories vorher nach, verstehe sie und gebe während ihrer Story-Time einen Überblick. Ich kläre auch die Eckfälle für sie, um sicherzustellen, dass jede Anforderung klar ist und der Umfang auch gut definiert ist. Trotzdem gibt es Fälle von Überraschungen, die sowohl bei den Anforderungen als auch beim Umfang auftauchen (meine Pech, einverstanden!). Wir haben auch damit begonnen, Mock-ups für jede UI-Story zu versenden. Aber stattdessen bemüht sich das Team dort nicht um ein Brainstorming und versteht die Anforderung im Voraus, sondern sie fangen sofort an, ohne das richtige Verständnis zu haben.

Am Ende des Sprints (1/2 Tage vorher) stellen sie dieselben Fragen, die durch das Mock-up und die während der Storytime und den anschließenden Mails geklärt wurden. Wenn ich schließlich ja sage, das soll gemacht werden usw., sagen sie, das sei vorher nicht geklärt worden. (Woher weiß ich, dass diese Frage ihnen angezeigt wird?)

Sie schaffen es offensichtlich nicht, Sprint für Sprint abzuliefern. Der Manager dort versteht nicht einmal ein Stück Entwicklung, da er QA ist, und hat keine Kontrolle über das Projekt (leider wurde er zum Manager desselben Teams befördert, als er versuchte zu kündigen - was bei indischen Dienstleistungsunternehmen häufig vorkommt). Und dieser Manager versucht nicht einmal zu verstehen, dass der Entwickler oder die Qualitätssicherung keine angemessene Planung, kein Brainstorming oder zusätzliche oder geringe Anstrengungen unternommen hat, um ein Feature und seine Konsequenzen zu verstehen, und kommt direkt zu dem Schluss, dass die Anforderungen nicht klar sind. Der Manager verbringt auch nicht genügend Zeit mit dem Team und er verbringt Zeit woanders beim Ausgehen! (seltsam, vom Hörensagen!)

Es gibt auch einen erheblichen Mangel an technischem und Produktwissen über Entwicklung und QA, und es werden keine Schritte unternommen, um dies zu verbessern. In der ersten Woche höre ich, dass sie alle frei sind, in der zweiten Woche ändern sich die Dinge drastisch - ich schätze, das ist, wenn sie anfangen zu arbeiten. Mit jedem Sprint wird es schlimmer und es werden nur harsche Kommentare und E-Mails ausgetauscht. „Anforderungen nicht klar“ scheint der einfache Ausweg zu sein, und das Team dort hat sich daran gewöhnt, dies zu sagen, um seine Unfähigkeit zu kompensieren.

Ich kann das nicht erklären, da sie bei dieser einfachen Entscheidung eine Gruppe bilden und mit mehreren unhöflichen E-Mails abprallen. Was würden Sie tun, um diese Dinge richtig zu machen? Wie viel von angemessen ist angemessene Klarheit in der Anforderung? Ich bin mir da wirklich unsicher. (Die Teams in SFO sind ziemlich klar mit der noch geringeren Menge an Erläuterungen zu den Anforderungen.) Wie kann ich das richtig einstellen? Ist meine Vermutung bezüglich des Offshore-Teams richtig? (Entschuldigen Sie, dass ich zu ausführlich bin!)

Um Michaels Kommentare zu verdeutlichen, z. B.: "Es hört sich so an, als hätten Sie während des gesamten Sprints keinen Kontakt zu ihnen?" // Tatsächlich habe ich tägliche Statusanrufe, bei denen Dinge wie Controller erledigt, Modelländerungen durchgeführt, Datenbankänderungen durchgeführt und so weiter gesagt werden. Aber ich bin mir nicht sicher, wie ich das funktional sehen kann.
Vielen Dank Michael, Mark und Tiago. Ich werde diese ausprobieren und auch mit meinem Arbeitgeber sprechen, um eine Art Notfallplan zu erstellen, um Lieferverzögerungen abzumildern.
Sie erwähnen Sprint/Iteration – bitte klären Sie, ob Sie Agile/Scrum praktizieren. Wenn ja, haben Sie einen designierten ScrumMaster/Product Owner und üben Sie tägliche Scrum-Stand-Ups … etc.?
Ja, Ashok, wir praktizieren Agile, und das Offshore-Team tut dasselbe. Der PM für das Offshore-Team leitet die Scrum-Meetings täglich, obwohl er keine zertifizierte Person ist.
Es wurde bereits viel beantwortet, und kulturelle Unterschiede + sicherzustellen, dass sie verstehen, ist in der Tat der richtige Weg, dies zu verstehen und anzugehen. Zu diesem speziellen Stück in den Kommentaren: "Ich habe tägliche Statusanrufe, in denen Dinge wie Controller erledigt [...] gesagt werden. Aber ich bin mir nicht sicher, wie ich das funktional sehen kann." - Ich denke, Sie können Demos öfter als einmal pro Sprint planen. das hört sich vielleicht nach Zeitverzehr von der Arbeit an, aber da die Arbeit sowieso nicht erledigt wird... würde ich nicht so weit gehen, Sprints auf 2 Tage zu verkürzen, also einfach 2-3 Mal die Woche Demos, sobald es heißt " X erledigt".

Antworten (4)

Keine Garantie dafür, aber hier ist, was ich versuchen würde:

  1. Entweder verstehen sie Ihre Dokumente nicht oder sie machen die Arbeit nicht und benutzen die Dokumente als Sündenbock. Es ist ein wenig extrem, aber bitten Sie um eine Wiederholung Ihrer Dokumente zusammen mit dem erwarteten Ansatz. Holen Sie sich dies bis zum nächsten Tag als Vorstufe, damit sie mit der Arbeit am Sprint beginnen können. Dies wird das Brainstorming formalisieren, das sie durchführen sollen, und unter den gegebenen Umständen denke ich, dass dies ein notwendiger Schritt ist.

  2. Führen Sie eine ehrliche Bewertung Ihrer Dokumente durch, um festzustellen, ob sie mit einem angemessenen Englischniveau verfasst sind. Der klügste Entwickler kann die Erwartungen nicht erfüllen, wenn die Sprachanforderungen über das Angemessene hinausgehen. Es ist viel einfacher, komplizierte Dokumente zu schreiben als einfache, und es erfordert kontinuierliche Anstrengung.

  3. Es hört sich so an, als hätten Sie während des gesamten Sprints keinen Kontakt zu ihnen? Wenn das der Fall ist, muss es geändert werden, damit Sie nicht 1/2 Tag vor dem Ende des Sprints feststellen, dass die Dinge aus dem Ruder laufen. Sie benötigen ein dokumentiertes tägliches Engagement für ihre Fortschritte und Probleme.

  4. Angesichts der Unzufriedenheit, die Sie mit ihren technischen Fähigkeiten und ihrer Kommunikation haben, scheinen Sie nicht in der Lage zu sein, die Beziehung zu beenden. Können Sie den Kunden dazu bringen, Druck auf ihn auszuüben, mehr sachkundige Ressourcen für das Projekt einzusetzen?

  5. Diese Situation kann keine Überraschungen in den Anforderungen und im Umfang bieten. Sie müssen das dem Kunden erklären und sicherstellen, dass es einfach nicht passiert. Indem Sie es zulassen, verringern Sie die Wahrscheinlichkeit, dass ein herausgefordertes Team liefert, und geben ihm etwas, das es gegen Sie verwenden kann.

  6. Schließlich ist es am schwierigsten, ehrlich einzuschätzen, ob Sie Ihren Arbeitgeber um Hilfe bitten müssen. Mit Sprint um Sprint verpasst geht das schon eine Weile so. Es ist schmerzhaft zuzugeben, dass eine Situation außerhalb unserer Erfahrung liegt, aber viel besser, als darauf zu bestehen, dass wir es können, und dann zu scheitern.

+1 für „Fragen Sie nach einer Neuformulierung Ihrer Dokumente zusammen mit ihrem voraussichtlichen Ansatz“. Auch wenn es extrem klingen mag, sicher ist sicher.

Ich stimme Michael und Mark vollkommen zu. Beide haben das Problem mit der Bitte um eine Neuformulierung Ihrer Dokumente zusammen mit ihrer erwarteten Vorgehensweise auf den Punkt gebracht . Sie verstehen die Anforderungen eindeutig nicht. Das Problem ist ... versuchen sie vorher zu verstehen? Wenn sie die Anforderungen nicht analysieren und direkt zum Entwickler springen, werden sie es später schwer haben.

Eine Sache, die Sie berücksichtigen müssen, ist der kulturelle Unterschied vor Ort. Es gibt HIER ein erstaunliches Video von Robert Dempsey , in dem er über kulturelle Unterschiede spricht und ein kleines Detail hervorhebt, das alles verändern kann: Inder sind es nicht gewohnt, „nein“ zu sagen, selbst wenn sie nicht verstehen, wovon Sie sprechen (ich bin es aus Brasilien und ich weiß, dass ähnliches auch hier passieren kann).

Es gibt einen weiteren Punkt, den Brooks (wenn ich mich nicht irre) in seinem TMMM erwähnt : Es ist unwahrscheinlich, dass Sie einen haben, der Fragen aufwirft, wenn Sie Raum haben, Dinge anzunehmen . Es kann mit dem ursprünglichen Problem übereinstimmen, Anforderungen sind nicht klar. Wenn Sie also die Anforderungen mit ihnen durchgehen, stellen Sie sicher, dass Sie trennen, was sie von den Anforderungsdokumenten verstanden haben und was sie auf der Grundlage dieser angenommen haben.

Sehr gut gesagt.
Ich mag das Video und den geposteten Link! Danke Thiago!

Sie haben sicherlich ein Problem. Letztendlich liegt das Problem bei Ihnen, auch wenn das Team aus totalen Faulpelzen besteht. Sie sind für die pünktliche Lieferung verantwortlich; Das Team ist nur Ihnen gegenüber rechenschaftspflichtig. Ich bin mir nicht sicher, ob Offshore/Onshore relevant ist; Ich bin mir nicht sicher, ob viele der oben genannten Details relevant sind (abgesehen davon, dass wir gefragt hätten, wenn Sie sie nicht bereitgestellt hätten). Was aus POV relevant ist, ist, dass Ihr Team ständig nicht liefert. Was sind die Folgen dieses Scheiterns? Was sind die Konsequenzen für das Projekt? Was sind die Folgen für die Stakeholder? Die Folgen für das Team? Und was sind die Folgen für Sie?

  1. Obwohl Sie denken, dass Sie die User Stories klar und effektiv kommuniziert haben (und es klingt sicherlich so, als hätten Sie alles richtig gemacht), ist die Kommunikation nicht effektiv, wenn sie nicht empfangen wird. Als Erstes würde ich an Ihrer Stelle einen Weg finden, um zu testen, ob die Empfänger wahrnehmen, dass „jede Anforderung klar ist und auch der Umfang klar definiert ist“. Schließen Sie diese Feedback-Schleife während dieses ersten Sprint-Meetings. Bauen Sie eine Rückkopplungsschleife ein, die sie dazu zwingt, ein messbares Produkt herzustellen. Lassen Sie sie vielleicht die Unit-Tests für die User Stories innerhalb von 24 Stunden nach dem ersten Briefing erstellen? Etwas, das sie daran hindert, später unklare Anforderungen geltend zu machen.
  2. Der Sprint von 2 Wochen ist eindeutig ein ineffektiver Zeitrahmen für Team India. Sie bedürfen einer engeren Überwachung. Bis sie einen erfolgreichen Sprint produzieren können, sollten sie täglich über inkrementelle Fortschritte berichten müssen. (Wöchentlich wäre schön, aber ich bin skeptisch). Sie und Team India haben ein gemeinsames Problem, und Sie müssen sich die Verantwortung für die Lösung teilen.
  3. Metriken. Earned Value ist dein Freund. Sie und Team India sind gemeinsam dafür verantwortlich, das Kommunikationsproblem früher im Sprint zu identifizieren und zu beheben. Ein gemeinsames Verständnis des Entwicklungsprozesses, das Erkennen von Hindernissen und das Entfernen von Hindernissen sind der Weg aus dieser speziellen Falle.
  4. Die Konsequenz für das Projekt ist, dass Sie immer später werden. Ich würde das schnell eskalieren; Beginnen Sie mit dem Briefing nach oben, dass die Projekttermine schnell rutschen.

    „Unser Versanddatum liegt jetzt 4 Wochen über unserer Basislinie. Wenn Team India nicht in Sprint 7 liefern kann, verschiebt sich dieses Datum um weitere zwei Wochen. Wenn die Verzögerung 8 Wochen erreicht, beträgt das Risiko, dass das gesamte Projekt nicht geliefert wird, 50 % . Wenn wir dieses Risiko mindern wollen, können wir ein anderes Entwicklerteam beauftragen, die Arbeiten zu übernehmen, die derzeit für Team India geplant sind.“

Am Ende kann der PM nur Probleme identifizieren und sie zusammen mit Abhilfemaßnahmen an die entsprechenden Interessengruppen weiterleiten. Ich habe gerade noch einmal alles gelesen, was @michael Boses gesagt hat, und meine Antwort stimmte mehr mit seiner überein, als ich dachte. Er hat recht. Wenn Sie zwischen den Zeilen Ihrer Frage lesen, sind Sie bereits zu diesem Schluss gekommen.

Bevor ich anfange, sollte ich erwähnen, dass ich in den letzten 10 Jahren Indien-Teams mit einer Größe von bis zu 180 in über 100 Projekten geleitet und genau dieselben Probleme durchgemacht habe. Es ist in jedem Projekt entscheidend, die richtigen Fähigkeiten für das jeweilige Projekt zu finden, aber in Indien ist es aufgrund von Kultur, Kommunikation, Zeitunterschieden usw. zehnmal wichtiger.

Andere Poster haben auf die Hauptprobleme hingewiesen;

  • Die indische Kultur unterscheidet sich erheblich von der der USA. Die Kultur ist von Natur aus sehr hierarchisch und Selbstdarstellung, Unternehmergeist, Denken „über den Tellerrand hinaus“ ist ziemlich selten. Wenn die Anweisungen/Anforderungen in irgendeiner Weise unvollständig sind, ist es für 90 % der indischen Entwickler sehr wahrscheinlich, dass keine Arbeit geleistet wird.
  • Die Entwicklerqualität in Indien ist auf der ganzen Linie, ich habe einige fantastische Entwickler erlebt, aber meistens durchschnittliche/unterdurchschnittliche Entwickler. Außerhalb der Schule sind sie extrem umweltfreundlich und erfordern im Allgemeinen eine erhebliche Investition in die Ausbildung. Es ist sehr vordergründig, um eine gute Kapitalrendite zu erzielen. Ihre Erwartungen müssen möglicherweise angepasst werden, wenn sie nicht bereits gut ausgebildet sind und keinen lokalen Manager/Mentor haben, der sie effektiv anleitet.
  • Kommunikation, obwohl Indien von einem relativ frühen Alter an Englisch als Hauptsprache verlangt, wird es im Allgemeinen nur bei der Arbeit gesprochen. Als solches finden Sie ein sehr unterschiedliches Kompetenzniveau.

Was ich getan habe, das funktioniert, ist, mindestens einen indischen Top-Entwickler (oder Manager) zu finden, der das Team leitet, Kommunikation ist das Hauptanliegen, dann technische Kompetenz. Ohne diesen Manager wird es sehr schwierig sein, erfolgreich zu sein. In der Zwischenzeit werden Sie von 23:30 bis 3:00 Uhr oder von 6:00 bis 9:00 Uhr aufstehen, um direkt mit den Entwicklungs- und QA-Managern zu arbeiten/zu koordinieren/zu betreuen/zu schulen. Ihre andere Alternative besteht darin, die ???? aus allem heraus annehmen, dass sie so gut wie nichts über alles wissen und entsprechend dokumentieren. Es mag hart klingen, aber es ist Realität. Sie müssen dann alle Ausgaben ständig überprüfen. So oder so für ein 14-köpfiges Team wird es ein Fulltime-Job sein. Eine andere Möglichkeit besteht darin, einen Auftragnehmer einzustellen, der es gewohnt ist, mit indischen Teams zusammenzuarbeiten, um die Bemühungen zu leiten. Es ist eine Kunst, effektiv mit indischen Ressourcen zu arbeiten.

Diesen Top-Manager/Entwickler zu finden, das ist eine ganz andere Frage...

Das ist ein ausgezeichneter Punkt. Sogar ich denke, dass eine gute, wirklich solide Person im Techno-Management hier sehr hilfreich sein wird. Abgesehen davon, wenn der Manager ein echter Motivator ist, ist das ein großer Vorteil.
Was wir normalerweise in unserer Organisation tun, ist, einen Remote-TL (am selben Standort wie das Team) als "stellvertretenden" Product Owner zu haben - die Geschichten zu verstehen, tägliche Gespräche mit dem primären PO zu allen vom Team aufgeworfenen Fragen zu führen und dem Team zu helfen um ihre Fragen zu stellen, wenn sie sie haben, und auch Zwischenantworten auf erforderliche Klärungen zu geben (gut, fundierte Vermutungen, spätere Überprüfung, falls erforderlich), wenn die US-Seite PO aufgrund von TZ-Diff. nicht verfügbar ist. aber das erfordert einen TL mit den richtigen Kommunikationsfähigkeiten.