fbpx

Blog o IT oraz procesie wytwarzania oprogramowania

Na naszym blogu przeczytaj o najczęściej spotykanych problemach i wyzwaniach podczas wytwarzania decykowanego oprogramowania i nie tylko.

Software House jak wybrać?

Decyzja o wyborze firmy programistycznej do realizacji naszego projektu nie jest prosta. Nie należy jej podejmować pochopnie, opierając się na krótkim researchu, jedynie pierwszych wynikach Google czy treściach marketingowych. Jak wygląda złożony proces wyłonienia wykonawcy? Lepszy będzie freelancer, mała firma czy dużą spółką sp. z o.o ? W artykule postaram się wyjaśnić jak najlepiej do tego podejść, aby było to jak najlepsze dla naszego biznesu pod każdym względem.

Poszukiwanie firmy typu Software House

Najbardziej sprawdzonym sposobem na znalezienie odpowiedniego Software House’u wydają się być rekomendacje zaprzyjaźnionych firm czy partnerów biznesowych. Dzięki nim dowiemy się, czy efekt końcowy prac firmy programistycznej, zarządzanie projektem, design oraz zespół programistów spełnił wszystkie oczekiwania zamawiającego. Ważne jest także, czy współpraca przebiegała bez zakłóceń, a aplikacja została dostarczona na czas i firma jest gotowa zlecać kolejne projekty Web lub Mobile.

Kolejnym stosowanym sposobem jest wyszukiwanie firm w Google. Warto tu stosować bardziej złożone frazy, np. związane z usługą, której potrzebujemy (dajmy na to aplikacje webowe). Dobrym pomysłem jest także wyszukiwanie Software House’u w swoim mieście (np. usługi programistyczne Poznań, Warszawa) – w wyszukiwarce pojawi się znacznie mniejsza liczba wyników.

Poszukiwanie firmy w swoim mieście ma przede wszystkim tę zaletę, że można spotykać się z jej teamem osobiście, by omawiać projekt. Oczywiście zakładając współpracę zdalną z Software Housem z dowolnego miejsca Polski mamy większy wybór wykonawcy.

Sposobem na znalezienie odpowiedniej firmy może być także LinkedIn. Wiele biznesów tego typu ma tam swoje profile oraz dotychczasowe realizacje. Przy ocenie ich wiarygodności możemy kierować treściami, które udostępniają w serwisie.

Sprawdzenie portfolio firmy

Jeżeli wybraliśmy jednego lub kilku wykonawców, którzy mają dla nas wykonać usługę tworzenia aplikacji Web lub Mobile, powinniśmy zwrócić uwagę na wykonane przez nich wcześniej projekty. Obejrzyjmy strony i oceńmy, czy są przyjazne dla użytkownika oraz co mówią o tym sami klienci.

Gdy jest na to szansa, przetestujmy także aplikacje, by sprawdzić, czy dobrze się z nich korzysta oraz jak oceniamy ich design. Jeżeli są one ogólnodostępne, zwróćmy uwagę na to jak są oceniane przez użytkowników w Google Play czy App Store.

Zrealizowane projekty pokażą nam jakie rozwiązania stworzyli programiści oraz opinię klientów na ich temat.

Wiedza i doświadczenie

Doświadczenie firmy możemy ocenić na podstawie portfolio oraz liczby projektów. Software House’y zamieszczają też czasem case study konkretnych realizacji, dzięki czemu dowiemy się jakie wyzwania stały przed zespołem oraz w jaki sposób im sprostał.

Firmy często dzielą się wiedzą poprzez blogi czy LinkedIn, które pozwalają im budować wizerunek eksperta. Jeżeli zobaczymy, że udostępniają interesujące treści, pozwalające nam określić ich jako specjalistów branży, możemy poczytać to za duży plus Software House’u.

Często ma także znaczenie, czy firma programistyczna, z którą współpracujemy, orientuje się w branży naszego biznesu. Dzięki temu nie jesteśmy zmuszeni do wyjaśniania wykonawcy wszystkich pojęć kluczowych dla naszej dziedziny, a także możemy otrzymać od niego propozycje lepszych dla nas rozwiązań, które przyczynią się od lepszego rozwoju i jakości projektu.

