Menu

  1. Blog
  2. Software House
  3. Przejęcie projektu IT po innym wykonawcy - jak bezpiecznie zmienić software house?
21 września 2026

Przejęcie projektu IT po innym wykonawcy - jak bezpiecznie zmienić software house?

W treści wpisu znajdziesz:

  1. Na czym polega przejęcie projektu IT?
  2. Zmiana software house nie zawsze oznacza, że poprzedni wykonawca zawiódł
  3. Kiedy warto rozważyć zmianę software house?
  4. Największy błąd przy przejęciu projektu: „mamy kod, więc mamy wszystko”
  5. 6 obszarów bezpiecznego przejęcia projektu IT
  6. Co powinieneś otrzymać od poprzedniego wykonawcy?
  7. Jak powinno wyglądać przekazanie projektu pomiędzy software house’ami?
  8. Czy poprzedni software house musi współpracować z nowym?
  9. Co zrobić, gdy nie ma dokumentacji?
  10. Co zrobić, jeśli brakuje części dostępów?
  11. Czy można przejąć projekt bez kontaktu z poprzednim wykonawcą?
  12. Co z prawami do kodu źródłowego?
  13. Czy przy zmianie software house trzeba zatrzymać rozwój projektu?
  14. Jak nowy software house powinien rozpocząć pracę?
  15. Czy przed przejęciem projektu warto wykonać audyt techniczny?
  16. Czy przy przejęciu projektu trzeba od razu refaktoryzować kod?
  17. Czy nowy software house powinien przepisać system od początku?
  18. Ile trwa przejęcie projektu IT?
  19. Ile kosztuje przejęcie projektu po innym wykonawcy?
  20. Jak wybrać nowy zespół do przejęcia projektu?
  21. Przejęcie dedykowanego systemu informatycznego
  22. Przejęcie platformy B2B
  23. Przejęcie projektu WordPress
  24. Przejęcie sklepu WooCommerce
  25. Przejęcie projektu z integracją ERP
  26. Jak ograniczyć ryzyko zmiany software house?
  27. Jak Webtom.pl podchodzi do przejmowania istniejących projektów?
  28. Przejęcie projektu IT – najpierw kontrola, później rozwój
  29. FAQ – przejęcie projektu IT po innym wykonawcy

Zmiana wykonawcy projektu IT może wydawać się ryzykowna. Nowy zespół nie zna kodu, architektury, historii decyzji ani wszystkich wyjątków biznesowych, które przez lata zostały zaszyte w systemie. Jednocześnie działająca aplikacja, platforma B2B, sklep internetowy czy inny system nie może po prostu przestać funkcjonować na czas zmiany dostawcy.

Dlatego przejęcie projektu IT po innym wykonawcy nie powinno polegać wyłącznie na przekazaniu repozytorium z kodem źródłowym.

Trzeba przejąć również wiedzę, dostępy, środowiska, integracje, dane, sposób wdrażania zmian oraz odpowiedzialność za dalsze funkcjonowanie systemu. W praktyce przekazanie projektu obejmuje więc nie tylko sam system, ale również informacje i procesy potrzebne nowemu zespołowi do jego utrzymania i rozwoju.

Dobrze przeprowadzona zmiana software house pozwala ograniczyć ryzyko, zachować ciągłość działania i stopniowo odzyskać pełną kontrolę nad projektem.

Źle przeprowadzona może sprawić, że nowy wykonawca przez pierwsze tygodnie będzie próbował ustalić rzeczy, które poprzedni zespół wiedział od lat.

W tym artykule wyjaśniamy:

  • kiedy warto rozważyć zmianę software house,
  • na czym polega przejęcie projektu IT po innym wykonawcy,
  • co trzeba przejąć poza samym kodem,
  • jakie dostępy i dokumenty powinien posiadać właściciel systemu,
  • jak powinno wyglądać przekazanie projektu IT nowemu wykonawcy,
  • co zrobić, gdy poprzedni wykonawca nie współpracuje,
  • jak przejąć projekt bez dokumentacji,
  • jak ograniczyć ryzyko awarii podczas zmiany zespołu,
  • czy nowy software house powinien od razu przepisywać system,
  • od czego zależy koszt przejęcia projektu po innym wykonawcy,
  • oraz jak wygląda przejęcie WordPress, WooCommerce, systemu B2B lub dedykowanej aplikacji webowej.

Na czym polega przejęcie projektu IT?

Przejęcie projektu IT to proces przekazania odpowiedzialności za rozwój, utrzymanie lub dalszą realizację istniejącego rozwiązania technologicznego z jednego zespołu do drugiego.

Może dotyczyć:

  • aplikacji webowej,
  • dedykowanego systemu informatycznego,
  • platformy B2B,
  • sklepu internetowego,
  • WordPress lub WooCommerce,
  • aplikacji SaaS,
  • portalu klienta,
  • konfiguratora,
  • systemu połączonego z ERP lub CRM,
  • integracji API,
  • infrastruktury obsługującej rozwiązanie.

Nie zawsze przejmowany jest projekt niedokończony.

Nowy software house może przejąć również system działający od wielu lat, który wymaga dalszego utrzymania, rozwoju nowych funkcjonalności, modernizacji albo dostosowania do zmieniających się procesów biznesowych. Dlatego przejęcie projektu nie musi oznaczać ratowania nieudanego wdrożenia.

Czasami jest po prostu kolejnym etapem życia systemu informatycznego.

Zmiana software house nie zawsze oznacza, że poprzedni wykonawca zawiódł

Decyzja o zmianie firmy programistycznej może wynikać z bardzo różnych powodów. Dotychczasowy wykonawca może zakończyć działalność, zmienić profil firmy albo nie posiadać już zasobów potrzebnych do dalszego rozwoju projektu.

