Wie wir agile Projekte als erweitertes verteiltes Team unserer Kunden durchführen

Veröffentlicht: 2018-12-14

Ein kürzlich erschienener Bericht von Computereconomics ergab, dass sich der Anwendungsentwicklungsprozess im Zeitraum 2018/19 als derjenige mit den größten Outsourcing-Möglichkeiten herausgestellt hat – mit 56 % der Unternehmen auf der ganzen Welt, die ihre Entwicklungsanforderungen auslagern.

Der Grund für diese erhöhte Nachfrage nach dem Outsourcing der Anforderungen an die Entwicklung mobiler Apps war wie immer derselbe – niedrigere Kosten als bei der Beschäftigung eigener Entwickler im Land, was eine stärkere Konzentration auf das Hauptgeschäft und eine bessere Servicequalität ermöglicht.

Obwohl das Outsourcing einen zentralen Platz in der Anwendungsentwicklungsbranche einnimmt, haben wir festgestellt, dass es einige gemeinsame Bedenken gibt, die die Kunden äußern, wenn sie planen, ihr Softwareentwicklungsprojekt außerhalb ihres geografischen Landes auszulagern.

In diesem Artikel werden wir untersuchen, wie Appinventiv mit Offshore-Kunden unter Verwendung des verteilten agilen Entwicklungszyklus zusammenarbeitet, der einen stärker vernetzten Arbeitsprozess mit abgestimmtem Risiko- und Vergütungsmodell für alle ermöglicht.

Aber bevor wir zu dem Teil kommen, in dem wir erzählen, wie wir als verteiltes Team unserer Kunden agieren und so nahtlos zusammenarbeiten, dass wir zu ihrem erweiterten internen Tech-Team werden, ist es wichtig zu wissen, was Distributed Agile Team überhaupt bedeutet.

Was verstehen wir unter einem verteilten agilen Team ?  

Ein verteiltes Team ist ein Konzept, das verwendet wird, um das Ereignis zu erklären, bei dem zwei oder mehr Teams an mehreren geografischen Standorten arbeiten, anstatt einen Büroraum oder sogar zwei Büroräume in einer Stadt.
Das verteilte agile Team verlässt sich auf digitale Technologien, um nahtlos zu interagieren und gemeinsam auf das gleiche Ziel hinzuarbeiten – rechtzeitige Projektabwicklung.

Warum investieren Unternehmen in ein verteiltes Team für die Entwicklung mobiler Apps?

Es gibt eine Reihe von Gründen, die Unternehmen dazu bewegen, in verteilte Teams zu investieren. Gründe reichen von:

  1. Der Mangel an qualifizierten Entwicklern in ihrem Land
  2. Die Notwendigkeit, den Markt zu testen, bevor eine Investition in den Teamaufbau getätigt wird
  3. Um den Vorteil des flexiblen Teams zu nutzen, das zum Zeitpunkt der Skalierung der App erhöht und bei Bedarf aufgelöst werden kann.

Nachdem wir uns nun um die Definition und den Bedarf gekümmert haben, wollen wir uns nun ansehen, wie das Appinventiv-Team als verteiltes Team unserer Kunden arbeitet. Aber bevor wir dorthin springen, lassen Sie uns schnell einen Blick darauf werfen, wie unsere typische verteilte agile Teamstruktur aussieht –

Appinventiv-Ansatz zur verteilten agilen Entwicklung  

Oftmals bekommen wir ein Projekt, bei dem wir eng mit den FTEs der Kunden zusammenarbeiten müssen. In solchen Fällen wird es sehr wichtig, dass wir die Entfernung in Tausend Meilen zwischen den Arbeiten nicht zulassen und dass wir in der Lage sind, Änderungen vorzunehmen und in Echtzeit auf den Entwicklungsprozess einzuwirken.

Wie wir eine pünktliche Lieferung ohne Kommunikationsverzögerungen und Missverständnisse sicherstellen, ist eine Frage, deren Antwort in der Distributed Agile Methodology liegt .

Sowohl für kleine als auch für große Unternehmen geeignet, ist das Befolgen verteilter agiler Best Practices sehr praktisch, wenn wir mit einem Team zusammenarbeiten müssen, das an einem anderen geografischen Ort mit einer völlig anderen Zeitzone sitzt.

