Agile Entwicklung in einem verteilten Team [geschlossen]

8

Das Agile Manifest unterstreicht die Wichtigkeit und Art der Kommunikation im Software-Entwicklungsprozess. Zwei der zwölf Prinzipien unterstreichen dies:

  • Geschäftsleute und Entwickler müssen während des gesamten Projekts täglich zusammenarbeiten.

  • Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist die persönliche Konversation .

Bei meinem aktuellen Projekt sind die fünf Mitglieder unseres Entwicklungsteams in vier Städten in drei Bundesstaaten verstreut. Geographisch verteilte Teams scheinen immer häufiger anzukommen, da Telearbeit / Fernarbeit und Offshore-Entwicklung sich ausweiten.

Wenn ein Team nicht von Angesicht zu Angesicht sein kann, wie können Werkzeuge und Technologie eingesetzt werden, um Praktiken wie tägliche Stand-up-Meetings, Code-Reviews, Paar-Programmierung und das XP-Konzept des "ganzen Teams" effektiv zu machen? Wie können diese Praktiken selbst auf ein geografisch verteiltes Team zugeschnitten werden?

    
scott.caligan 17.09.2008, 19:37
quelle

11 Antworten

6

Dies sind Ergebnisse, die mein Arbeitgeber von einem massiven verteilten Projekt präsentiert hat.

Stellen Sie sicher, dass sich das Team sowohl beim Start des Projekts als auch während des gesamten Projekts persönlich trifft. Stellen Sie sicher, dass alle in sozialen Veranstaltungen enthalten sind.

Bereiten Sie sich darauf vor, für gute Kommunikationsausrüstung aufzukommen. Kaufen Sie keine Mistmikrofone - suchen Sie nach anständigen Telekonferenzgeräten. Stellen Sie sicher, dass Sie über genügend Bandbreite verfügen, um das zu handhaben.

Finden Sie gute Tools für die Zusammenarbeit und bleiben Sie dabei.

Fügen Sie Fotos von Personen zu virtuellen Besprechungsräumen hinzu - es ist viel einfacher, mit einem Gesicht zu sprechen, selbst wenn es nur ein Foto ist.

Kommunizieren Sie die Vision des Projekts so oft wie möglich, um sicherzustellen, dass die Leute auf Kurs sind.

    
Asgeir S. Nilsen 17.09.2008 19:57
quelle
3

In der Reihenfolge der Priorität:

  1. Ein guter Projektmanager, der verschiedene Standorte zusammenhält
  2. Effektives (schnelles und zuverlässiges) Chat-Tool, das einen Gruppenchat ermöglicht. Skype ist ausgezeichnet. Wir haben einen Gruppenchat für alle Teammitglieder, die permanent geöffnet sind und verwenden bei Bedarf One-to-One-Chats und VoiP-Anrufe
  3. Code-Repository
  4. Wiki für geteiltes Wissensmanagement
  5. Guter, schneller und einfacher Issue Tracker.
  6. Wöchentliche / tägliche Code-Reviews
  7. Kontinuierliches Integrationssystem
  8. Eine Person mit guten Organisationstalent an jedem Standort, an dem mehr als ein Teammitglied einen intern organisierten Shard verwaltet.
Ilya Kochetov 18.09.2008 09:44
quelle
2

Ich bin in einer ähnlichen Situation in einem Team. Wir haben den ganzen Tag über einen Skype-Gruppen-Chat im Einsatz, ein großer Vorteil, und wir erweitern die Idee auf andere Projekte, die nicht agil oder geografisch verteilt sind.

Wir stehen täglich am Telefon, aber dieses Treffen braucht die Unmittelbarkeit und das Feedback echter Sprachkommunikation. Wir stehen jeden Tag am Telefon und telefonieren dann (noch am Telefon), wenn es komplizierte Probleme für den Tag gibt, die besprochen werden. Den Rest des Tages arbeiten alle an ihren Aufgaben und nutzen Skype zur Koordination. Es funktioniert gut.

    
Mike 17.09.2008 19:56
quelle
1

Ich habe festgestellt, dass Sie wirklich vorsichtig sein müssen, wenn Sie nach Werkzeugen suchen, die "alles machen". Das Problem ist, dass Sie am Ende Ihren Prozess ändern müssen, um das Tool zu verwenden, anstatt das Tool zu verwenden, um Ihren Prozess zu unterstützen. Dies kann in Ordnung sein, wenn der neue Prozess, der durch das Werkzeug diktiert wird, besser ist, aber in vielen Fällen nicht.

Sieh dir jedoch Lagerfeuer an. Es ist wie eine Kreuzung zwischen einem Wiki, IM und IRC. Es ist wirklich ziemlich gut für freie Form Gruppenkommunikation mit Geschichte und etwas Struktur.

Ich mag auch BaseCamp (von der gleichen Firma, 37signals) - es ist eher eine Aufgabenliste / Diskussion / Projekt-Tracking-System . Mehr Werkzeuge als nur Lagerfeuer.

Das Schöne an beiden ist, dass sie ziemlich leicht sind - benutze sie, um zu helfen, was du tust, anstatt es zu behindern.

Und schließlich - Skype . Stellen Sie sicher, dass die Leute keine Angst haben, den "Anruf" -Knopf zu drücken. Stellen Sie sicher, dass die Leute den Status "besetzt" haben und dass sie respektiert werden. Lassen Sie die Leute darüber nachdenken wie Büros mit Türen, kein Telefonanruf.

    
Philip Rieck 17.09.2008 19:50
quelle
1