System może również wejść na etap wymagający innych kompetencji. Firma, która dobrze przygotowała MVP, niekoniecznie musi być najlepszym partnerem do skalowania aplikacji, integracji z ERP, przebudowy architektury lub zapewnienia regularnego utrzymania i wsparcia technicznego tj. maintenance.

Podobnie niewielki zespół może dobrze obsługiwać projekt przez kilka lat, ale wraz ze wzrostem jego znaczenia biznesowego organizacja może potrzebować:

  • większej dostępności developerów,
  • testerów / QA,
  • kompetencji DevOps,
  • architekta oprogramowania,
  • project managera – osoby prowadzącej projekt,
  • UX/UI,
  • procedur wdrożeniowych,
  • monitoringu,
  • albo ustalonego SLA.

Zmiana wykonawcy może być więc konsekwencją rozwoju projektu, a nie konfliktu. Oczywiście zdarzają się także sytuacje, w których powodem są opóźnienia, problemy jakościowe, brak komunikacji, rosnące koszty albo brak możliwości dalszego rozwoju systemu.

Bez względu na przyczynę techniczny proces przejęcia powinien wyglądać podobnie: najpierw zabezpieczyć system i wiedzę, później zmieniać.

Kiedy warto rozważyć zmianę software house?

Nie każda trudność we współpracy uzasadnia zmianę dostawcy.

Jeżeli problem można rozwiązać poprzez poprawę komunikacji, zmianę procesu albo uporządkowanie listy zadań i priorytetów projektu, często jest to prostsze niż przenoszenie całego projektu.

Są jednak sygnały, których nie warto ignorować.

Rozwój projektu staje się coraz mniej przewidywalny

Estymacje przestają mieć związek z rzeczywistym czasem realizacji, a niemal każda zmiana ujawnia nowe problemy.

Może być to sygnał problemu organizacyjnego, ale również konsekwencja rosnącego długu technologicznego.

Brakuje kompetencji potrzebnych do kolejnego etapu projektu

Projekt potrzebuje integracji, skalowania, przebudowy architektury albo infrastruktury, których dotychczasowy wykonawca nie realizuje.

Zespół jest zależny od jednej osoby

Jeżeli praktycznie cała wiedza o systemie znajduje się w głowie jednego developera, projekt posiada poważne ryzyko operacyjne.

Nie masz kontroli nad kluczowymi elementami projektu

Problemem może być sytuacja, w której klient nie ma dostępu do:

  • repozytorium,
  • hostingu lub chmury,
  • domeny,
  • DNS,
  • systemu automatycznego budowania i wdrażania zmian (CI/CD),
  • kont usług zewnętrznych,
  • dokumentacji,
  • środowiska produkcyjnego.

Niezależnie od tego, kto aktualnie rozwija projekt, jego właściciel powinien wiedzieć, gdzie znajdują się kluczowe elementy systemu i kto posiada do nich dostęp.

Brakuje dokumentacji i wiedzy o systemie

Brak dokumentacji nie zawsze uniemożliwia dalszy rozwój, ale zwiększa koszt wejścia kolejnego zespołu.

Firma potrzebuje większej dostępności

Projekt staje się krytyczny biznesowo i wymaga stałej opieki, szybszych czasów reakcji, monitoringu albo SLA.

Technologia zaczyna ograniczać rozwój

Nowe funkcjonalności są coraz trudniejsze do wdrożenia, aktualizacje odkładane, a rozwój wymaga tworzenia kolejnych obejść.

Dotychczasowa współpraca została zakończona

Niekiedy sytuacja jest prostsza: umowa wygasa, wykonawca kończy działalność albo strony podejmują decyzję o zakończeniu współpracy.

Wtedy trzeba przede wszystkim zadbać o prawidłowe przekazanie projektu nowemu wykonawcy.

Przejecie projektu IT po innym wykonawcy - jak bezpiecznie zmienic software house?
Przejecie projektu IT po innym wykonawcy - jak bezpiecznie zmienic software house?

Największy błąd przy przejęciu projektu: „mamy kod, więc mamy wszystko”

Repozytorium jest niezwykle ważne. Nie jest jednak całym systemem.

Wyobraźmy sobie sytuację, w której nowy software house otrzymuje kod aplikacji.

Nie wie jednak:

  • gdzie działa produkcja,
  • jak wygląda proces wdrażania zmian na produkcję,
  • które zmienne środowiskowe są potrzebne,
  • jakie automatyczne zadania cykliczne (CRON) są uruchamiane,
  • gdzie przechowywane są pliki użytkowników,
  • z jakich usług zewnętrznych korzysta system,
  • kto posiada dostęp do bramki płatniczej,
  • jakie mechanizmy komunikacji z zewnętrznymi systemami są skonfigurowane,
  • jak wykonywane są kopie zapasowe (backupy),
  • które procesy biznesowe posiadają nietypowe wyjątki,
  • jakie błędy są znane, ale świadomie nie zostały naprawione.

Kod może być kompletny, a mimo to uruchomienie i bezpieczne rozwijanie projektu może być bardzo trudne. Dlatego przy przejęciu warto myśleć nie o przekazaniu kodu, ale o przekazaniu zdolności do utrzymywania i rozwijania systemu.

6 obszarów bezpiecznego przejęcia projektu IT

Na potrzeby praktycznej organizacji przejęcia projektu można podzielić go na sześć obszarów.

Nie jest to formalny standard. To sposób, który pozwala sprawdzić, czy wraz ze zmianą wykonawcy nie tracimy któregoś z elementów potrzebnych do dalszej pracy.

1. Kod źródłowy i repozytoria

Podstawą jest ustalenie:

  • gdzie znajduje się kod,
  • kto jest właścicielem repozytorium,
  • jakie repozytoria należą do projektu,
  • która gałąź odpowiada aktualnej produkcji,
  • jak oznaczane są wydania,
  • czy istnieją moduły znajdujące się w osobnych repozytoriach,
  • czy kod lokalny któregoś developera zawiera zmiany, których nie ma w repozytorium.