Jakie pytania zadawać firmie programistycznej?

Podczas pierwszego kontaktu z potencjalnym wykonawcą powinniśmy przeprowadzić z nim wywiad. Podstawowe pytania powinny dotyczyć:

1. W czym się specjalizuje.

Ważne, żeby team firmy mógł wykazać się doświadczeniem w zakresie dotyczącym projektu, który tworzymy. Sprawdź, czy programiści mają wiedzę i doświadczenie w realizacji tego typu aplikacji.

2. Jak będzie przebiegać komunikacja między wykonawcą a klientem i w jakim stopniu będziemy musieli być zaangażowani w development?

Sposób zarządzania projektem i komunikacja pomiedzy firmą a klientem są bardzo ważne. Czy chciałbyś mieć aktualny wgląd w prace otrzymywać wersję do testów co 2 tygodnie. W takim przypadku ważne jest upewnienie się, że jesteśmy wstanie wyznaczyć pracowników w naszej firmie, którzy będą mogli zaangażować się w projekt – for our site (po naszej stronie). Czy będzie project manager, który zaopiekuje się nami podczas współpracy.

3. Ile orientacyjnie będzie trwało stworzenie aplikacji oraz od czego zależy ten czas

Tutaj firma będzie potrzebowała od nas oczywiście listy zawierającej nasze potrzeby, aby określić precyzyjnie okres działań. Na podstawie swoich doświadczeń z podobnymi projektami, usługodawca będzie mógł jednak wstępnie ocenić, w ciągu jakiego czasu uda mu się zrealizować prace.

  • jaki jest zakres supportu, usługi serwisowej,
  • czy firma oferuje rozwój i aktualizacje oprogramowania,
  • czy dostawca przekazuje na nas prawa autorskie lub licencje oraz, czy jest to ew. dodatkowo płatne,
  • jakie pojawią się w umowie zapisy dotyczące gwarancji i rękojmi,
  • do czego uprawnia nas licencja oprogramowania (czy możemy je np. odsprzedawać lub edytować),
  • czy technologia będzie łatwa do późniejszego rozwoju oraz, czy będzie mogła się tym zająć inna firma,

4. Jakie są godziny pracy zespołu

Istotne jest, czy zespół pracuje w określonych godzinach, czy też specjaliści dajmy na to, sami decydują, kiedy w ciągu dnia wykonują projekt (co zdarza się np. w przypadku programistów). Wtedy też kontakt z wykonawcą jest utrudniony, a reakcja na ewentualne problemy może być opóźniona.

5. Z iloma osobami będziemy musieli dokonywać ustaleń

Zdarza się, że różne osoby będą odpowiedzialne za konkretne aspekty współpracy. Dotyczy to np. pracy developerskiej, koncepcyjnej, zgłaszania błędów czy kwestii finansowych. Może to być dla nas kłopotliwe, jeśli z każdym problemem będziemy musieli zwracać się do innego specjalisty, np. programisty czy projektanta.

Zazwyczaj wygodniejszym rozwiązaniem jest, gdy pracujemy z wyznaczonym przez wykonawcę managerem projektu. Jest on wtedy odpowiedzialny za przyjmowanie naszych uwag, przekazywanie ich dalej oraz odpowiadanie na nasze pytania. Zarządzanie projektem z naszej strony jest wtedy łatwiejsze.

Wybór software house’u – na co należy uważać

Nie kieruj się najniższą ceną

Jednym z częstych błędów, jaki możemy popełnić, decydując się na konkretnego usługodawcę, jest kierowanie się kryterium najniższej ceny. Niska cena może niestety wynikać z przesłanek, które będą dla nas niekorzystne.

Zdarza się, że oferty nie uwzględniają podstawowych dla wykonania projektu elementów. Oznaczać to dla nas będzie ostatecznie ponoszenie większych kosztów, niż gdybyśmy skorzystali z pozornie droższej oferty. Dotyczy to np. licencji na oprogramowanie niezbędne od realizacji zlecenia, za którą będziemy musieli osobno zapłacić.