Lassen Sie uns einen Blick auf die Distributed Agile Development Method werfen, die wir in unserem Entwicklungsprozess für mobile Apps anwenden.

Nachdem wir alle Teammitglieder einander vorgestellt und die Projektmanagement-Software kollaboriert haben, beginnt die eigentliche Arbeit.

Wir formulieren den Prozess der täglichen agilen Scrum-Methodik . Während Scrum im traditionellen Sinne ein persönliches Standup-Meeting von 15 Minuten erfordert, bei dem jeder Teilnehmer den Status seiner Aufgaben teilt und das Team über die Aufgaben informiert, die er als nächstes übernehmen wird, ist es fast unmöglich, den gleichen Prozess in der Hälfte zu verfolgen des Teams sitzt in einer anderen geografischen Nation in einer anderen Zeitzone.

Was wir tun, um die Essenz der persönlichen Interaktion im Scrum am Leben zu erhalten, ist, dass wir zu einem festgelegten Zeitpunkt einen Videoanruf abhalten, der für alle im Team geeignet ist, die an dem Projekt arbeiten. Mithilfe von Bildschirmfreigaben durchläuft unser Agile Scrum Master mit Hilfe von Tools wie Trello oder Jira das virtuelle Sprint-Backlog, sodass jedes Teammitglied ein Update darüber geben kann, wohin sich das Projekt bewegt.

Wir haben die Erfahrung gemacht, dass es sehr wichtig ist, allen Teammitgliedern Zugang zu einer Plattform zur Aufgabenverfolgung zu geben, die leicht zugänglich und aktualisierbar ist. Wir betonen auch die Verwendung einer Kommunikationsplattform wie Skype oder Slack, damit alle zwischen den beiden Scrum-Zeiträumen Updates austauschen oder ihre Zweifel stellen können.

Ein weiterer Ansatz, den wir für den täglichen Agile- und Scrum -Prozess verfolgen, ist, dass wir für jedes verschiedene Scrum einen Scrum Master ernennen. Jedes einzelne Team arbeitet also als separates Scrum-Team mit einem Scrum Master und einem Product Owner – ein Prozess, der auch als Scrum of Scrums bekannt ist.

Dabei geben alle Scrum-Vertreter eine Antwort auf folgende Fragen im Scrum –

  • Die Arbeit, die das Team seit dem letzten Scrum of Scrums abgeschlossen hat
  • Das Arbeitsteam plant, dies vor dem nächsten Scrum of Scrums-Meeting zu tun
  • Der aktuelle Blocker, dem das Team gegenübersteht
  • Der Blocker, der zu einem anderen Scrum-Team führen kann.

Die Methode ermöglicht es allen Hauptbeteiligten des Projekts, direkt miteinander zu interagieren, was immer zu Engagement von der Initiierungsphase bis zur Markteinführung führt. Dies gewährleistet eine offene, klare und transparente Kommunikation zwischen allen Teams, in der jeder eine Stimme erhält.
Abgesehen von Scrum of Scrums ist der Prozess derselbe wie bei der typischen Agile-Methodik.
Aber die bloße Tatsache, dass die Entfernung zwischen unserem Team und dem Team unserer Kunden meilenweit entfernt ist und wir dennoch so nahtlos wie möglich arbeiten müssen, hat eine Reihe von Erkenntnissen gebracht, die wir durch die Einführung von Distributed Agile vorangetrieben haben. Schauen wir uns an, was diese Erkenntnisse sind –

Die Erkenntnisse, die wir durch die Arbeit am verteilten agilen Entwicklungsprozess gezogen haben

1. Bei der Schaffung eines verteilten Teams geht es um den Aufbau einer Kultur und nicht um einen Prozess

Was den Erfolg eines Projekts definiert, das nach dem agilen Ansatz für verteilte Teams arbeitet, hängt nicht davon ab, wie gut die Teammitglieder sind, sondern davon, wie gut sie zusammenarbeiten können, mit welchem ​​​​Eigenverantwortungsgefühl sie arbeiten und letztendlich wie eng ausgerichtet sind sie am ziel des projekts – etwas, das mit kultur und nicht mit einer prozessbildung einhergeht.

