Skąd się biorą różnice w wycenach projektów informatycznych?
Wyobraźmy sobie pewną sytuację. Od dłuższego czasu po głowie chodzi Ci pomysł stworzenia innowacyjnego rozwiązania informatycznego, nazwijmy to od razu aplikacją [1]. Wieczorami, zmęczony po pracy uruchamiasz „Worda” i zaczynasz tworzyć wstępną listę funkcjonalności oraz wymagań biznesowych. Po kilku tygodniach, szczęśliwy ukończoną pracą, zaczynasz szukać potencjalnego wykonawcy swojego projektu. Zrobiłeś mały przegląd firm programistycznych i wysyłasz do nich zapytania o wycenę. Po tygodniu otrzymujesz oferty i okazuje się, że każda z nich ma całkowicie inną kwotę – rozbieżności sięgają nawet setek tysięcy.
Skąd taka rozbieżność? Dlaczego jeden wykonawca wycenił prace na 50 tysięcy a inny na 120? Który wykonawca powinien zostać Twoim partnerem[2]?
To są pytania, na które szukasz odpowiedzi! Mam nadzieję, że w tym artykule je znajdziesz.
Przygotowywanie wyceny przez wykonawcę
Przyjmijmy, że swoją specyfikację wysłałeś do 10 potencjalnych wykonawców. Pierwszą odpowiedź z ofertą długą jak papier toaletowy dostałeś już po pierwszym dniu. Inni, odezwali się z kilkoma dodatkowymi pytaniami, ponieważ chcieli doprecyzować jak wyobrażasz sobie daną funkcjonalność. Zastanawiasz się jak to wygląda od środka?
Aktualnie zapewne dużo słyszysz o tym, że jest spory problem z dobrymi programistami. O tym, że branża szybko się rozwija zapewne też słyszałeś. I to jest prawda. Branża rozwija się bardzo szybko, developerów zawsze brakuje. Co mam dokładnie na myśli? To, że praktycznie każdy wykonawca ma zaplanowane projekty na min. pół roku do przodu i nie za bardzo ma czas i chęci, aby do Twojej prośby o wycenę przysiąść rzetelnie.
Efektem takiej sytuacji jest to, że wyceny niekiedy są przygotowywane bez większej analizy. Twoja wycena trafia do PM-a, Lidera bądź innej osoby, która „rzuca” widełki realizacji Twojej aplikacji. Nikt nie sprawdził złożoności opisywanych przez Ciebie funkcjonalności. Niektóre, jeśli je przeczytał, mógł zupełnie inaczej zrozumieć niż Ty. I tak naprawdę, otrzymujesz ofertę bez jakiegokolwiek przełożenia na Twój projekt.
Innym przypadkiem, jest sytuacja, w której Software House ma dokładnie opracowany proces tworzenia wycen. Po wysłaniu zapytania, dostajesz odpowiedź z podziękowaniami oraz przybliżonym czasem przygotowania wyceny. Dodatkowo, otrzymujesz jedną, przypisaną osobę do tego procesu, która poprowadzi całą komunikację. Jest to niezwykle ważne, ponieważ takie rozwiązanie eliminuje szum informacyjny[3]. W kolejnym etapie otrzymujesz dodatkowe pytania, o których wspominałem wyżej. Wspólnie analizujecie, co konkretnie miałeś na myśli i jaką masz wizję na ten konkretny proces. Jeśli wykonawca ma wszystkie niezbędne informacje, przechodzi do procesu rzetelnej wyceny.
Ważne jest to, abyś już podczas samego procesu wyceny czuł, że wykonawca z którym rozmawiasz, rzetelnie podchodzi do Twojego projektu i przede wszystkim – do Ciebie.
Zwróć na to uwagę podczas swoich realizacji oraz pamiętaj co wspomniałem o partnerstwie!
Rzetelna wycena – stworzenie aplikacji to nie tylko development!
Tworzenie dedykowanej aplikacji to nie tylko programiści i linijki kodu. To szereg dodatkowych działań, które mają na celu osiągnięcie biznesowych wartości, które są dla Ciebie najważniejsze. Te dodatkowe działania, również wpływają na różnice w wycenach. Oczywiście, każdy Software House, będzie zwracał uwagę na inne elementy. Ma to przede wszystkim związek z jego dotychczasowym doświadczeniem. Są jednak elementy, na które warto zwrócić szczególną uwagę:
- Wybór technologii: Wykonawcy często narzucają swoją technologię w której pracują – niestety nie każda technologia nadaje się do każdego typu projektu
- Testowanie: na pewno przytrafiła Ci się sytuacja, w której otwierasz linka przesłanego przez znajomego w swojej ulubionej przeglądarce, a tam wszystko totalnie rozwalone. Otwierasz tą samą stronę w kolejnej przeglądarce i wszystko działa prawidłowo. To są właśnie elementy testowania, a to jest tylko prosty przykład. Wiele wykonawców, tego po prostu nie wykonuje.
- Prowadzenie projektu: szczerze mówiąc, nie wyobrażam sobie w tym momencie prowadzenia projektu bez jednej, dedykowanej osoby. Mam tu na myśli Project Managera bądź w przypadku metodyki Scrum – Product Ownera. Osoba ta jest odpowiedzialna za cały proces komunikacyjny i ściśle współpracuje właśnie z Tobą oraz zespołem deweloperskim. Po co? Wyobraź sobie projekt dużej budowy, bez kierownika projektu.
- Gwarancja: Twoja aplikacja została zbudowana i wdrożona. Okazuje się jednak, że posiada sporo elementów, które nie działają prawidłowo. Każde usunięcie usterki kosztuje Cię krocie, a produkt nie zarabia… Ps. Bardzo często zespoły, które nie wykonują testów, nie dają również gwarancji.
- Doświadczenie: nie jest tajemnicą, że jest to niezwykle cenny element. I nie powinno to być nowością. Doświadczony zespół, jest w stanie zwrócić uwagę na newralgiczne punkty Twojego projektu. Przewidzi ryzyko oraz zaproponuje inne rozwiązania, które doprowadzą projekt do sukcesu.
Oczywiście, tych punktów może być więcej. W zależności od projektu[4], jego złożoności i wielkości każdy element będzie miał inne znaczenie. Warto jednak zwrócić uwagę, że jeśli jest duża rozbieżność w cenie, to czegoś tam nie ma. Jeśli nikt Ci nie wyjaśnił, skąd się bierze ta cena, to Twoją rolą jest wyjaśnienie tego.
Podsumowanie
To, że od każdego wykonawcy otrzymasz inną wycenę, jest pewne. Jedni wycenią Twój projekt na małe pieniądze, inni na duże. Tylko zastanów się wtedy, co dokładnie jest tego wynikiem.
Każdy z nich ma inne doświadczenie, standardy oraz metodyki pracy. Jeśli zależy Ci na wysokiej jakości swojej aplikacji, to nie skreślaj żadnej z opcji już na samym początku i nie patrz tylko na cenę. Finalnie, te niższe mogą okazać się zdecydowanie większe. Pamiętaj też o wspomnianym partnerstwie i porównaniu do małżeństwa ?
Będę bardzo wdzięczny za Twoją opinię w tym temacie. Być może musiałeś już taki proces przejść? Jestem ciekawy, jakie miałeś wtedy odczucia.
[1] Bardzo często pod słowem aplikacja, użytkownicy myślą tylko o aplikacji mobilnej. Pamiętaj, że może to być również aplikacja webowa. Przykładem może być strona, na której kupujesz tanie bilety do Londynu z linii lotniczych Rynair. Tak to jest też aplikacja.
[2] Słowo partner, nie jest tu przypadkowe. Realizując jakikolwiek większy projekt, wchodzisz w bardzo bliskie relacje ze swoim wykonawcą. Bardzo często, porównuję to do małżeństwa. Są dobre jak i te złe chwile.
[3] Na pewno w swoim życiu miałeś sytuacje, w której np. organizowałeś wypad ze znajomymi na wakacje. Ktoś Ci przekazał, że wyjeżdżacie o 6. Po rozmowie z inną osobą, okazuje się, że wyjeżdżacie o 4. Tak, to jest właśnie szum informacyjny. Wyobrażasz sobie, co taki element może zrobić w złożonym projekcie IT?
[4] Jeden z naszych aktualnych partnerów, w pierwszej iteracji zlecił development do programistów z Indii. Cena była atrakcyjna, nawet bardzo. Gdy zaczęły się problemy po pierwszej płatności, okazało się, że wybrana przez nich technologia jest już kompletnie nie rozwijana. Ciężko będzie taki system utrzymać oraz rozwijać. W tym momencie, przepisujemy to na nowo, w odpowiedniej technologii.