Jeżeli Twoja firma korzysta z usług zewnętrznego dostawcy IT, który rozwija aplikację mobilną, platformę internetową, panel klienta lub wewnętrzny system firmowy, prawdopodobnie dobrze znasz ten scenariusz.
Opóźnienia się powtarzają. Błędy w systemie tygodniami czekają na naprawę. Na wiadomości trzeba wysyłać ponaglenia, a każda nowa funkcja okazuje się bardziej skomplikowana, droższa i realizowana później, niż zakładano.
Przygotowaliśmy w tym artykule porady dotyczące tego, co możecie zrobić w tej sytuacji oraz jak przygotować się do zmian, aby koszt i czas operacyjny były jak najmniejsze.
Artykuł jest podzielony na kolejne kroki, które możesz podjąć w tej sytuacji. Każdy krok kończy się poradą eksperta IT.
W przygotowaniu porad pomagał dyrektor techniczny firmy Poldevs Software House (www.poldevs.com) – Tomasz Oszkiel.
Krok 1: Zacznijmy od tego, jaki problem w tej chwili macie
Dostawca IT na pewno nie robi tego złośliwie. Możliwe, że stracił zasoby potrzebne do realizacji Waszej współpracy, na przykład z powodu odejścia głównego programisty, albo ma teraz inny projekt z większym, pilniejszym problemem do rozwiązania. Możliwe też, że niedoszacował kosztów współpracy i teraz nie wie, jak je zmienić lub zrezygnować ze współpracy.
Niezależnie od przyczyny po stronie dostawcy – Ty, jako właściciel oprogramowania, masz nierozwiązany problem, ponieważ czekasz na realizację nowych zadań, wydłuża się przez to czas Waszych procesów operacyjnych, albo nie możecie wykonać konkretnej czynności, na przykład wystawienia faktury w programie księgowym.
Porada 1: Spróbuj dowiedzieć się, jakie są rzeczywiste przyczyny opóźnienia. Porozmawiaj z dostawcą. Może uda Wam się wypracować nowe rozwiązanie – prawdopodobnie będzie to najtańsze i najszybsze rozwiązanie dla Twojej firmy.”
Krok 2: Jeśli nie ma szans na porozumienie z kroku 1, wtedy musicie przejść do działania w kierunku zmiany
Aby skrócić czas operacyjny w trakcie zmiany, powinieneś przygotować informacje potrzebne do przygotowania oferty dla nowego dostawcy. Nie informuj poprzedniego dostawcy o zmianie, dopóki nie otrzymasz zadowalającej oferty od nowego dostawcy oraz nie ustalicie planu działania.
Informacje, jakie będą potrzebne, to:
- jaki jest to rodzaj projektu: aplikacja mobilna, platforma internetowa, portal ogłoszeniowy itd.;
- w jakich technologiach jest zbudowany projekt: PHP, JavaScript, Java, Python, Next.js, Node.js, NestJS, React Native itd.;
- czy masz prawa autorskie do kodu i możesz zlecić prace rozwojowe nowemu dostawcy;
- ilu godzin pracy miesięcznie będziecie potrzebować.
Najprawdopodobniej na wszystkie te pytania będzie można znaleźć odpowiedź w umowie z poprzednim dostawcą lub w dokumentacji technicznej. W przypadku dokumentacji będziesz musiał zapytać o nią poprzedniego dostawcę.
Warto nadal przyjąć strategię nieinformowania poprzedniego dostawcy o zmianie. Potrzebę przejrzenia dokumentacji można uzasadnić, na przykład, chęcią zlecenia audytu bezpieczeństwa zewnętrznej firmie lub wymaganiem zarządu, który chce zapoznać się ze strukturą projektu.
W obu przypadkach nie będzie to kłamstwo, ponieważ audyt bezpieczeństwa powinien zostać przeprowadzony przez nowego dostawcę, a zarząd powinien mieć dostęp do tego dokumentu w dowolnym czasie.
Im większa liczba godzin pracy miesięcznie, tym współpraca będzie atrakcyjniejsza dla dostawcy – a to oznacza dla Ciebie większe możliwości wynegocjowania korzystniejszej stawki. Najbardziej atrakcyjna dla dostawców jest liczba 160 godzin miesięcznie, a najmniej atrakcyjna – poniżej 30 godzin.
Porada 2: Przygotuj informacje potrzebne do oferty – skróci to czas i uprości cały proces.
Krok 3: Pozyskanie ofert od potencjalnych nowych dostawców
Najprostszym sposobem jest wpisanie w Google „software house” lub „software house + Twoje miasto” i wysłanie zapytania do kilku firm, które spełniają Twoje kryteria.
Częstymi kryteriami są na przykład: posiadanie rekomendacji na stronie internetowej, rozbudowane portfolio, długi czas prowadzenia działalności przez dostawcę, obecność na białej liście podatników VAT oraz brak negatywnych opinii w internecie, na przykład w wizytówce Google lub serwisie GoWork.
Proponuję przygotować zapytanie w formie PDF, przygotować listę adresów e-mail czterech lub pięciu wybranych dostawców i wysłać zapytanie zawierające informacje z kroku 2. Podanie tych informacji przyspieszy i uprości proces.
Porada 3: Wyślij te same informacje do dostawców, aby łatwo porównać oferty.
Możesz wysyłać zapytanie do Poldevs Software House aby podpowiedzieli co dokładnie zrobić w Twojej sytuacji i uzyskać od Nich ofertę: www.poldevs.com (formularz na dole strony)
Krok 4: Przegląd ofert i spotkanie

