O czym warto wiedzieć, zaczynając współpracę z dostawcami oprogramowania

O czym
warto wiedzieć,
zaczynając
współpracę
z dostawcą
oprogramowania

partnering with a software development provider

Wraz z rozwojem sektora IT współpraca z dostawcami oprogramowania staje się coraz większym wyzwaniem.

Obecnie setki tysięcy firm korzystają z pomocy dostawców usług tworzenia oprogramowania, by realizować różne swoje cele i potrzeby. Niektóre firmy poszukują ekspertów o bardzo konkretnych, rzadkich specjalizacjach. Inne zlecają z kolei kompleksową realizację projektów, aż po cały wewnętrzny ekosystem IT. Globalne badanie na temat outsourcingu usług, przeprowadzone przez Deloitte w 2022 r., dowodzi, że aż 76% firm zleca zadania z zakresu IT swoim zewnętrznym partnerom technologicznym, a 52% dokonuje outsourcingu swoich projektów biznesowych. Prognozuje się, że w najbliższej przyszłości te wartości wzrosną. I choć współpraca z zewnętrznymi dostawcami oprogramowania stała się dość standardową praktyką, wiele organizacji nadal podchodzi do takiej współpracy bez odpowiedniego przygotowania, zmniejszając tym samym szansę na powodzenie swoich projektów. Niniejszy artykuł stanowi zbiór wskazówek dla firm, które dopiero rozpoczynają korzystanie z outsourcingu lub nie były zadowolone z efektów tej formy współpracy w przeszłości.

Jakiej usługi potrzebujesz?

Software development companies deliver various offerings and it is vital to clearly understand what will suit your specific business needs before partnering with them. In a nutshell, all software development services can be categorized in this way:

  • Realizacja projektu — dostawca usługi jest odpowiedzialny za cały cykl projektu, od określenia wymagań po opracowanie, testy i wdrożenie gotowego rozwiązania.
  • Team leasing — dostawca usługi odpowiada za zorganizowanie zespołu wysoko wykwalifikowanych specjalistów, którymi zarządzają liderzy techniczni i projektowi po stronie klienta.
  • Wsparcie — dostawca oferuje usługi wsparcia i utrzymania oprogramowania, biorąc pod uwagę aplikacje lub infrastrukturę, z której klient korzysta.
  • Doradztwo — dostawca koncentruje się na doradztwie w zakresie tworzenia i wdrażania oprogramowania, w tym wizji produktu i wymagań biznesowych, wizji architektury i projektu technicznego, strategii realizacji lub UI/UX itp.

Usługi te w pełni zaspokajają potrzeby obecnych klientów w zakresie transformacji cyfrowej i rozwoju biznesu. Co więcej, dzięki tak szerokiemu zakresowi oferowanych usług, dostawcy rozwiązań technologicznych są w stanie skutecznie wzmacniać pozycję rynkową swoich klientów w obliczu coraz silniejszej konkurencji. Wszystko zaczyna się jednak od dokładnej oceny dostawcy oprogramowania.

Dowiedz się więcej, jak znaleźć odpowiedniego partnera outsourcingowego. Przeczytaj historię.