W większych projektach jedno repozytorium może być tylko częścią systemu.

Osobno mogą istnieć:

  • backend,
  • frontend,
  • panel administracyjny,
  • aplikacja mobilna,
  • infrastruktura jako kod,
  • biblioteki współdzielone,
  • integracje,
  • narzędzia importujące dane.

Nowy zespół powinien otrzymać możliwość odtworzenia wersji systemu działającej obecnie na produkcji.

2. Infrastruktura i środowiska

Drugą warstwą jest infrastruktura. Trzeba ustalić:

  • gdzie działa produkcja,
  • czy istnieje osobne środowisko testowe (staging),
  • czy istnieje środowisko developerskie tj. środowisko do prac programistycznych,
  • jakie serwery i usługi są wykorzystywane,
  • gdzie działa baza danych,
  • gdzie przechowywane są pliki,
  • jak skonfigurowane są domeny i DNS,
  • gdzie znajdują się certyfikaty,
  • jak wykonywane są kopie zapasowe,
  • jakie usługi chmurowe wykorzystuje system,
  • kto za nie płaci.

W idealnym scenariuszu nowy zespół powinien być w stanie odtworzyć środowisko bez zgadywania, które parametry konfiguracyjne są potrzebne.

3. Dostępy, konta i bezpieczeństwo

Projekt może korzystać z wielu kont:

  • hosting,
  • usługi chmurowe,
  • Git,
  • domeny,
  • DNS,
  • usługi odpowiedzialne za wydajność i bezpieczeństwo ruchu,
  • baza danych,
  • panel administracyjny,
  • ERP,
  • CRM,
  • narzędzia mailingowe,
  • płatności,
  • SMS,
  • monitoring,
  • analityka,
  • system ticketowy,
  • narzędzia do automatycznego wdrażania zmian.

Przy przekazywaniu projektu warto przygotować rejestr dostępów, zamiast przesyłać pojedyncze hasła w wiadomościach. Po zakończeniu przejęcia należy również zweryfikować, czy poprzedni zespół nadal powinien posiadać dostęp do poszczególnych usług.

W przypadku kont, kluczy, tokenów i innych danych uwierzytelniających warto stosować zasadę minimalnych niezbędnych uprawnień. Dostęp powinny posiadać wyłącznie osoby i usługi, które rzeczywiście go potrzebują, a po zakończeniu współpracy niepotrzebne konta, uprawnienia i dane dostępowe powinny zostać odpowiednio wycofane lub zmienione.

W zależności od sytuacji po zakończeniu przejęcia projektu zasadne może być również:

  • odebranie dostępów byłym użytkownikom,
  • utworzenie indywidualnych kont dla nowego zespołu,
  • rotacja części kluczy API,
  • zmiana wybranych sekretów,
  • weryfikacja uwierzytelniania wieloskładnikowego (MFA),
  • kontrola kont administracyjnych.

Nie chodzi o automatyczną zmianę każdego hasła w systemie.

Chodzi o to, żeby po zmianie wykonawcy dokładnie wiedzieć, kto nadal ma do czego dostęp.

4. Dane i integracje

Następna warstwa to dane. Trzeba wiedzieć:

  • gdzie znajduje się główne źródło danych,
  • które dane pochodzą z systemów zewnętrznych,
  • gdzie odbywa się synchronizacja,
  • jakie procesy są jednostronne, a jakie dwukierunkowe,
  • jak obsługiwane są błędy,
  • czy istnieją kolejki,
  • czy operacje mogą być ponawiane,
  • gdzie znajdują się logi.

Szczególną uwagę warto poświęcić integracjom z systemami ERP, CRM, WMS, płatnościami, przewoźnikami i zewnętrznymi API. Integracja może działać przez lata niemal bezobsługowo, dlatego wiedza o jej szczegółach często nie znajduje się w bieżącej dokumentacji ani na liście aktualnych zadań. Nowy software house musi tę wiedzę odzyskać.

5. Wiedza biznesowa i dokumentacja

System nie składa się wyłącznie z kodu. Zawiera także reguły biznesowe.

Dlaczego klient typu A może korzystać z innej ceny niż klient B?

Dlaczego konkretnego zamówienia nie można anulować po określonym etapie?

Dlaczego synchronizacja stanów jednego produktu działa inaczej niż pozostałych?

Dlaczego użytkownik posiada pięć ról, skoro w dokumentacji widnieją tylko trzy?

Takie wyjątki często powstają stopniowo i mogą być logiczne z biznesowego punktu widzenia, nawet jeśli dla nowego developera początkowo wyglądają jak błąd.

Dlatego przy przejęciu projektu warto zebrać:

  • dokumentację funkcjonalną,
  • dokumentację techniczną,
  • diagramy,
  • opis integracji,
  • specyfikacje API,
  • makiety i projekty UX/UI,
  • historię ważnych decyzji,
  • listę zaplanowanych zadań,
  • znane problemy,
  • listę wyjątków biznesowych.

Jeżeli dokumentacja nie istnieje, nie oznacza to, że projekt jest niemożliwy do przejęcia.

Nowy zespół będzie jednak musiał część wiedzy odtworzyć.

6. Proces rozwoju, testów i wdrażania zmian

Ostatnim obszarem jest sposób pracy.

Warto ustalić:

  • jak zadanie trafia do realizacji przez zespół programistyczny,
  • gdzie znajduje się aktualna lista zadań i priorytetów,
  • jak wygląda przegląd kodu przez innego developera,
  • jakie testy są wykonywane,
  • kto akceptuje zmiany,
  • jak wygląda wdrażanie zmian na środowisko produkcyjne,
  • czy w przypadku problemów można bezpiecznie wycofać wdrożoną zmianę,
  • jak zgłaszane są błędy,
  • jak monitorowana jest produkcja,
  • kto reaguje na awarie.