2. Nur SMART-Projekte sind erfolgreich

Wenn ein Projekt von einem Team abgeschlossen werden muss, das sich nicht einmal im selben Land, geschweige denn im Büro befindet, ist es sehr wichtig, dass die Ziele, die Sie für das Projekt festgelegt haben, SMART folgen – spezifisch, messbar, erreichbar, realistisch und Zeit -gerahmt, Konzept zum t.

3. Es gibt keine Alternative zu Online-Collaboration-Tools

Unabhängig davon, wie viel es Sie kostet, müssen Sie sich auf Tools für die Online-Zusammenarbeit verlassen, die in Echtzeit arbeiten und minimale bis gar keine Verzögerungen aufweisen. Bei der Finalisierung der Online-Projektmanagement- und Kommunikationsplattformen darf man ohnehin nicht nachlassen. Sie müssen sicherstellen, dass sie technisch in der Lage sind, Ihre Anforderungen zu erfüllen.

Nachdem wir nun die Erkenntnisse gesehen haben, die wir aus unserer umfangreichen Arbeitserfahrung als verteiltes Team gezogen haben, ist es an der Zeit, sich einige der Herausforderungen anzusehen, auf die wir während des Prozesses gestoßen sind, und wie wir sie gelöst haben, um eine vertrauenswürdige verteilte agile App zu werden Entwicklungsgesellschaft .

Herausforderungen des verteilten agilen Entwicklungsansatzes und wie wir sie lösen

1. Unterschied in der Kultur

Üblicherweise erfordern verteilte agile Softwareentwicklungsansätze die Zusammenarbeit mit Teams mit unterschiedlichem kulturellem Hintergrund. Dieser Unterschied verursacht Reibung aufgrund unterschiedlicher Wertvorstellungen und Redewendungen.
Unsere Lösung: Wir arbeiten in den ersten Tagen sehr eng mit dem Team des Kunden zusammen, um uns an die Zwischenzeilen und Kontexte zu gewöhnen.

2. Ein Unterschied in den Zeitzonen

Der springende Punkt der verteilten agilen Methodik sind Teams, die aus verschiedenen geografischen Nationen arbeiten. In einer solchen Situation kommt es sehr häufig vor, dass aufgrund der Zeitverschiebung eine Kommunikationslücke entsteht.
Unsere Lösung: Wir folgen dem Konzept der Agilität für ein verteiltes Team bis ins Mark. Wir legen einen Zeitpunkt fest, an dem die Teams aller Nationen anwesend und aktiv sind. Um die volle Konzentration und Aufmerksamkeit zu erreichen, bitten wir unsere Teamkollegen, ihre Bürozeiten am Scrum-Tag zu ändern, damit sie gut schlafen und aufmerksam sind.

3. Fehlen einer gemeinsamen Vorstellung von „Big Picture“

Aufgrund unterschiedlicher geografischer Standorte, Arbeitsstrukturen und Richtlinien kann es zu Abweichungen in der Idee des Gesamtbildes – dem Endziel der mobilen App – kommen. Dieser Unterschied kann bei einigen Teammitgliedern zu mangelndem Interesse und bei anderen zu einem erhöhten Interesse führen.
Unsere Lösung: Ein Visioning Meeting zu Beginn der Projektinitiierung und eine Erinnerung in jedem Scrum, damit alle auf das gleiche Ziel hinarbeiten.

4. Ein Fehlen von Code-Eigentum

Das Fehlen eines kollektiven Codeeigentums bedeutet, dass niemand den Code besitzt, er gehört dem gesamten Team, und wenn etwas schief geht, beginnt das Schuldspiel.
Unsere Lösung: Wir überprüfen mit einem Versionskontrollsystem, wer wann an einem Code arbeitet und welche Auswirkungen dies hat. Auf diese Weise herrscht vollständige Transparenz und Ehrlichkeit im Bild.

Das ist also die Geschichte, wie wir bei Appinventiv zu einem verteilten Team von Kunden geworden sind, die überall auf der Welt hingehören.
Möchten Sie diskutieren, wie Sie das Niveau Ihrer verteilten agilen Softwareentwicklung steigern können? Kontaktieren Sie unsere Strategen für mobile Apps.