Kiedy szukamy rozwiązania, które będzie idealnie dopasowane do naszych celów, warto zadać sobie następujące pytania:

  • Czy wybrany partner ma wziąć pełną odpowiedzialność za terminową realizację zleconego zadania? W takim scenariuszu przedstawiamy jedynie nasze wymagania dotyczące produktu końcowego. Nie musimy nadzorować pracy zespołu realizującego dany projekt. Jeśli więc odpowiedź na to pytanie jest twierdząca, to najprawdopodobniej najlepszym wyborem będzie realizacja projektu. Należy mieć tu na uwadze fakt, że biorąc na siebie odpowiedzialność za całość realizacji projektu, wybrany dostawca usług zastosuje w tym przypadku swoje metody pracy i swoje rozwiązania.  Będziemy więc mieć mniejszy wpływ na działania zespołu wewnętrznego.
  • Czy potrzebuję zespołu profesjonalistów, którym mogę samodzielnie zarządzać? Twierdząca odpowiedź na to pytanie oznacza, że najlepszą opcją będzie usługa team leasingu, znana też jako staff augmentation. Polega ona na elastycznym zwiększaniu liczby pracowników realizujących dany projekt w zależności od aktualnych potrzeb. Kluczowe znaczenie ma tutaj fakt, że ten rodzaj usługi, nie pociąga za sobą żadnej odpowiedzialności za dostawę ze strony dostawcy oprogramowania. Będzie on oczywiście odpowiedzialny za jakość realizowanej pracy, ale to na zleceniodawcy (czyli na nas) spoczywa odpowiedzialność za zakres, harmonogram, budżet projektu, jak i za inne zasoby niezbędne do jego realizacji. Wybór tego modelu współpracy ma największy sens wtedy, kiedy musimy rozbudować nasz sprawdzony zespół wewnętrzny, aby szybko zyskać większe moce przerobowe.
  • Czy korzystam z aplikacji, które wymagają codziennego monitorowania i wsparcia? Jeśli tak, to na rynku dostępna jest bogata oferta usług wsparcia, od podstawowego wsparcia na poziomie L1 w postaci call center czy działu pomocy technicznej (z ang. service desk), po bardziej zaawansowane poziomy, tj. L2 (rozwiązywanie bardziej złożonych problemów z koordynacją pracy zespołu technicznego) i L3 (poprawki błędów i zmiany kodu z udziałem ekspertów).
  • <Czy mam problem biznesowy, który wymaga rozwiązania lub pomysł na produkt, który wymaga dopracowania? Jeśli tak, to warto rozważyć wybór konsultingu, który zazwyczaj obejmuje warsztaty dotyczące strategii/wizji produktu, bardziej szczegółowe warsztaty w zakresie wymagań, czy sesje projektowania UI/UX.

Wybierając partnera technologicznego należy przyjrzeć się jego ofercie. Załóżmy, że dopiero co rozpoczęliśmy prace nad strategią rozwoju lub transformacji produktu. W takiej sytuacji najlepszym rozwiązaniem może być współpraca z dostawcą oferującym kompleksową obsługę, od doradztwa po realizację projektów i team leasing.

Przede wszystkim przygotowanie

W zależności od wybranego rodzaju usługi, warto się przygotować do kontaktu z usługodawcą. Na szczęście większość wysokiej jakości dostawców usług jest gotowa pomóc nam w działaniach poprzedzających nawiązanie współpracy. Jak więc przygotować swoją firmę do współpracy z zewnętrznym dostawcą, jeśli już zdecydowaliśmy się na konkretny rodzaj usług? Oto kilka najważniejszych kwestii, które należy wziąć pod uwagę:

  • W przypadku usług obejmujących realizację całych projektów – bardzo dobrym rozwiązaniem jest posiadanie koncepcji i backlogu (opisu zestawu funkcji, przynajmniej ogólnego), aby usługodawca dobrze wiedział, jakiego produktu oczekuje się jako produktu końcowego. Im bardziej szczegółowa rozpiska wymagań, tym dokładniejsza będzie wycena projektu. Co więcej, w zależności od poziomu szczegółowości opisu wymagań, dostawca będzie w stanie zaproponować albo stawkę godzinową (rozliczenie T&M, czyli z ang. time & materials), albo ofertę ze z góry określoną ceną (z ang. fixed-price). Jeśli brakuje nam czasu lub wiedzy, by opracować opis takich wymagań samodzielnie, warto skontaktować się z wybranym dostawcą i skorzystać z usługi konsultingowej w tym zakresie.
  • W przypadku team leasingu – w tym przypadku należy określić, na jakich specjalistach i umiejętnościach nam zależy. Ile osób potrzeba nam na dane stanowisko? Kto będzie zarządzał zespołem od strony procesowej i technicznej? Jeśli zespół jest wystarczająco duży (ponad 10 osób), jaki plan zatrudnienia byłby najlepszą opcją? Którzy specjaliści powinni rozpocząć pracę w pierwszej kolejności, a którzy mogliby dołączyć do projektu później i na jak długo?
  • W przypadku usług wsparcia – typowym wymaganiem w tym zakresie jest: opis aplikacji/infrastruktury, która ma być obsługiwana, umowa o poziomie i warunkach usług (SLA, czyli z ang. Service-Level Agreement) oraz tryb świadczenia usług (24/7 itp.).
  • W przypadku usług doradczych – trzeba być gotowym na przedstawienie potencjalnemu dostawcy usług problemu biznesowego albo pomysłu na produkt końcowy. Może też pojawić się pytanie o to, jak rozumiemy  „sukces projektu” i o wskaźniki wydajności, które mogą pomóc określić go z perspektywy biznesowej. Doświadczony dostawca ułatwi komunikację i dyskusje na ten temat. Nie będzie on jednak w stanie niezależnie pozyskiwać wiedzy biznesowej, ponieważ to potencjalny zleceniodawca jest głównym jej źródłem — zwłaszcza jeśli dotyczy ona np. profilu potencjalnego klienta/użytkownika, rynków docelowych, celów biznesowych itp.