Dwa identyczne repozytoria mogą być utrzymywane zupełnie inaczej w zależności od jakości procesów wokół nich. Dlatego przejęcie procesu jest równie ważne jak przejęcie technologii.

Co powinieneś otrzymać od poprzedniego wykonawcy?

Zakres będzie zależał od projektu i zawartej umowy, ale przed zakończeniem współpracy warto sprawdzić przede wszystkim:

Kod i dokumentację

  • komplet repozytoriów,
  • dokumentację techniczną,
  • dokumentację API,
  • instrukcję uruchomienia projektu,
  • informacje o wersjach technologii,
  • zależności,
  • listę znanych problemów.

Infrastrukturę

  • dostęp do produkcji,
  • dostęp do środowiska testowego (staging),
  • serwery lub usługi chmurowe,
  • bazę danych,
  • kopie zapasowe,
  • DNS,
  • usługi CDN odpowiedzialne za przyspieszanie dostarczania treści,
  • monitoring.

Usługi zewnętrzne

  • konta dostawców API,
  • płatności,
  • mailingi,
  • SMS,
  • mapy,
  • wyszukiwarki,
  • usługi przechowywania plików i danych,
  • zewnętrzne systemy biznesowe.

Proces

  • aktualną listę zadań i planowanych prac,
  • aktualny stan zadań,
  • otwarte błędy,
  • planowane wdrożenia,
  • procedurę wdrażania zmian,
  • procedurę wycofania nieudanego wdrożenia,
  • sposób wykonywania kopii zapasowych.

Wiedzę

  • opis kluczowych decyzji,
  • nietypowe procesy,
  • obszary ryzyka,
  • obejścia techniczne,
  • elementy wymagające modernizacji.

Nie każda pozycja będzie dotyczyć każdego projektu. Najważniejsze jest sprawdzenie, czy nowy zespół otrzymuje wystarczająco dużo informacji, żeby nie odkrywać systemu wyłącznie metodą prób i błędów.

Planujesz zmianę wykonawcy projektu?

Przejęcie warto rozpocząć przed wyłączeniem poprzedniego zespołu z projektu. Możemy przeanalizować kod, dostępne materiały i środowisko oraz wskazać, czego brakuje do bezpiecznego rozpoczęcia dalszych prac.

Porozmawiaj z zespołem Webtom.pl o przejęciu projektu Porozmawiaj z zespołem Webtom.pl o przejęciu projektu

Jak powinno wyglądać przekazanie projektu pomiędzy software house’ami?

Najbezpieczniejszy scenariusz zakłada okres, w którym dotychczasowy i nowy wykonawca są jednocześnie dostępni. Nie muszą wspólnie rozwijać projektu. Wystarczy możliwość przekazania informacji. Warto zaplanować kilka obszarów rozmowy.

Architektura systemu

Obecny zespół przedstawia najważniejsze moduły, zależności i przepływ danych.

Infrastruktura

Wyjaśnia, gdzie działa system i jak wykonywane są wdrożenia.

Integracje

Przekazuje informacje o zewnętrznych API, ograniczeniach i znanych problemach.

Procesy biznesowe

Opisuje mniej oczywiste wyjątki, których nie można wywnioskować wyłącznie z nazwy funkcji.

Znane problemy

Nowy wykonawca powinien wiedzieć, które obszary są problematyczne już dzisiaj.

Aktualne i planowane prace

Trzeba ustalić, co jest zakończone, co rozpoczęte, a co dopiero planowane.

Dobrze przeprowadzone przekazanie wiedzy może zaoszczędzić wiele godzin samodzielnego odtwarzania tych samych informacji przez nowy zespół.

Czy poprzedni software house musi współpracować z nowym?

Najlepiej, jeśli tak. Nie zawsze jest to jednak możliwe.

Można wyróżnić trzy podstawowe scenariusze przejęcia.

Scenariusz 1 – kontrolowane przekazanie projektu

To najlepsza sytuacja.

Poprzedni wykonawca:

  • przekazuje dostępy,
  • przekazuje dokumentację,
  • odpowiada na pytania,
  • opisuje architekturę,
  • przekazuje aktualną listę zadań, błędów i planowanych prac,
  • pomaga wyjaśnić kluczowe decyzje.

Nowy zespół może rozpocząć analizę jeszcze przed całkowitym zakończeniem współpracy z poprzednim wykonawcą. Ryzyko jest wtedy najmniejsze.

Scenariusz 2 – projekt zostaje przekazany, ale wiedza jest ograniczona

Klient posiada kod i dostępy, ale:

  • dokumentacja jest niepełna,
  • poprzedni developer nie jest dostępny,
  • część wiedzy trzeba odtworzyć,
  • niektóre procesy nie są opisane.

Projekt nadal można przejąć. Pierwszy etap będzie wtedy bardziej przypominał techniczną analizę i odtwarzanie wiedzy o systemie niż standardowe rozpoczęcie pracy nad projektem.

Nowy zespół musi samodzielnie:

  • uruchomić rozwiązanie,
  • przeanalizować architekturę,
  • odtworzyć przepływy,
  • zidentyfikować integracje,
  • sprawdzić sposób wdrażania zmian na produkcję,
  • przygotować dokumentację stanu zastanego.

Scenariusz 3 – przejęcie awaryjne

Najtrudniejszy przypadek występuje wtedy, gdy poprzedni wykonawca:

  • przestał odpowiadać,
  • zakończył działalność,
  • pozostawił niedokończony projekt,
  • nie przekazał pełnej dokumentacji,
  • albo klient ma jedynie część dostępów.

Wtedy pierwszym celem nie jest rozwój.

Pierwszym celem jest odzyskanie kontroli nad systemem.