Przejrzyj oferty, porównaj stawki i propozycje. Umów się z wybranymi dostawcami, aby ich poznać. Zazwyczaj będą to oczywiście spotkania online, ale warto zobaczyć, kto jest po drugiej stronie. Jeśli wybierzesz software house w swoim mieście, wtedy możliwe jest, że spotkacie się w Twoim biurze.
Podczas spotkania zapytaj dostawcę o doświadczenie w podobnych współpracach. Opowiedz o problemie, jaki masz z poprzednim dostawcą, i zapytaj wprost, czy taki problem nie wystąpi w nowej współpracy. Zapytaj dostawcę, czy takie problemy występowały w jego doświadczeniu i jak je rozwiązywał.
Zapytaj także o proponowany plan działań, który rekomenduje nowy dostawca. Sprawdź, czy dba o kwestie bezpieczeństwa (np. w jaki sposób przekazuje hasła – czy używa menadżera haseł, czy wyśle Ci hasło mailem), czy proponuje audyt kodu (jeśli nie, to nie będzie potrafił wziąć odpowiedzialności za awarię), czy proponuje testy odtworzenia kopii zapasowych (jeśli nie, to nie będzie miał pewności poprawnego przywrócenia danych, np. po włamaniu hakera).
Lista pytań, które możesz zadać do weryfikacji:
- Czy potrzebujemy audytu kodu?
- Czy potrzebujemy testów odtworzenia kopii zapasowej?
- Czy potrzebujemy testowej wersji projektu?
- Czy potrzebujemy menadżera haseł do dostępów?
W skrócie: jeśli zależy Ci na bezpieczeństwie i na dostawcy, który o to zadba, odpowiedź na te 4 powyższe pytania powinna brzmieć: „oczywiście, jest to dla nas standard i nie wyobrażamy sobie pracy inaczej”.
Porada 4: Sprawdź podejście nowego dostawcy do Twoich aktualnych problemów, aby przewidzieć, jak zachowa się w podobnej sytuacji we współpracy z Twoją firmą. Zadaj pytania weryfikacyjne.
Krok 5: Poinformuj poprzedniego wykonawcę o zakończeniu współpracy
Jeżeli wybrałeś już nowego dostawcę i ustaliliście wstępny plan przejęcia projektu, możesz poinformować poprzedniego wykonawcę o zakończeniu współpracy. Najważniejsze teraz to nie spowodować konfliktu. Konflikt zaszkodzi Twojej firmie i współpracy z nowym dostawcą. Niestety bardzo często na tym etapie poprzedni wykonawca będzie miał z Twoją firmą nieporozumienia. W końcu z jakiegoś powodu on ma opóźnienia, a Ty rezygnujesz ze współpracy. Jak z każdym zakończeniem każdej współpracy – konflikt szkodzi obu stronom.
Jeśli jednak uda Ci się zakończyć współpracę w dobrych relacjach, możesz liczyć na kilka korzyści:
- poprzedni dostawca spotka się z nowym dostawcą, aby opowiedzieć mu o projekcie (nikt tak dobrze nie zna problemów projektu jak poprzedni dostawca) – zmniejszy to ilość godzin wprowadzenia nowego dostawcy, czyli Twój koszt, i zwiększy bezpieczeństwo projektu
- w przyszłości nowy dostawca będzie mógł zadzwonić do poprzedniego dostawcy i zapytać o jakąś rzecz w projekcie (zmniejszy to ilość godzin pracy – czyli Twój koszt)
Następnie ustal z poprzednim wykonawcą prace związane z utworzeniem dostępu do serwera i repozytorium kodu dla nowego wykonawcy.
Porada 5: Zakończ współpracę profesjonalnie i ustal utworzenie dostępu dla nowego wykonawcy.
Krok 6: Podpisz umowę NDA z nowym wykonawcą i pokaż mu projekt od środka
Przed rozpoczęciem prac i podpisaniem umowy współpracy nowy wykonawca powinien zobaczyć, jak wygląda projekt od środka. Potrwa to około 30-60 minut – niech zobaczy strukturę plików i kod, tak aby potwierdził, że może go dalej rozwijać. Zdarzają się sytuacje, kiedy okazuje się po wejściu do plików, że technologia jest bardzo specyficzna, że nie wszystkie informacje o technologii zostały przekazane, i jednak nowy dostawca nie ma kompetencji do wykonania prac. Jest to rzadkość, ale jednak lepiej, aby Twoja firma zabezpieczyła się na tę ewentualność. Zdecydowanie korzystniej jest usłyszeć od nowego dostawcy, że jednak nie potrafi rozwijać oprogramowania, niż mieć go zobowiązanego prawnie i mimo że nie potrafi, to będzie próbował. Jest to zdecydowanie sytuacja dużego ryzyka awarii i niedostępności Twojego projektu. Zdecydowanie unikaj takiej sytuacji.
Porada 6: Pokaż projekt przed podpisaniem umowy współpracy.
Krok 7: Ustal z nowym dostawcą pierwsze prace
Pierwsze prace powinny obejmować audyt kodu i audyt bezpieczeństwa oraz rekomendacje do wdrożenia zmian. Nowy dostawca powinien zobowiązać się do zapewnienia bezpieczeństwa danych osobowych w oprogramowaniu, danych finansowych, plików itd. Aby mógł to zrobić, musi wykonać przegląd całego projektu (audyt) i jasno wskazać, co musi poprawić, aby oprogramowanie było bezpieczne (rekomendacje). Aby dostawca w pełni mógł odpowiadać za bezpieczeństwo, jego rekomendacje powinny zostać przyjęte do realizacji.
Następnie powinna zostać ustalona strategia tworzenia kopii zapasowych oraz testy ich odtworzenia. Jeśli dostawca nie będzie testował odtworzeń kopii, wtedy nie ma żadnej gwarancji, że kopia wczyta się poprawnie po awarii. Kopie zapasowe powinny być przechowywane na oddzielnym serwerze. W razie włamania hakera do głównego serwera można łatwo przywrócić oprogramowanie do poprawnego działania. Jeśli jednak kopie będą przetrzymywane na tym samym serwerze – haker będzie miał 100% dostępu do danych, może je usunąć i wtedy stracicie wszystkie źródła danych.
Kolejną podstawową pracą jest instalacja środowiska testowego. Po dodaniu nowych funkcji zawsze powinny odbyć się testy na środowisku testowym, a nie głównym (produkcyjnym – docelowym). Testy powinien przeprowadzić tester dostawcy oraz ktoś po Twojej stronie, kto jest odpowiedzialny za rozwój oprogramowania.
Porada 7: Sprawdź, na ile godzin nowy dostawca oszacuje pierwsze prace, aby wiedzieć, czego się spodziewać w dalszej współpracy.
Krok 8: Ustal z nowym dostawcą sposób komunikacji
Bardzo ważną kwestią jest ustalenie komunikacji. Są dwie ważne rzeczy – narzędzie oraz przepływ informacji. Najlepszym narzędziem jest system ticketowy, w którym dodajesz zlecenia dla dostawcy, np. Trello. Unikaj komunikacji przez email, która nie daje Ci wglądu w bieżący status prac ani podglądu w czasie rzeczywistym (system ticketowy to zapewnia). Drugą ważną rzeczą jest ustalenie jednej osoby, która odpowiada za komunikację z dostawcą. Jeśli w Twojej firmie kilka osób dodaje pomysły do rozwoju oprogramowania, powinny one przekazywać informacje do jednej osoby z Twojego zespołu, i tylko ona powinna przekazywać je dostawcy, np. w systemie ticketowym Trello lub innym. W przypadku gdy po Twojej stronie kilka osób będzie zgłaszać nowe pomysły, błędy, problemy, będą zdarzać się sytuacje, gdzie temat zgłoszenia się powiela, przez co dostawca nie będzie rozumiał, co ma wykonać. Zwiększy to czas realizacji nowych prac, czyli zwiększy Twój koszt. Warto także ustalić, że zgłoszenia będą oszacowane czasowo i zostaną wykonane tylko wtedy, jeśli zaakceptujesz tę ilość godzin.
Porada 8: Ustal jedno narzędzie komunikacji i jedną osobę odpowiedzialną za kontakt z dostawcą, aby uniknąć chaosu i niepotrzebnych kosztów.
Krok 9: Podpisz umowę współpracy