Niezależnie od wybranej usługi lub wybranego dostawcy, musimy w pełni akceptować i doceniać tę współpracę. To z kolei oznacza, że zewnętrzni eksperci muszą mieć choćby minimalne pojęcie na temat naszych potrzeb, aby móc rozpocząć świadczenie czy nawet oszacowanie kosztu usług.

Dowiedz się, w jaki sposób zatrudniani są specjaliści IT na potrzeby twoich projektów. Przeczytaj historię.

Zaangażowanie ma znaczenie

Wymienione wcześniej rodzaje usług są modyfikowane pod kątem indywidualnych, konkretnych potrzeb każdego klienta. Oznacza to, że nasz udział w procesie obsługi będzie w jakimś stopniu konieczny na każdym etapie świadczenia danej usługi. Nasza rola w tym procesie oraz ilość czasu i zasobów, które trzeba będzie zaangażować, będą w dużym stopniu zależeć od wybranej usługi.

Realizacja projektu będzie wymagać od nas np. określania oczekiwań (niezbędne funkcje) i priorytetów (które funkcje są ważniejsze od innych). Nasi pracownicy będą musieli też regularnie kontaktować się z zaangażowanym zespołem projektowym, aby przekazywać mu informacje zwrotne na temat okresowych i końcowych efektów pracy. Typowy zestaw ról po stronie klienta najczęściej obejmuje:

  • Product Ownera, który przekazuje wykonawcy projektu opisy funkcji i priorytety.
  • Technical Ownera, który zapewnia doradztwo w zakresie istniejącej infrastruktury IT.
  • Budget Ownera, który zatwierdza korekty budżetu, a te są praktycznie nieuniknione, ponieważ zakres zadań często zmienia się w trakcie pracy nad oprogramowaniem.

Umowa na usługę typu team leasing wymaga jeszcze większego zaangażowania zespołu wewnętrznego, ponieważ to na jego barkach spoczywa wdrożenie nowych specjalistów, a także koordynacja ich działań i zarządzanie ich pracą. Główną zaletą tego podejścia jest jednak znacznie wyższy stopień integracji zespołu dostawcy z naszym zespołem wewnętrznym.

Na początku współpraca z dostawcą oprogramowania może być czasochłonna, ale gdy wszystko jest już ustalone, to zespół zewnętrzny bierze na siebie większość wysiłku. Działania początkowe obejmują zazwyczaj:

  • Analizę produktu lub ocenę sytuacji przed rozpoczęciem świadczenia wsparcia
  • Przekazanie niezbędnej wiedzy zespołowi pomocy technicznej przez nasz zespół wewnętrzny
  • Wstępny proces wsparcia
  • Ustalenie umowy SLA