Trzeba ustalić:

  • co rzeczywiście posiadamy,
  • czego brakuje,
  • czy produkcja jest bezpieczna,
  • czy istnieją aktualne kopie zapasowe,
  • czy można odtworzyć system,
  • jakie usługi są krytyczne,
  • czego nie wolno zmieniać bez dodatkowej analizy.

Dopiero później należy rozpoczynać dalsze prace programistyczne i rozwój systemu.

Co zrobić, gdy nie ma dokumentacji?

To jeden z najczęstszych lęków przy zmianie wykonawcy. Brak dokumentacji komplikuje przejęcie projektu, ale go nie uniemożliwia.

Kod źródłowy, konfiguracja, infrastruktura, baza danych, logi i działająca aplikacja same w sobie są źródłami informacji o systemie.

Nowy zespół może stopniowo odtworzyć:

  • strukturę aplikacji,
  • model danych,
  • zależności,
  • API,
  • reguły biznesowe,
  • konfigurację środowiska.

Problem polega na tym, że odtwarzanie wiedzy kosztuje czas. Dlatego niepełna dokumentacja powinna wpływać na sposób planowania pierwszego etapu przejęcia.

Zamiast oczekiwać natychmiastowego rozpoczęcia prac nad nowymi funkcjami, rozsądniej najpierw zmniejszyć poziom niewiedzy.

Co zrobić, jeśli brakuje części dostępów?

Najpierw warto przygotować listę braków. Nie wszystkie dostępy mają ten sam priorytet.

Krytyczne są przede wszystkim te elementy, których brak może uniemożliwić:

  • działanie produkcji,
  • wykonanie kopii zapasowej,
  • wdrożenie poprawki,
  • odzyskanie danych,
  • odnowienie domeny lub certyfikatu,
  • kontrolę nad płatnościami,
  • działanie kluczowej integracji.

Dostęp do starego narzędzia projektowego może poczekać. Dostęp do serwera produkcyjnego albo DNS – zwykle nie.

Priorytet powinien wynikać z wpływu danego zasobu na ciągłość działania systemu.

Kiedy warto rozwazyc zmiane software house?
Kiedy warto rozwazyc zmiane software house?

Czy można przejąć projekt bez kontaktu z poprzednim wykonawcą?

Tak, pod warunkiem że firma posiada odpowiednie zasoby i dostępy pozwalające na dalszą pracę. Trzeba jednak liczyć się z większym zakresem analizy.

Nowy software house będzie musiał samodzielnie zidentyfikować rzeczy, które przy standardowym przekazaniu projektu można byłoby wyjaśnić podczas jednej rozmowy.

Dlatego przed całkowitym zakończeniem współpracy warto – jeśli to możliwe – wykorzystać dostępność poprzedniego zespołu do przekazania wiedzy.

Co z prawami do kodu źródłowego?

To kwestia, którą warto zweryfikować przed zmianą wykonawcy, a najlepiej już podczas rozpoczynania każdego projektu IT.

Należy sprawdzić umowę zawartą z dotychczasowym dostawcą, zasady dotyczące praw do oprogramowania, wykorzystanych komponentów, licencji oraz możliwości przekazania projektu kolejnemu wykonawcy.

Sama techniczna możliwość pobrania repozytorium nie odpowiada jeszcze na pytanie o zakres praw do jego wykorzystania.

Jeżeli zapisy umowy są niejasne, właściwym krokiem jest ich weryfikacja prawna przed rozpoczęciem dalszych prac.

Czy przy zmianie software house trzeba zatrzymać rozwój projektu?

Nie zawsze. W niektórych projektach można kontynuować bieżące prace programistyczne do końca współpracy z poprzednim wykonawcą i płynnie przekazać odpowiedzialność.

W innych warto wprowadzić krótki okres stabilizacji, podczas którego nie powstają duże nowe funkcjonalności.

Ma to szczególne znaczenie wtedy, gdy:

  • projekt jest słabo udokumentowany,
  • oba zespoły pracowałyby jednocześnie na tym samym kodzie,
  • trwają duże migracje,
  • istnieje ryzyko konfliktów w repozytorium,
  • nie wiadomo jeszcze, która wersja odpowiada produkcji.

Najważniejsze jest ustalenie jednego punktu przejęcia odpowiedzialności. Nowy i stary wykonawca powinni wiedzieć, od którego momentu to nowy zespół odpowiada za produkcję i wdrażane zmiany.

Jak nowy software house powinien rozpocząć pracę?

Błędem byłoby rozpoczęcie prac od realizacji kolejnych zaplanowanych funkcjonalności.

Najpierw trzeba zrozumieć środowisko.

Etap 1 – inwentaryzacja

Zbieramy:

  • dostępne repozytoria,
  • dokumentację,
  • dostępy,
  • środowiska,
  • integracje,
  • aktualną listę zadań i planowanych prac,
  • znane problemy.

Powstaje lista tego, co mamy i czego brakuje.

Etap 2 – uruchomienie projektu

Nowy zespół powinien być w stanie samodzielnie uruchomić rozwiązanie.

Jeżeli nie może tego zrobić, warto najpierw ustalić dlaczego.

Etap 3 – analiza techniczna

Sprawdzane są między innymi:

  • architektura,
  • kod,
  • zależności,
  • wersje technologii,
  • baza danych,
  • testy,
  • integracje,
  • infrastruktura,
  • bezpieczeństwo procesu tworzenia i wdrażania zmian.

To etap zbliżony do audytu technicznego, ale jego celem nie musi być stworzenie pełnego raportu o każdym możliwym problemie.

W procesie przejęcia najważniejsza jest odpowiedź na pytanie: czy możemy bezpiecznie przejąć odpowiedzialność za system i rozpocząć jego dalszy rozwój?

Etap 4 – mapa ryzyka

