W skrócie
- Software house daje szybki start i pełen zespół (frontend, backend, testy) bez rekrutacji - dobry przy projekcie o określonym zakresie.
- Własny zespół ma sens, gdy oprogramowanie jest rdzeniem biznesu i będzie rozwijane przez lata.
- Model mieszany łączy własnego lidera produktu z zewnętrznymi inżynierami i pozwala skalować zespół.
- Niezależnie od modelu zadbaj o kod źródłowy, prawa autorskie, dokumentację i dostępy po swojej stronie.
- Przy własnym zespole licz pełny koszt: rekrutację, wdrożenie, zastępstwa, testy i utrzymanie infrastruktury.
Trzy modele
- Software house: zlecasz projekt firmie, która ma gotowy zespół i proces. Ty odpowiadasz za cele i decyzje, wykonawca za realizację.
- Własny zespół: zatrudniasz programistów, testerów i lidera technicznego. Masz pełną kontrolę i wiedzę w firmie, ale też pełną odpowiedzialność.
- Model mieszany: masz własnego lidera albo właściciela produktu, a inżynierów dostarcza zewnętrzna firma (body leasing, rozszerzenie zespołu).
Porównanie
| Software house | Własny zespół | Model mieszany | |
|---|---|---|---|
| Czas startu | Tygodnie | Miesiące (rekrutacja) | Tygodnie |
| Koszt | Zmienny, za zakres lub godziny | Stały, także między projektami | Część stała, część zmienna |
| Kompetencje | Pełny zespół od razu | Tyle, ilu zatrudnisz | Uzupełniane według potrzeb |
| Wiedza o produkcie | U wykonawcy, trzeba ją przekazać | W firmie | Rośnie w firmie |
| Skalowanie | Łatwe | Trudne i powolne | Łatwe |
| Ryzyko odejścia ludzi | Po stronie wykonawcy | Po Twojej stronie | Rozłożone |
Kiedy software house
- Masz konkretny projekt z określonym celem, a nie stały rozwój produktu.
- Nie masz działu IT albo Twój dział IT zajmuje się utrzymaniem, a nie budową nowych systemów.
- Liczy się czas startu - nie ma miesięcy na rekrutację.
- Potrzebujesz wielu kompetencji naraz: projektowania interfejsu, frontendu, backendu, integracji i testów.
Kiedy własny zespół
- Oprogramowanie jest rdzeniem Twojego biznesu i źródłem przewagi nad konkurencją.
- Produkt będzie rozwijany przez lata, codziennie, w ścisłej współpracy z resztą firmy.
- Wiedza domenowa jest tak specyficzna, że jej przekazywanie zewnętrznej firmie byłoby kosztowniejsze niż zatrudnienie.
Pamiętaj o pełnym koszcie: rekrutacji, wdrożeniu nowych osób, urlopach i zastępstwach, narzędziach, testach i utrzymaniu serwerów. Jeden programista to zwykle za mało - potrzebny jest ktoś do przeglądu kodu, testów i zastępstwa.
Model mieszany
W praktyce wiele firm zaczyna od software house'u, a z czasem buduje własny zespół, który przejmuje rozwój. Inne mają własnego lidera i kilku programistów, a w okresach większego obciążenia dołączają zewnętrznych inżynierów, którzy pracują w ich narzędziach i procesie.
Warunek powodzenia jest ten sam: kod, dokumentacja i decyzje techniczne są dostępne dla Twojej firmy, a nie tylko w głowach osób z zewnątrz.
Jak nie uzależnić się od dostawcy
- Repozytorium kodu na Twoim koncie albo regularnie przekazywane - nie tylko przy odbiorze końcowym.
- Prawa autorskie do kodu uregulowane w umowie - przeniesienie albo licencja, z określonymi polami eksploatacji.
- Dokumentacja techniczna i instrukcja wdrożenia, aktualizowane w trakcie projektu.
- Dostępy administracyjne do serwerów, domen, baz danych i usług zewnętrznych po Twojej stronie.
- Powszechnie używane technologie zamiast niszowych, żeby łatwiej było znaleźć ludzi do dalszego rozwoju.