Jak wybrać odpowiedni softwarehouse?

Appchance on 27 czerwca 2017

Jak wybrać odpowiedni softwarehouse?

Przebieg procesu tworzenia nowego produktu cyfrowego zależy od wyboru odpowiedniego dostawcy oprogramowania. Dlatego określenie własnych preferencji, dobry research i zestawienie wymagań z oferowanymi usługami powinny być nieodłączną częścią procesu decyzyjnego. Na rynku istnieje wiele softwarehouse’ów, które mogą pochwalić się różnorodnymi osiągnięciami. Nie oznacza to jednak, że będą odpowiednimi partnerami w rozwoju naszego produktu. Istotne przy dokonywaniu decyzji jest określenie własnych wymagań i stworzenie checklisty, która pozwoli sprawdzić wiarygodność firm i ich dopasowanie do naszych potrzeb.

Co wziąć pod uwagę?

Osiągnięcia kandydatów są jedynie jednym z czynników, które warto poddać analizie. Przede wszystkim należy zacząć od odpowiedzi na pytania określające charakter własnego projektu:

  • specyfika projektu – czy wiemy, jakich kompetencji, specjalizacji wymaga mój projekt? Czy potrzebuję doradztwa, outsourcingu specjalistów czy całościowo zrealizowanego projektu? Czy w moim projekcie powinny być zastosowane konkretne rozwiązania technologiczne, rozwiązania programistyczne? Czy wymagane jest specjalne podejście do kwestii bezpieczeństwa, np. uwierzytelnienie płatności mobilnych, zabezpieczenie danych użytkowników?
  • wielkość projektu – jak duży jest mój projekt, czy wymaga zaangażowania większego zespołu, a może wystarczy niewielkie wsparcie? Jakie obszary specjalizacji powinny zostać pokryte?
  • planowany budżet w jaki sposób finansowany będzie projekt? Czy budżet będzie podlegał zmianom w czasie, czy jest on z góry ustalony i zamknięty? Czy jest to finansowanie zewnętrzne, czy wewnętrzne? Jaki jest górny limit budżetu?
  • planowany czas czy jest jakiś nieprzekraczalny deadline? Czy projekt jest rozliczany przez stakeholderów, którzy mogą wstrzymać finansowanie? Czy są jakieś wydarzenia, które warunkują wypuszczenie produktu?

Odpowiedzi na powyższe pytania pozwolą wyznaczyć pożądany kierunek i wyeliminować pierwsze firmy, które nie spełniają naszych wymagań. Zestawienie potrzeby ze specyfikacją firm, które realizowały podobne projekty lub wykorzystywały podobne technologie, wskaże wstępną listę kandydatów, których należy poddać dalszej analizie.

Kolejno poszukiwanie powinno skupić się na wybranych i istotnych z naszego punktu widzenia aspektach, jak np.:

  • Sposób komunikacji rozwijanie produktów cyfrowych wymaga intensywnej komunikacji: uściślania specjalistycznych terminów, wspólnego wypracowywania najlepszych rozwiązań, rozwiązywania konfliktów i niejasności. Przede wszystkim określmy jasno swoje oczekiwania: w jakim stopniu firma angażuje się w budowanie wizji produktu? Czy rozwiązania są oceniane również pod kątem biznesowej perspektywy? Czy zależy nam na wykonawcy zleconej usługi, czy partnerze, który będzie potrafił doradzić w wyborze? Jak przebiegają rozmowy: czy podmiot jest w stanie w czytelny sposób wytłumaczyć aspekty technologiczne? Czy występuje wzajemne zrozumienie, czy rozmowy przebiegają bez dysonansów, a kultura organizacji jest odpowiednia? Czy firma wykorzystuje narzędzia do prowadzenia projektów, które udostępnia klientom (np. Trello, Jira)? Czy wpisuje się to w nasz sposób pracy.
  • Doświadczenie i portfolioczy podmiot ma na koncie podobne projekty? Jakie marki zawierają się w portfolio? Czy firma specjalizuje się w wykonawstwie dla jednego, czy różnych sektorów usług? Jakimi projektami w portfolio mogą się pochwalić – design UI/ UX, architektura systemu, zastosowane rozwiązania technologiczne? Czy firma zamieszcza fragmenty kodu opensourcowego na Git Hubie?
  • Osiągnięcia i referencje – czy w sieci można znaleźć pozytywne opinie klientów na temat wybranej firmy? Sprawdźmy, czy możemy dotrzeć do referencji, rankingów i ocen. Czy firma posiada nagrody, certyfikaty, opinie na branżowych portalach.
  • Sposób i narzędzia do prowadzenia procesu – czy firma, tak jak większość obecnych softwarehouse’ów wykorzystuje metodologię Agile w zarządzaniu projektem? Czy pracuje np. w systemie Waterfall, który polega na wykonywaniu podstawowych czynności jako odrębnych faz projektowych następujących po sobie? Jaka metodologia najbardziej pasuje do specyfiki naszego projektu?
  • Zrozumienie architektury systemu, jakości kodu i potrzebnych zabezpieczeń czy firma zwraca uwagę na aspekty związane z wydajnością systemu, użytecznością, jakością stosowanych rozwiązań technologicznych oraz zabezpieczeniami systemu?
  • Wykorzystywane technologie oraz posiadane kompetencje w jakich językach specjalizują się programiści, czy firma wykonuje prace z zakresu frontendu oraz backendu? Czy produkuje aplikacje webowe, mobilne, czy specjalizuje się w rozwiązaniach iOT, CMS? Czy chcę korzystać również z usług dodatkowych, np. doradztwa marketingowego (np. w zakresie doradztwa ASO), czy interesują nas wyłącznie kompetencje techniczne?
  • Transparentność i szczegółowość warto oszacować również, czy  przedstawiona wycena jest szczegółowa i dokładnie określa zakres prac; czy firma potrafi wytłumaczyć zakres kosztów, czy przedstawione są informacje na temat kosztu utrzymania projektu oraz wprowadzania zmian (funkcjonalnych)? Jest to ważna informacja, która musi być odpowiednio wyszczególniona na początku projektu.
  • Ludzie prowadzący projekt – przed ostateczną decyzję warto dowiedzieć się, kto będzie odpowiadał za kształt/prowadzenie projektu. Pierwszym kontaktem na linii firma/softwarehouse jest project manager, warto zatem poznać tę osobę.
  • Weryfikacja współpracyczy nasz projekt będzie wymagał współpracy pilotażowej, czy jesteśmy w stanie od razu podjąć pełną współpracę z podmiotem?
  • Lokalizacja –  czy firma, która będzie realizować projekt znajduje się w pobliżu lokalizacji zleceniodawcy? W jaki sposób podmioty będą się komunikować i w jakiej walucie rozliczać?

Złożoność i zakres pytań zależy od wymagań zleceniodawcy. Określenie oczekiwanego rezultatu oraz sposobu wypracowywania go jest punktem startowym poszukiwań. Zestawiając pierwszy research z własnymi potrzebami, wyeliminujemy firmy, które nie pasują do specyfiki projektu oraz wymagań związanych z procesem prowadzenia go. Wybór determinuje jakość współpracy oraz jej efekt, dlatego warto pochylić się nad tym etapem i zminimalizować ryzyka związane z niedopasowaniem.

Więcej wartościowych informacji i wskazówek można znaleźć w odpowiedziach na Quorze: How can we find the right software development company?

, , ,

Przeczytaj również

Po co nam MVP?
Po co nam MVP?

Tworząc produkt dla klienta, chcemy aby jak najpełniej zaspokajał…