Problemy warto rozdzielić według wpływu.

Przykładowo:

  • krytyczne – bezpieczeństwo, możliwość utraty danych, brak kopii zapasowej, niekontrolowany dostęp,
  • wysokie – elementy mogące powodować awarie albo blokować dalszy rozwój systemu,
  • średnie – problemy zwiększające koszt kolejnych zmian,
  • niskie – elementy możliwe do uporządkowania w późniejszym czasie.

Nowy software house nie powinien zaczynać od poprawiania wszystkiego. Powinien zacząć od tego, co naprawdę stanowi ryzyko.

Etap 5 – stabilizacja

Jeżeli system posiada problemy krytyczne, przed rozwojem nowych funkcji warto je ograniczyć.

Może to oznaczać:

  • poprawienie kopii zapasowych,
  • uporządkowanie procesu wdrażania zmian,
  • aktualizację krytycznej zależności,
  • naprawę błędnej integracji,
  • dodanie monitoringu,
  • zabezpieczenie produkcji,
  • poprawę najbardziej ryzykownych fragmentów kodu.

Etap 6 – plan dalszego rozwoju systemu

Dopiero po poznaniu projektu można rozsądnie określić:

  • co dalej rozwijamy,
  • co należy zrefaktoryzować,
  • co modernizujemy,
  • co pozostawiamy bez zmian,
  • jakie zaległości techniczne mają najwyższy priorytet.

Etap 7 – przejście do regularnego rozwoju i utrzymania systemu

Po ustabilizowaniu sytuacji projekt może wejść w normalny model pracy.

W zależności od potrzeb może to być:

Co zrobic, jesli brakuje czesci dostepow?
Co zrobic, jesli brakuje czesci dostepow?

Czy przed przejęciem projektu warto wykonać audyt techniczny?

W przypadku rozbudowanego lub słabo udokumentowanego projektu audyt techniczny może znacząco ograniczyć ryzyko przejęcia. Pozwala ocenić między innymi architekturę, kod, technologie, integracje, testy, infrastrukturę i najważniejsze zależności systemu.

Nie każde przejęcie wymaga jednak pełnego audytu. Czasami wystarczający jest ograniczony etap analityczny, którego celem jest sprawdzenie, czy nowy zespół może bezpiecznie przejąć odpowiedzialność za produkcję i rozpocząć dalszą pracę.

Szerzej zakres takiej analizy opisujemy w artykule Audyt techniczny systemu informatycznego – co sprawdzić przed dalszym rozwojem lub przejęciem aplikacji?

Czy przy przejęciu projektu trzeba od razu refaktoryzować kod?

Nie. Sam fakt, że nowy developer napisałby określony fragment inaczej, nie jest wystarczającym powodem do jego przebudowy.

Refaktoryzacja ma sens, gdy istniejący kod:

  • zwiększa ryzyko,
  • blokuje dalszy rozwój systemu,
  • powoduje błędy,
  • utrudnia testowanie,
  • generuje istotny koszt kolejnych zmian.

W przeciwnym razie zmiana może nie dostarczać żadnej wartości biznesowej. Przejęcie projektu nie powinno być pretekstem do „przepisania go po swojemu”. Więcej o tym, kiedy takie zmiany mają rzeczywiste uzasadnienie, opisujemy w artykule Refaktoryzacja kodu – czym jest i kiedy ją stosować?

Czy nowy software house powinien przepisać system od początku?

To jedna z decyzji, których nie powinno się podejmować przed poznaniem projektu. Napisanie systemu od nowa może być właściwym rozwiązaniem.

Ale może też być najdroższą możliwą odpowiedzią na problem, który dałoby się rozwiązać poprzez:

  • refaktoryzację,
  • aktualizację technologii,
  • przebudowę jednego modułu,
  • poprawę infrastruktury,
  • uporządkowanie integracji.

Starsza aplikacja może zawierać wiele lat wiedzy biznesowej zapisanej w kodzie. Przepisując system od nowa, trzeba tę wiedzę odtworzyć. Dlatego przed rekomendacją nowego rozwiązania warto najpierw określić rzeczywisty poziom długu technologicznego w systemie oraz wpływ obecnej architektury na dalszy rozwój.

Ile trwa przejęcie projektu IT?

Nie istnieje uniwersalny czas. Prosty WordPress z kilkoma dedykowanymi funkcjami może wymagać zupełnie innego podejścia niż kilkuletnia platforma B2B z dziesiątkami integracji i własną infrastrukturą.

Na zakres wpływają przede wszystkim:

  • wielkość kodu,
  • liczba modułów,
  • liczba integracji,
  • jakość dokumentacji,
  • dostępność poprzedniego zespołu,
  • sposób wdrażania zmian,
  • poziom testów,
  • jakość kodu,
  • stan infrastruktury,
  • poziom długu technologicznego,
  • kompletność dostępów.

Dlatego ostrożnie podchodziłbym do wykonawcy, który jeszcze przed zobaczeniem projektu potrafi dokładnie określić czas jego przejęcia. Najpierw trzeba zobaczyć, co rzeczywiście jest do przejęcia.

Ile kosztuje przejęcie projektu po innym wykonawcy?

Podobnie jak czas, koszt zależy przede wszystkim od poziomu niewiedzy i złożoności rozwiązania.

Największy koszt początkowy mogą generować:

  • brak dokumentacji,
  • problemy z uruchomieniem projektu,
  • niekompletne repozytoria,
  • brak testów,
  • skomplikowana infrastruktura,
  • duża liczba integracji,
  • przestarzałe technologie,
  • błędy wymagające natychmiastowej stabilizacji.

Dlatego pierwszego etapu nie zawsze da się odpowiedzialnie wycenić jak standardową funkcjonalność: „przejęcie projektu – 20 godzin”.