Für diejenigen, die das Lagerfeuer satt haben, gibt es seit kurzem Jaconda.im , chatte als GTalk / Jabber-Kontakt. Wir benutzen es in unserem Team und lieben es irgendwie, keine Notwendigkeit, etwas zu installieren.

Sie erstellen dort einfach einen "Raum" und geben jedem den Kontakt, mit dem Sie chatten möchten, und Sie haben Ihren Chat-Raum in Ihrer Kontaktliste.

    
firedev 01.09.2009 09:09
quelle
1

Standups, Sprint-Planung, Retrospektive und Schätzungen sind einige der wichtigsten Zeremonien in agil und idealerweise sollte von Angesicht zu Angesicht getan werden, was dem Team mehr Zusammenhalt gibt und zu einem besseren Teambuilding führt. Um dies für ein verteiltes Team zu erreichen, würde ich vorschlagen,

zu folgen
  • Zeremonien, die über ein Videokonferenz-Tool mit eingeschaltetem Video durchgeführt werden, damit sich alle Teammitglieder gegenseitig sehen können. Was ich gesehen habe, wenn ich nur Stimme benutze, ergibt weniger Kohäsion, also ist das Anschalten von Video eine gute Angewohnheit. Verwenden Sie ein beliebiges Tool, das für Sie arbeitet. Mein Team verwendet Google Hangout und es funktioniert hervorragend für uns.
  • Just-in-time-Feedback / Hilfe ist wichtig für verteilte agile Teams, da ein Blocker auf den nächsten Tag ausgedehnt werden kann, falls ein Tool oder eine Praxis fehlt, um Teammitglieder zu erreichen. Tools wie slack sind wirklich effektiv. Erstellen Sie einen Kanal für Ihr Team und kommunizieren Sie effektiv dort. Es ist eine gute Übung, Ihren Blocker im Team-Kanal zu kommunizieren, damit jeder aus dem Team Ihnen weiterhelfen kann.

  • Code-Reviews sind auch wirklich wichtig, obwohl meistens keine persönliche Konversation erforderlich ist, also sind Tools wie GitHub wirklich hilfreich. Peer-Programmierung kann über Google Hangout erreicht werden. Was wir normalerweise in unserem Team tun, falls einer der Teammitglieder möchte, dass andere Teammitglieder in ihren / ihren Code schauen, während sie / er gerade daran arbeitet, gehen wir normalerweise zum Hangout und teilen unsere Bildschirme und Peer Reviews gegenseitig Arbeit. Haben Sie mehrere große Bildschirm Hilfe hier.

In erster Linie versuchen Sie, einen Großteil Ihrer Kommunikation zu behalten, aber versuchen Sie, so weit wie möglich Video Conf Tools zu verwenden und falls es möglich ist, sich mindestens einmal in 3 Monaten zentral an einem Ort zu treffen und eine Woche oder zwei zusammen zu arbeiten. p>     

Ashish Thakur 19.12.2016 07:50
quelle
0

Fowler hat über Offshore-Entwicklung geschrieben, aber in Ihrem Fall trifft es nicht direkt zu. Es ist immer noch eine gute Lektüre. Ich würde vorschlagen, so viel wie möglich mit Collaboration-Tools (IRC, Wikis, Skype, IMs) zu arbeiten und, wenn es möglich ist, viele Face-to-Face-Treffen zu arrangieren.

    
auramo 17.09.2008 19:41
quelle
0

Wir haben etwas davon gemacht - Sie können etwas arbeiten, um die Probleme zu lindern, aber es ist ein Durcheinander.

Halten Sie Ihre Status-Meetings am Morgen am Telefon ab, jeder muss ständig IM sein und Sie können über VNC / Videokonferenz eine Verbindung herstellen, aber das funktioniert nicht immer.

Sehr lange Telefonanrufe - Wenn ich ein Mitglied aus dem Büro hatte, würde ich oft die Leitung um 9 Uhr morgens öffnen und bis zum Mittagessen weitermachen - dann wieder verbinden wie nötig.

Das ist eigentlich eine interessante Idee - Erstellen Sie eine ständig aktive Freisprecheinrichtung mit Software, so dass alles, was Sie tun, automatisch von den anderen Büros übernommen wird. Es ist viel einfacher, einfach zu sagen: "Hey, Jim, wie ist der Deal mit Zeile 203?"

Frühcheck, Check-in OFT. Ständig, wie jede Stunde, max.

    
Bill K 17.09.2008 19:47
quelle
0

Eine Art Gruppen-Chat-Tool funktioniert sehr gut. Ich habe einen Monitor und Lautsprecher in meinem Cube mit einem benutzerdefinierten MSN Messenger-Account eingerichtet, der jedem (das Konto hatte nur Teammitglieder als Freunde) das Privileg gab, einen Video-Chat zu starten.

Außerdem habe ich oft eingecheckt (sobald ich etwas kompilieren konnte, vorausgesetzt es würde keine Tests brechen) und habe es oft geschafft.

Sehr oft tauchte ein Kollege auf dem MSN-Monitor auf und bat mich, etwas zu tun, weil sie etwas Wichtiges eingecheckt hatten. Ich würde es einfach machen, ohne den Kopf zum Monitor zu drehen. Das Fernäquivalent deines Kollegen rüber im nächsten Würfel brüllt dich an, um spätestens zu kommen. Funktioniert ein Charme:)

    
Arun 17.09.2008 20:02
quelle
0

Es gibt eine nette Erfolgsgeschichte über die Implementierung von Scrum mit verteilten Teams: Ссылка

Und wenn Sie ein Online-Whiteboard zur Unterstützung Ihrer Planung suchen, können Sie sich Agilo für Scrum ansehen: Ссылка

    
Doro 22.09.2009 16:49
quelle