Jak prowadzimy projekty zwinne jako rozszerzony zespół rozproszony klientów

Opublikowany: 2018-12-14

Niedawny raport Computereconomics wykazał, że w okresie 2018/19 proces tworzenia aplikacji pojawił się jako ten, w którym zaobserwowano maksymalne możliwości outsourcingu – 56% organizacji na całym świecie zleca na zewnątrz swoje wymagania programistyczne.

Powód tego zwiększonego zapotrzebowania na outsourcing potrzeb związanych z tworzeniem aplikacji mobilnych był taki sam jak zawsze – Niższy koszt niż ten, który musiałby zostać poniesiony, gdyby zatrudniano programistów z własnego kraju, co pozwala na większą koncentrację na głównej działalności i lepszą jakość usług.

Jednak nawet w sytuacji, gdy outsourcing zajmuje centralne miejsce w branży tworzenia aplikacji, stwierdziliśmy, że istnieją pewne powszechne obawy, które wykazują klienci, gdy planują zlecić outsourcing swojego projektu tworzenia oprogramowania poza swój kraj geograficzny.

W tym artykule przyjrzymy się, w jaki sposób Appinventiv współpracuje z klientami offshore, korzystając z rozproszonego cyklu rozwoju zwinnego, umożliwiając bardziej połączony proces pracy z ujednoliconym modelem ryzyka i wynagrodzeń we wszystkich.

Ale zanim przejdziemy do części, w której opowiemy, jak działamy jako rozproszony zespół naszych klientów i pracujemy tak płynnie, że stajemy się ich rozbudowanym wewnętrznym zespołem technicznym, ważne jest, aby wiedzieć, co w ogóle oznacza rozproszony zespół zwinny .

Co rozumiemy przez rozproszony zespół zwinny  

Zespół rozproszony to koncepcja używana do wyjaśnienia zdarzenia, w którym dwa lub więcej zespołów działa w wielu lokalizacjach geograficznych zamiast jednej lub nawet dwóch powierzchni biurowych w jednym mieście.
Rozproszony, zwinny zespół opiera się na technologiach cyfrowych, aby bezproblemowo współdziałać i współpracować w celu osiągnięcia tego samego celu – terminowej realizacji projektów.

Dlaczego firmy inwestują w rozproszony zespół ds. tworzenia aplikacji mobilnych?

Istnieje wiele powodów, które skłaniają firmy do inwestowania w zespoły rozproszone, między innymi:

  1. Niedobór wykwalifikowanych programistów w ich kraju
  2. Konieczność przetestowania rynku przed dokonaniem inwestycji w rozwój zespołu
  3. Aby skorzystać z zalet elastycznego zespołu, który można zwiększyć w momencie skalowania aplikacji i rozwiązać, gdy potrzeba się skończy.

Mając definicję i zaspokojoną potrzebę, przyjrzyjmy się teraz, jak zespół Appinventiv działa jako rozproszony zespół naszych klientów. Ale zanim tam wskoczymy, przyjrzyjmy się szybko, jak wygląda nasza typowa struktura rozproszonego zespołu Agile

Podejście Appinventiv do rozproszonego rozwoju zwinnego  

Niejednokrotnie otrzymujemy projekt, w którym wymóg zobowiązuje nas do pracy w ścisłym powiązaniu z etatami klientów. W takich przypadkach bardzo ważne staje się, abyśmy nie dopuścili do odległości w tysiącach mil między pracą, abyśmy byli w stanie dokonywać zmian i podejmować działania w procesie rozwoju w czasie rzeczywistym.

To, w jaki sposób zapewniamy terminową dostawę bez zerowych zakresów opóźnień w komunikacji i nieporozumień, to pytanie, na które odpowiedź leży w Distributed Agile Methodology .

Pasujące zarówno do małych, jak i dużych firm, stosowanie rozproszonych najlepszych praktyk Agile jest bardzo przydatne, gdy musimy pracować z zespołem, który znajduje się w innym miejscu geograficznym o zupełnie innej strefie czasowej.