W przypadku Software House’ów, które oferują wyjątkowo niską cenę, mogą pojawić się  także problemy z terminowością oraz jakością usług, przez co nasze potrzeby nie zostaną spełnione. Wynika to z faktu, że firmy muszą realizować wiele projektów równocześnie, aby utrzymać rentowność.

Współpracujemy z wieloma klientami, którzy opowiadali o sytuacjach, gdzie firma początkowo oferowała bardzo niską kwotę za projekt, tylko poto, aby “złapać klienta”. Później już było bardzo trudno porzucić projekt a koszty ciągle rosły i finalnie były często 300% większe niż proponowane w pierwszej ofercie.

Prawa autorskie

W przypadku projektów, gdzie oprogramowanie tworzone jest stosownie do potrzeb konkretnego klienta i nie będzie przydatne dla innych podmiotów, dominującym rozwiązaniem jest przekazywanie klientowi przez software house całości autorskich praw majątkowych dotyczących aplikacji. Jest ono dla nas korzystne, ponieważ pozwala na swobodę w korzystaniu z rozwiązania (oczywiście w wyznaczonych przez umowę polach eksploatacji, na które należy zwrócić uwagę). Sprawdź dokładnie, czy wszystkie prawa autorskie są przekazane w umowie.

Alternatywnie może zostać zaproponowana nam licencja, co w przypadku zindywidualizowanych projektów następuje jednak rzadko. Licencja oznacza, że twórca oprogramowania nadal dysponuje prawami majątkowymi do niego, co w pewnym stopniu może wiązać nam ręce podczas wykorzystywania aplikacji.

Brak umów

Odpowiednio sformułowana umowa jest zabezpieczeniem interesów zarówno usługodawcy, jak i klienta. Chociaż wydaje się to oczywiste, firmy nadal potrafią przyjmować jedynie zamówienia na oprogramowanie, zamiast podpisywać stosowne umowy, co może być bardzo niekorzystne w dłuższej perspektywie dla klientów.

Z perspektywy dostawcy może to wynikać z pozornej wygody, ale także z faktu, że nie są wtedy zobowiązani do ścisłego przestrzegania wytycznych zamawiającego. Nie jest określany formalnie także harmonogram oddania tekstu.

Wszystko to naraża nas na realne straty, gdyż możemy uzyskać aplikacje, która nie spełni naszych wymagań pod względem jakości oraz funkcjonalności. Opóźnienia sprawią także, że zaburzone zostaną nasze plany biznesowe, co rodzi ryzyko zaistnienia realnych strat finansowych.

Pobieżna i zbyt szybka wycena

Aby przedstawić nam wiarygodną ofertę cenową, każdy Software House powinien oprzeć ją na starannej analizie wymagań klienta. Wstępne założenia projektu, które dostarczamy, nie powinny być wystarczające do stworzenia przez usługodawcę rzetelnych propozycji.

Projekty programistyczne mają charakter złożony i wymagają wykorzystywania wielu różnych technologii (nawet pozornie prosta strona internetowa oparta na systemie WordPress zawiera różne funkcjonalności i wymaga odpowiedniego dostosowania rozwiązań, co wpływa na cenę).

Powinniśmy się zatem spodziewać, że software house przeprowadzi z nami zaawansowany wywiad w zakresie projektu, który tworzymy, a następnie go przeanalizuje.

 

Poważna i trudna decyzja

Aby wybór Software House’u był dla nas korzystny, należy rozważyć wiele czynników. Trzeba pamiętać, że tworzenie oprogramowania to proces skomplikowany i istotne w nim są różne zmienne. Dlatego też pamiętajmy o przeprowadzeniu rzetelnych poszukiwań.

Przed wyborem odpowiedniego Software House’u do swojego projektu, warto zasięgnąć rady u eksperta, który podpowie co jest szczególnie ważne w przypadku wyboru zespołu i realizacji naszego projektu. Zachęcam do zamówienia darmowej konsultacji z ekspertami Dev4You za pomocą poniższego przycisku.

ZAMAWIAM ROZMOWĘ Z EKSPERTEM IT