Im mniej wiadomo o systemie, tym większa niepewność estymacji. W takich sytuacjach rozsądny może być ograniczony etap analityczny rozliczany za rzeczywistą pracę, po którym dopiero powstaje dokładniejsza roadmapa.

Jak wybrać nowy zespół do przejęcia projektu?

Przejęcie istniejącego systemu wymaga innego podejścia niż budowa nowej aplikacji od początku. Dlatego przy wyborze wykonawcy warto sprawdzić przede wszystkim, czy zespół:

  • ma doświadczenie w przejmowaniu projektów po innych wykonawcach,
  • potrafi rozpocząć współpracę od analizy istniejącego rozwiązania,
  • posiada kompetencje odpowiadające technologiom wykorzystywanym w projekcie,
  • nie zakłada przebudowy lub rewrite’u przed poznaniem kodu i architektury,
  • potrafi przejąć odpowiedzialność za wdrożenia i środowisko produkcyjne,
  • może połączyć dalszy development z bieżącym utrzymaniem systemu.

Szczególnie istotna jest transparentność pierwszego etapu. Klient powinien wiedzieć, co zostało sprawdzone, jakie ryzyka wykryto, czego jeszcze brakuje i jaki powinien być kolejny krok.

Szersze kryteria wyboru zespołu opisujemy w poradniku Jak wybrać firmę programistyczną do rozwoju strony, sklepu lub systemu?

Jak nowy software house powinien rozpoczac prace?
Jak nowy software house powinien rozpoczac prace?

Przejęcie dedykowanego systemu informatycznego

W przypadku systemów dedykowanych szczególne znaczenie ma poznanie logiki biznesowej. Taki system powstał zwykle właśnie dlatego, że standardowe narzędzia nie realizowały wszystkich procesów firmy.

Kod może więc odzwierciedlać:

  • indywidualny proces zamówień,
  • obieg dokumentów,
  • nietypowy sposób wyceny,
  • strukturę klientów,
  • uprawnienia,
  • ofertowanie,
  • raportowanie,
  • własne integracje.

Nowy software house nie może analizować takiego rozwiązania wyłącznie od strony technologicznej. Musi również zrozumieć, dlaczego system działa właśnie w taki sposób.

Przejęcie platformy B2B

Systemy B2B bardzo często posiadają rozbudowane zależności z wewnętrzną infrastrukturą przedsiębiorstwa.

Mogą obsługiwać:

  • klientów i kontrahentów,
  • indywidualne cenniki,
  • limity,
  • płatności,
  • zamówienia,
  • magazyny,
  • ERP,
  • dokumenty,
  • handlowców,
  • procesy ofertowe.

Przy przejęciu takiego systemu szczególnie ważne jest odwzorowanie przepływu danych pomiędzy platformą a pozostałymi rozwiązaniami firmy.

Problem w systemie B2B może bowiem nie wynikać z samej aplikacji, ale z procesu rozpoczynającego się albo kończącego w ERP, CRM czy magazynie.

Przejęcie projektu WordPress

WordPress bywa prostszy do przejęcia niż dedykowana aplikacja, ale nie zawsze.

Rozbudowana instalacja może posiadać:

  • dedykowany motyw,
  • własne wtyczki,
  • wiele integracji,
  • wielojęzyczność,
  • niestandardowy panel,
  • zewnętrzne API,
  • skrypty synchronizacyjne,
  • rozbudowany hosting.

Przy przejęciu WordPressa warto sprawdzić:

  • czy wszystkie zmiany znajdują się w repozytorium,
  • czy modyfikowano pliki zewnętrznych wtyczek,
  • które wtyczki są płatne i na czyje konto są zarejestrowane,
  • czy istnieje osobne środowisko testowe (staging),
  • jak wykonywane są aktualizacje,
  • gdzie znajdują się kopie zapasowe,
  • czy są nietypowe CRON-y,
  • jakie usługi zewnętrzne są podłączone.

Przejęcie sklepu WooCommerce

WooCommerce wymaga jeszcze ostrożniejszego podejścia, ponieważ sklep funkcjonuje cały czas i generuje zamówienia.

Nowy zespół musi zrozumieć nie tylko WordPressa, ale cały proces sprzedażowy:

  • produkty,
  • warianty,
  • ceny,
  • rabaty,
  • koszyk,
  • proces składania zamówienia (checkout),
  • płatności,
  • wysyłkę,
  • stany magazynowe,
  • dokumenty,
  • ERP,
  • zewnętrzne platformy sprzedażowe marketplace,
  • konta klientów.

Zmiana wykonawcy nie może spowodować zatrzymania sprzedaży. Dlatego przed większymi zmianami warto najpierw zapewnić bezpieczne środowisko testowe oraz możliwość odtworzenia najważniejszych procesów sklepu. Przy dalszym rozwoju warto również sprawdzić, czy obecna architektura odpowiada planowanym funkcjom, integracjom i skali sprzedaży – szczególnie w przypadku bardziej rozbudowanych sklepów WooCommerce.

Przejęcie projektu z integracją ERP

Integracja z ERP jest często jednym z najbardziej krytycznych elementów przejmowanego systemu.

Trzeba ustalić:

  • który system jest źródłem danych,
  • co jest synchronizowane,
  • w jakim kierunku,
  • jak często,
  • jak obsługiwane są błędy,
  • co dzieje się przy braku dostępności ERP,
  • czy istnieją kolejki,
  • gdzie są logi,
  • kto odpowiada za API po stronie ERP.

Bez tej wiedzy nawet drobna zmiana może wpłynąć na procesy magazynowe, księgowe albo sprzedażowe.

Jak ograniczyć ryzyko zmiany software house?

Najważniejsza zasada jest prosta: nie zmieniaj wszystkiego jednocześnie.