Przyjrzyjmy się metodzie Distributed Agile Development, którą stosujemy w procesie tworzenia aplikacji mobilnych.

Po zapoznaniu się ze sobą wszystkich członków zespołu i współpracy z oprogramowaniem do zarządzania projektami rozpoczyna się właściwa praca.

Formułujemy proces codziennej metodyki Agile Scrum . Podczas gdy w tradycyjnym sensie Scrum wymaga 15-minutowego spotkania twarzą w twarz, podczas którego każdy uczestnik dzieli się statusem swoich zadań i informuje zespół o zadaniach, które podejmie w następnej kolejności, prawie niemożliwe jest przeprowadzenie tego samego procesu, gdy połowa zespołu siedzi w innym kraju geograficznym w innej strefie czasowej.

To, co robimy, aby esencja interakcji twarzą w twarz pozostała przy życiu w scrum, to przeprowadzanie rozmowy wideo w określonym czasie, który jest odpowiedni dla wszystkich członków zespołu pracującego nad projektem. Za pomocą współdzielenia ekranu, nasz Agile Scrum Master przechodzi przez backlog wirtualnego sprintu za pomocą narzędzi takich jak Trello lub Jira, umożliwiając każdemu członkowi zespołu przekazanie aktualnych informacji o tym, dokąd zmierza projekt.

Doświadczyliśmy, że bardzo ważne jest, aby wszyscy członkowie zespołu mieli dostęp do platformy śledzenia zadań, która jest łatwo dostępna i aktualizowana. Kładziemy również nacisk na korzystanie z platformy komunikacyjnej, takiej jak Skype lub Slack, aby wszyscy mogli dzielić się aktualizacjami lub zadawać pytania między dwoma okresami scrum.

Innym podejściem, które stosujemy w codziennym procesie agile i scrum , jest to, że dla każdego scruma wyznaczamy jednego scrum mastera. Tak więc każda indywidualna praca zespołowa jako osobny zespół scrumowy ze scrum masterem i właścicielem produktu – proces znany również jako Scrum of Scrums.

W tym przypadku wszyscy przedstawiciele scrum udzielają odpowiedzi na następujące pytania w scrumie –

  • Praca, którą zespół wykonał od ostatniego Scrum of Scrums
  • Zespół roboczy planuje to zrobić przed kolejnym spotkaniem Scrum of Scrums
  • Obecny bloker, z którym mierzy się drużyna
  • Bloker, który może doprowadzić do kolejnego zespołu Scrum.

Metoda umożliwia wszystkim głównym osobom pracującym nad projektem bezpośrednią interakcję ze sobą, co zawsze skutkuje zaangażowaniem od etapu inicjacji do uruchomienia. Zapewnia to otwartą, jasną i przejrzystą komunikację między wszystkimi zespołami, w której każdy ma głos.
Proces, poza scrumem, jest taki sam, jak w przypadku typowej metodyki Agile.
Jednak sam fakt, że dystans dzielący nasz zespół od zespołu naszych klientów jest oddalony o wiele mil, a mimo to musimy pracować tak płynnie, jak to tylko możliwe, przyniósł szereg wniosków, które osiągnęliśmy dzięki przyjęciu Distributed Agile. Przyjrzyjmy się, czym są te wnioski –

Wnioski, które wyciągnęliśmy, pracując nad procesem rozproszonego rozwoju zwinnego

1. Tworzenie rozproszonego zespołu polega na budowaniu kultury, a nie procesu

To, co definiuje sukces projektu działającego w podejściu zwinnym dla zespołów rozproszonych , nie zależy od tego, jak dobrze wykwalifikowani są członkowie zespołu, ale od tego, jak dobrze są w stanie ze sobą współpracować, poczucia własności, z jaką pracują, i ostatecznie, w jaki sposób są ściśle powiązane z celem projektu – czymś, co jest związane z kulturą, a nie z formowaniem się procesu.