Zlecenia konsultingowe zazwyczaj są krótkoterminowe (trwają maksymalnie 2-8 tygodni), ale wymagają intensywnego zaangażowania ze strony klienta. Obejmują one warsztaty prowadzone stacjonarnie i zdalnie. Uczestniczą w nich przedstawiciele klienta — osoby z różnych działów i o różnych specjalizacjach. Warsztaty na miejscu trwają zazwyczaj kilka dni, od 6 do 8 godzin dziennie. Warsztat zdalny jest zazwyczaj krótszy i zajmie nie więcej niż 2-4 godziny dziennie. Zaangażowanie klienta nie kończy się jednak na warsztatach, ponieważ nadal będzie potrzebna pewna ilość czasu na zapoznanie się z dokumentacją (raporty, rekomendacje, wykresy architektury i makiety) opracowaną przez zespół konsultantów. Choć proces ten może być nieco czasochłonny, to inwestycja w tego typu sesje konsultingowe zwraca się szybko dzięki znacznie lepszemu zrozumieniu zakresu projektu i prac niezbędnych do jego realizacji, a także kwestii budżetowych i harmonogramów.

Dlaczego zespoły zewnętrzne i wewnętrzne bardzo się różnią?

Jest to prawdopodobnie jeden z najważniejszych wniosków, do których klienci dochodzą, gdy podejmują współpracę z wieloma dostawcami usług. Różnice w sposobie pracy z zespołem wewnętrznymi i zespołem zewnętrznym widać najlepiej w kilku aspektach:

  • Rozwiązania, które sprawdzają się w pracy zespołu wewnętrznego, mogą kompletnie nie mieć racji bytu, gdy w grę wchodzi współpraca z zespołem zewnętrznym. Dobrze widać to na przykładzie przejścia z modelu zespołu wewnętrznego na model zespołu zewnętrznego. Fizyczna tablica scrumowa nie będzie już potrzebna, ponieważ będzie trzeba przesiąść się na narzędzie online do zdalnego zarządzania zadaniami/projektami (np. Jira).
  • Spotkania muszą być zawsze zaplanowane. W biurze można podejść do biurek kolegów i koleżanek, by odbyć 5-minutową rozmowę z zespołem wewnętrznym. Praca z zespołem zewnętrznym wymaga jednak bardziej ustrukturyzowanej komunikacji — spotkania odbywają się przeważnie na platformie typu Zoom czy Slack i muszą być zaplanowane z odpowiednim wyprzedzeniem.
  • Zespół zewnętrzny ma mniejszą wiedzę na temat produktu i ogólnego kontekstu realizacji danego projektu, ale jest z kolei bardziej wykwalifikowany w zakresie określonego stosu technologicznego i usystematyzowanych procesów dostawy. Wynika to z faktu, że zespoły dostawców zewnętrznych co jakiś czas zmieniają klientów i muszą mieć bardziej ogólną wiedzę specjalistyczną. Natomiast zespoły wewnętrzne specjalizują się w konkretnym produkcie, a nie technologiach i praktykach (mówimy tu jednak o różnych zainteresowaniach, a nie o całkowicie różnych rodzajach wiedzy).
  • W przypadku usług typu projektowego, wybrany dostawca oprogramowania ma prawo stosować własne metody pracy. W przypadku pracy z zespołem zewnętrznym, zaangażowanym do naszego projektu w ramach team leasingu, możemy działać zgodnie z naszymi zwyczajowymi praktykami. Wybór zależy od naszego doświadczenia i naszych preferencji.
  • W przypadku współpracy  projektowej, umowa określa zazwyczaj procedurę wprowadzania zmian zakresu umowy. Obu stronom projektu daje to pełną widoczność zmian i ich wpływu na ramy realizowanego projektu. W przypadku zespołu wewnętrznego zmiany zwykle wprowadza się poprzez  rozmowę z zespołem. Oba podejścia mają swoje wady i zalety. Kluczem do długoterminowego zwrotu z inwestycji jest zrozumienie różnicy.

Poznaj zasadnicze elementy procesu tworzenia nowych produktów, żeby wdrażać swoje pomysły biznesowe szybciej i skuteczniej. Przeczytaj historię.

Szacunki są szacunkami, a nie zobowiązaniami

Po pierwsze, z wyjątkiem rzadko stosowanej wyceny ze stałą, z góry określoną ceną, orientacyjny harmonogram i szacunkowy i budżet, który usługodawca podaje przed rozpoczęciem realizacji projektu, jest szacunkowy. Ostateczna kwota może się zmienić z wielu powodów, z których dwa niżej opisane mają największe znaczenie.