Jeżeli tylko sytuacja na to pozwala:

  • zabezpiecz kod i dostępy,
  • wykonaj kopię zapasową,
  • poznaj system,
  • odtwórz środowisko,
  • ustal ryzyka,
  • przejmij odpowiedzialność,
  • ustabilizuj projekt,
  • dopiero później rozpoczynaj duże zmiany.

Pozwala to oddzielić dwa problemy: „czy potrafimy bezpiecznie utrzymać obecny system?”

od: „jak chcemy go dalej rozwijać?”

To dwie różne decyzje.

Chcesz przekazać istniejący projekt nowemu zespołowi?

Jeżeli potrzebujesz przejąć aplikację, platformę B2B, WordPress, WooCommerce lub dedykowany system po innym wykonawcy, możemy rozpocząć od analizy dostępnych materiałów i aktualnego stanu projektu. Sprawdźmy, co jest potrzebne do bezpiecznego przejęcia i dalszego rozwoju systemu.

Porozmawiaj z Webtom.pl o przejęciu projektu Porozmawiaj z Webtom.pl o przejęciu projektu

Jak Webtom.pl podchodzi do przejmowania istniejących projektów?

Jako zespół developerski możemy rozwijać zarówno projekty tworzone przez nas od początku, jak i rozwiązania przygotowane przez innych wykonawców.

Przy przejmowanym projekcie nie zakładamy z góry, że system wymaga napisania od nowa. Najpierw trzeba poznać jego stan.

W zależności od projektu analizujemy między innymi:

  • kod,
  • architekturę,
  • technologię,
  • integracje,
  • infrastrukturę,
  • środowiska,
  • dokumentację,
  • aktualną listę zadań i planowanych prac,
  • najważniejsze procesy biznesowe.

Następnie można ustalić, czy właściwym kierunkiem jest:

  • dalszy rozwój i prace programistyczne,
  • uporządkowanie wybranych elementów,
  • refaktoryzacja,
  • modernizacja,
  • stabilizacja,
  • bieżące utrzymanie i wsparcie techniczne,
  • albo stopniowa przebudowa systemu.

Przejęcie projektu powinno prowadzić do sytuacji, w której dalszy rozwój staje się bardziej przewidywalny, a nie do wymiany jednego zestawu niewiadomych na drugi. Jeżeli projekt wymaga przejęcia, modernizacji i dalszego developmentu istniejącego rozwiązania, zobacz również Firma programistyczna.

Przejęcie projektu IT – najpierw kontrola, później rozwój

Zmiana software house nie musi oznaczać zatrzymania projektu ani budowania systemu od początku. Największym ryzykiem nie jest samo pojawienie się nowego zespołu. Ryzykiem jest sytuacja, w której firma nie posiada wiedzy o własnym systemie, nie kontroluje dostępów i nie potrafi określić jego rzeczywistego stanu technicznego.

Dlatego dobre przejęcie projektu powinno kolejno:

zabezpieczyć → zinwentaryzować → zrozumieć → ocenić → ustabilizować → rozwijać.

Jeżeli poprzedni wykonawca współpracuje, warto wykorzystać ten czas do przekazania wiedzy. Jeżeli nie współpracuje, nadal można przejąć projekt, ale trzeba uwzględnić dodatkowy czas potrzebny na odtworzenie informacji.

Nie należy również automatycznie przepisywać starego systemu. Najpierw trzeba wiedzieć, co rzeczywiście warto zmienić. Dobrze przeprowadzone przekazanie projektu kończy się nie wtedy, gdy nowy software house otrzyma dostęp do repozytorium. Kończy się wtedy, gdy nowy zespół rozumie system na tyle dobrze, aby bezpiecznie wziąć odpowiedzialność za jego dalsze funkcjonowanie i rozwój.

FAQ – przejęcie projektu IT po innym wykonawcy

Na czym polega przejęcie projektu IT?

Przejęcie projektu IT polega na przekazaniu odpowiedzialności za istniejący system lub aplikację nowemu zespołowi. Proces obejmuje zazwyczaj kod źródłowy, dostęp do infrastruktury, dokumentację, integracje, dane, wiedzę biznesową oraz sposób wdrażania i utrzymywania systemu.

Czy można zmienić software house w trakcie projektu?

Czy poprzedni wykonawca musi współpracować przy przejęciu?

Czy można przejąć projekt bez dokumentacji?

Czy do przejęcia projektu wystarczy kod źródłowy?

Czy przy zmianie software house trzeba przepisać system?

Czy przed przejęciem projektu warto wykonać audyt techniczny?

Ile trwa przejęcie projektu IT?

Ile kosztuje przejęcie projektu po innym wykonawcy?

Co jest najważniejsze podczas zmiany software house?

Ten wpis stworzył

Sławomir Woźniak
New Business | PL

Ekspert od wycen dedykowanych rozwiązań i zarządzania projektami. Posiada ogromne doświadczenie w tworzeniu ofert idealnie dopasowanych do potrzeb i oczekiwań klientów, specjalista łączący pasję do nowych wyzwań z analitycznym podejściem do każdego szczegółu projektu.

Sławomir Woźniak - Webtom.pl
Sławomir Woźniak | Webtom.pl

Share:

Facebook ikona
Facebook ikona
Linkedin ikona
Linkedin ikona
  • okno-pol logo okno-pol logo
  • piubello logo
    piubello logo
  • kabat logo
    kabat logo
  • komandor logo
    komandor logo
  • nbs logo
    nbs logo
  • josera logo
    josera logo
  • m-box24 logo
    m-box24 logo
  • edu bears logo
    edu bears logo
  • tapiso logo
    tapiso logo
  • farmutil hs logo
    farmutil hs logo
  • hjort knudsen logo
    hjort knudsen logo
  • sawex chemicals logo
    sawex chemicals logo
  • pik logo
    pik logo
  • gepa logisitcs logo
    gepa logisitcs logo
  • horpol logo
    horpol logo