Co to znaczy software house posiadający zmysł rozwoju produktu, wie każdy, kto rozkręcał startup bez odpowiedniego zaplecza IT. Dobry partner technologiczny zadba nie tylko o dedykowane oprogramowanie, bezpieczeństwo systemu czy późniejszą obsługę, ale też właśnie o jak najlepszy kierunek rozbudowy. Dlatego trafny wybór software house jest tak ważny. Tutaj nie możesz się pomylić.
To zaskakujące, że wśród największych błędów przesądzających o być albo nie być startupów, tak rzadko wymienia się zły wybór software house. Mówi się ogólnie o złym modelu biznesowym, niedopasowanym zespole czy produkcie niespełniającym rzeczywistych potrzeb rynkowych, ale o nawiązaniu współpracy z niewłaściwą firmą programistyczną zwykle cicho sza.
A taki solidny partner to podstawa. Szczególnie, kiedy nie dysponujemy zapleczem IT lub to posiadane jest niewystarczające na duży projekt.
Jaki software house? Z dedykowanym doradcą
Na początku, pomysłodawca lub inwestor projektu powinien zadać sobie kluczowe pytanie: czy posiada po swojej stronie kompetencje zarządzania IT.
Innymi słowy, czy ma w zespole stanowisko CTO (Chief Technology Officer), a więc osobę, która pokieruje doborem technologii, będzie w stanie nadzorować oraz weryfikować postępy prac programistycznych. Jeśli właściciel ma obsadzone to stanowisko, do realizacji poszczególnych zadań będzie wymagał po prostu programistów, frontendowców i grafików, którzy wykonają określone zadania. W takiej sytuacji, bardziej od wyboru jak najlepszego software house liczą się kompetencje poszczególnych zatrudnionych osób.
A co jeśli współpraca z software house ma być znacznie szersza?
W przypadku, gdy nasz startup nie posiada CTO, należy zadbać o to, aby wybrany software house miał dla nas dedykowanego doradcę. To ważne, ponieważ taka osoba będzie ustalać z nami rozwiązania techniczne i przełoży na język biznesowy niuanse technologiczne. W tej sytuacji należy wybrać agencję, która posiada szerokie kompetencje, czyli zespół nie tylko techniczny, ale również posiadający specjalistów od marketingu, mediów społecznościowych, SEO itd. Wtedy nie musimy już weryfikować kompetencji poszczególnych osób zespołu, możemy jedynie patrzeć na software house jako całość, biorąc pod uwagę portfolio i sposób obsługi naszego zapytania.
Weź portfolio pod lupę
Wybór software house w Polsce (chociaż nie powinieneś się ograniczać) jest wprawdzie dość szeroki, ale nie każda firma będzie pasowała do danego zlecenia. A agencja powinna być szyta na miarę, czyli dopasowana do wielkości realizowanego projektu.
Pamiętaj, że firmy programistyczne często działają w określonej specjalizacji. W portfolio jednej znajdziesz rozbudowane systemy, których zaprojektowanie i wdrożenie wymagało wielu miesięcy albo nawet kilku lat, a u drugiej przede wszystkim aplikacje mobilne, które są osią jej działań. Jeszcze inni mogą poruszać się wyłączne w obrębie jednej branży, chociażby bankowości czy zarządzania przedsiębiorstwami. Chociaż taka kategoryzacja oczywiście też nie jest regułą. Tutaj przykładem może być nasza agencja, która oprócz mniej skomplikowanych projektów, ma też w dorobku np. takie realizacje jak CMS Mokio (dwa lata pracy), aplikacja Yobi (rok) czy Znajdź Biegłego (pół roku).
Analizując dorobek software house, należy zwrócić uwagę jednak nie tylko na branże i wielkości projektów, ale również ogólną estetykę produktów.
Dokładny przegląd portfolio jest więc podstawą. Powierzenie dużego i drogiego projektu agencji, która nie ma odpowiedniego doświadczenia, może okazać się strzałem w stopę.
Zakres wsparcia, procedury bezpieczeństwa
Jeśli już wyślesz zapytanie lub umówisz się na spotkanie, należy dokładnie zweryfikować kompetencje zespołu. Czy jest wystarczająco duży? W jakich językach specjalizują się programiści? Czy agencja wykonuje prace zarówno z zakresu backendu, jak i frontendu? Jaki jest tryb zarządzania projektem?
Kolejną pozycją na checkliście są kwestie bezpieczeństwa. To szczególnie ważne, jeśli planowany system ma zawierać wrażliwe dane klientów lub pracowników. Warto więc sprawdzić, czy software house posiada odpowiednie procedury postępowania i plan ciągłości działania w sytuacjach kryzysowych, kiedy bezpieczeństwo zostałoby naruszone.
Kolejne pytanie, jakie należy sobie zadać, dotyczy tego, czy po ukończeniu projektu będziemy w stanie samodzielnie się nim opiekować. Dochodzimy tu do zakresu wsparcia, jakie oferuje zewnętrzny partner. Chodzi zarówno o bieżące administrowanie systemem lub aplikacją, jak i ewentualną rozbudowę produktu. W niektórych przypadkach należy więc nastawić się na dłuższą współpracę. Dla przykładu, zaprojektowany przez agencję Bloomnet system informatyczny obsługujący rynek hurtowy Bronisze, jest rozwijany już od pięciu lat.
Tutaj warto podkreślić praktykę stosowaną niekiedy przy wieloletniej współpracy: firmy nieposiadające CTO, chcąc zdobyć większe zaangażowanie software house, oferują mu kilkuprocentowy udział w projekcie. To wymaga odwagi, ale taka inwestycja może zwrócić się z nawiązką.
No i cena. Częstą praktyką jest naturalnie rozsyłanie zapytań ofertowych z prośbą o wycenę. Należy jednak pamiętać, że każda firma programistyczna może mieć inny sposób szacowania kosztów realizacji projektu, dlatego kwoty mogą się od siebie bardzo różnić. Dobry i zaprawiony w bojach software house, analizując dostępny budżet, oszacuje jednak Twoje realne możliwości. Podpowie możliwy zakres prac i być może pomoże uniknąć porwania się z motyką na słońce.
Elastyczna komunikacja
Oprócz kwestii typowo technicznych, szalenie ważne są jeszcze dwie: sprawna komunikacja i trzymanie się harmonogramu.
Budowa startupu to często wyścig z czasem: autorzy chcą jak najszybciej wypuścić MVP, przeprowadzić testy, sprawdzić, jak rozwiązanie zostanie przyjęte na branżowej konferencji itd. Dlatego tak ważny jest sprawny przepływ informacji na linii startup-software house. Oczywiście wszystkie firmy programistyczne zapewniają o „stałym kontakcie z klientem”, ale w praniu wychodzi to różnie. Dlatego zawczasu trzeba ustalić reguły gry, a więc poznać godziny pracy agencji, wybrać narzędzia komunikacji, sposób etapowania projektu itd.
Najlepiej, kiedy współpraca jest elastyczna i szczegóły projektu ustalane są w trakcie realizacji, chociażby w postaci cotygodniowych spotkań lub łączeń. Jeśli projekt ma być wykonany szybko i skutecznie, musi być zagwarantowana elastyczność z obu stron. Może to banał, ale bardzo ważna jest też otwartość. Autor projektu nie powinien bać się opowiadać o swoim pomyśle, nawet jeśli uważa, że to koncepcja na złoty interes. Po pierwsze, agencje mają zwykle mnóstwo pracy oraz własnych pomysłów i nie są zainteresowane wykorzystywaniem cudzych, a po drugie, o sukcesie decyduje jednak znajomość danej niszy i zaangażowanie pomysłodawcy.
No i pilnowanie deadline’ów. Przekraczanie terminów to chyba najbardziej irytująca część współpracy z partnerami zewnętrznymi, bo bez trzymania się harmonogramu naprawdę trudno o sprawny rozwój projektu. Warto więc sprawdzić grunt i upewnić się, że ASAP jest mniej więcej podobnie rozumiany przez software house, jak przez Ciebie ;)