Prośby o zmianę zakresu — biznes ma tendencję do częstych zmian, a wraz z nim zmieniają się też wymagania projektowe i praktyki zarządzania projektami. Nawet niewielka zmiana w implementacji jakiejś funkcji może prowadzić do sporych zmian w budżecie czy harmonogramie prac.

Ryzyka — niektóre ryzyka można zidentyfikować wcześniej; inne staną się zauważalne dopiero po rozpoczęciu projektu. Tym, co odróżnia wysokiej klasy dostawcę usług od konkurencji oferującej usługi niższej jakości, jest podejście do kwestii ograniczania ryzyka. Każda zmiana i każde zagrożenie są śledzone codziennie, a klient na bieżąco otrzymuje informacje z najbardziej aktualnymi prognozami budżetu i terminami realizacji. Daje to klientowi możliwość zmiany priorytetów lub nawet wstrzymania prac nad projektem, jeśli zajdzie taka potrzeba.

Drugą rzeczą, którą należy wiedzieć o szacunkach, jest to, że nie można oczekiwać, iż różni dostawcy stworzą porównywalne kosztorysy na podstawie jednostronicowego opisu projektu. Wynika to z faktu, że opis ogólny tworzy sporo przestrzeni na różnorakie interpretacje (i niedomówienia) zakresu naszego projektu. Dlatego też wybór dostawcy oprogramowania na podstawie ogólnej wyceny sporządzonej na bazie jednostronicowego dokumentu z opisem wizji produktu czy rozwiązania jest dość ryzykowny, bo porównujemy tu różne sposoby rozumienia zakresu naszego projektu (porównujemy wówczas nie różne warianty jednego obiektu, tylko kompletnie różne obiekty). Aby otrzymać porównywalne szacunki i wyceny, należy przedstawić bardziej szczegółowe wymagania albo zamówić u potencjalnego partnera usługę doradczą, np. projekt Discovery, który Avenga oferuje w ramach swojego portfolio usług.

Uwagi końcowe

Najważniejsze kwestie, które należy wziąć pod uwagę na samym początku współpracy z dostawcą oprogramowania, to jasna wizja tego, co chcemy tą współpracą osiągnąć i zwięzła, konkretna komunikacja. Trzeba jasno określić swoje cele biznesowe, cele i oczekiwania wobec dostawcy na wczesnym etapie i informować go o wszelkich ewentualnych zmianach w zakresie naszych potrzeb i oczekiwań na bieżąco. Warto postawić na otwartą komunikację i mówić o kwestiach budżetowych i terminach w sposób bezpośredni, kierując się jednak realizmem wobec tego, co można osiągnąć w ramach otrzymanej wyceny. Na koniec warto też zadbać o dobre relacje z dostawcą — wzajemne zaufanie to fundament sukcesu każdego projektu.

Avenga jest globalnym partnerem technologicznym z dogłębną znajomością branży farmaceutycznejubezpieczeniowejfinansowej motoryzacyjnej. Firma zatrudnia najwyższej klasy specjalistów IT, którzy pracują z 8 różnych krajów i wspierają swoim doświadczeniem i umiejętnościami globalne korporacje i organizacje w cyfrowej transformacji. Realizowane przez nich projekty obejmują wszystkie etapy w procesach cyfryzacji – od doradztwa strategicznego po wdrażanie rozwiązań z zakresu oprogramowania, doświadczeń użytkownika (UX), czy rozwiązań IT, w tym hostingu i działań operacyjnych. Szukasz partnera technologicznego, któremu możesz zaufać? Skontaktuj się z nami.

Inne artykuły

lub

Umów spotkanie

Zoom 30 min

lub zadzwoń do nas +1 (857) 302-3414

Rozpocznij rozmowę

Chętnie odpowiemy na Twoje pytania. Skorzystaj z poniższego formularza, aby skontaktować się z nami. Odezwiemy się do Ciebie wkrótce.