Jeśli wszystko przebiegło pomyślnie do tej pory i ustaliliście zakres prac początkowych oraz sposób komunikacji, możecie bezpiecznie podpisać umowę z nowym dostawcą. Umowa powinna określać:
- stawkę godzinową
- sposób rozliczenia (np. na koniec miesiąca, na podstawie faktury VAT)
- sposób komunikacji (np. system ticketowy Trello) i osobę kontaktową po stronie dostawcy oraz po Twojej stronie
- sposób zatwierdzania zadań
- informację, że rozliczenie na koniec miesiąca jest jedynie za zadania zakończone i zaakceptowane (nie jest za zadania rozpoczęte i trwające)
- zakres odpowiedzialności nowego dostawcy oraz za co nie bierze odpowiedzialności
- liczbę godzin dostępności, które gwarantuje dostawca, oraz liczbę minimalnych godzin, które zlecisz
- prawa autorskie – dostawca musi je przenosić na Twoją firmę
Porada 9: Najlepiej, jeśli poprosisz prawnika o weryfikację umowy przesłanej przez dostawcę lub jeśli Twój prawnik sporządzi umowę od podstaw.
Krok 10: Zorganizuj spotkanie poprzedniego wykonawcy z nowym
Najlepszą sytuacją będzie taka, w której poprzedni wykonawca zgodzi się na spotkanie z nowym dostawcą i opowie mu o projekcie.
Podczas spotkania poprzedni wykonawca powinien wyjaśnić, jak zbudowany jest projekt, jakie technologie zostały wykorzystane, gdzie znajdują się najważniejsze elementy systemu oraz w jaki sposób wdrażane są nowe wersje.
Warto również, aby opowiedział o znanych błędach, problemach technicznych i elementach projektu, które wymagają szczególnej uwagi.
Nowy dostawca będzie mógł zadać pytania bezpośrednio osobom, które wcześniej rozwijały projekt. Takie spotkanie może znacznie zmniejszyć czas potrzebny na zapoznanie się z kodem.
Dobrze, jeśli w spotkaniu uczestniczą osoby techniczne, które rzeczywiście pracowały przy projekcie, a nie tylko osoby odpowiedzialne za sprzedaż lub kontakt z klientem.
Porada 10: Zorganizuj bezpośrednie spotkanie techniczne obu dostawców, aby przekazać wiedzę o projekcie.
Krok 11: Rozpocznijcie prace
Od tego momentu prace powinny zostać rozpoczęte i trwać do zakończenia współpracy.
Podsumowanie
Najważniejsze to wyjaśnić sytuację bez konfliku i zdecydować o dalszych działaniach, które będą korzystane dla wszystkich stron. Dziękujemy za pomoc w przygotowaniu materiału Tomaszowi Oszkielowi z Poldevs Software House.