2. Tylko projekty SMART odnoszą sukces

Kiedy projekt musi być zrealizowany przez zespół, który nie znajduje się nawet w tym samym kraju, nie mówiąc już o biurze, bardzo ważne jest, aby cele, które wyznaczyłeś dla projektu, były zgodne z SMART – konkretny, mierzalny, osiągalny, realistyczny i czasowy oprawione, koncepcja do t.

3. Nie ma alternatywy dla narzędzi do współpracy online

Bez względu na to, ile Cię to kosztuje, będziesz musiał polegać na narzędziach do współpracy online, które działają w czasie rzeczywistym i mają minimalne lub zerowe opóźnienia. W kwestii finalizacji internetowych platform zarządzania projektami i komunikacji, nie można w żaden sposób luzować. Będziesz musiał upewnić się, że są technicznie zdolni do obsługi Twoich wymagań.

Teraz, gdy zobaczyliśmy wnioski, które wyciągnęliśmy z naszego rozległego doświadczenia w pracy jako rozproszony zespół, nadszedł czas, aby przyjrzeć się niektórym wyzwaniom, które napotkaliśmy podczas tego procesu i jak je rozwiązaliśmy, aby stać się zaufaną rozproszoną aplikacją zwinną Firma deweloperska .

Wyzwania związane z rozproszonym podejściem do zwinnego rozwoju i sposób ich rozwiązywania

1. Różnica w kulturze

Zwykle rozproszone, zwinne podejście do tworzenia oprogramowania wymaga pracy z zespołami pochodzącymi z różnych środowisk kulturowych. Ta różnica powoduje tarcia ze względu na różne wartości i figury mowy.
Nasze rozwiązanie: Pracujemy bardzo blisko z zespołem klienta w ciągu pierwszych kilku dni, aby przyzwyczaić się do ich między wierszami i kontekstami.

2. Różnica w strefach czasowych

Sednem rozproszonej metodologii zwinnej są zespoły pracujące z różnych krajów geograficznych. W takiej sytuacji bardzo często pojawia się luka komunikacyjna wynikająca z różnicy czasu.
Nasze rozwiązanie: Kierujemy się koncepcją zwinności dla rozproszonego zespołu do samego rdzenia. Ustalamy czas, w którym drużyny ze wszystkich narodów są obecne i aktywne. Aby osiągnąć pełną koncentrację i uwagę, prosimy naszych kolegów z zespołu o zmianę czasu pracy w biurze w dniu scrum, aby dobrze spali i byli uważni.

3. Brak wspólnej idei „dużego obrazu”

Ze względu na różnice w lokalizacji geograficznej, strukturze pracy i zasadach, może istnieć rozbieżność w idei Big Picture – celu końcowego aplikacji mobilnej. Ta różnica może powodować brak zainteresowania ze strony niektórych członków zespołu i zwiększone zainteresowanie ze strony innych.
Nasze rozwiązanie: Wizjonerskie spotkanie na początku inicjacji projektu i przypomnienie w każdym scrum, aby wszyscy pracowali nad tym samym celem.

4. Brak własności kodu

Brak zbiorowej własności kodu oznacza, że ​​nikt nie jest właścicielem kodu, jest on własnością całego zespołu, więc gdy coś pójdzie nie tak, rozpoczyna się gra w obwinianie.
Nasze rozwiązanie: Stosujemy system kontroli wersji, aby sprawdzić, kto i kiedy pracuje nad kodem oraz jaki ma to efekt. W ten sposób na zdjęciu jest pełna przejrzystość i szczerość.

Oto historia tego, jak w Appinventiv staliśmy się rozproszonym zespołem klientów, którzy należą do całego świata.
Chcesz porozmawiać o tym, jak podnieść poziom tworzenia oprogramowania rozproszonego zwinnego? Skontaktuj się z naszymi strategami ds. aplikacji mobilnych.