Jak wygląda współpraca z software housem?
Autor Jakub Zbąski
Autor Jakub Zbąski
Nadszedł czas. Zdecydowałeś się na stworzenie swojego własnego sklepu internetowego. Zdefiniowałeś swoją wizję na firmę, zbadałeś rynek i poznałeś konkurencje. Czas na realizację Twojego sklepu internetowego. Jeśli myślałeś, że etap trudnych decyzji jest już za Tobą – nic bardziej mylnego. Czas na jedną z ważniejszych decyzji w Twoim projekcie – kto będzie odpowiedzialny za stworzenie platformy. W dzisiejszym poście przedstawimy potencjalne rozwiązania oraz wytłumaczymy, jak zazwyczaj wygląda praca z software housem.
Zanim zaczniemy rozmawiać o tym, jak przebiega proces współpracy, warto byłoby wyjaśnić sobie, czym jest software house. Software house to firma, której głównym produktem jest oprogramowanie, które wytwarza dla swoich klientów. W większości składa się z zespołu programistów, którzy produkują oprogramowanie tworzone pod potrzebę danego klienta. Software house często ma też funkcję doradczą – pomaga klientowi w określeniu jego faktycznych potrzeb i definiuję mapę dalszego rozwoju aplikacji. Software house może się w czymś specjalizować. Dla przykładu w Rigby możemy stworzyć aplikację webową lub stronę informacyjną, ale naszą główną specjalizacją jest doradztwo i tworzenie sklepów internetowych. Zaletą zdecydowania się na firmę, która specjalizuje się w danej dziedzinie, jest bagaż doświadczenia, który firma ta dostarczy do realizacji projektu. Taka firma ma już za sobą stworzenie kilku projektów w tej branży, zatem zna miejsca potencjalnej przewagi lub na którym etapie należy szczególnie uważać.
Dobrze, skoro wiemy już, czym jest software house, poruszyć powinniśmy jeszcze jedną możliwość do wyboru realizacji sklepu eCommerce – freelancer.
Freelancer to osoba, która pracuje niezależnie, najczęściej w pojedynkę. Jest człowiekiem-firmą w jednym. Sam zbierze wymagania, przeprowadzi klienta przez etap ich walidacji, stworzy architekturę informacji, a następnie naniesie na to design. Finalnie sam napisze kod, dostarczy go klientowi, a następnie się z nim rozliczy. To naprawdę wiele zadań dla jednej osoby, prawda?
Jak można zauważyć, liczba umiejętności freelancera jest naprawdę ogromna, zatem jasne jest, że ludzi, którzy dobrze wykonują tę pracę, jest naprawdę niewiele. Stawki freelancerów zazwyczaj są niższe niż w software housie, ponieważ za firmą stoi grupa ludzi, którzy specjalizują się w konkretnym obszarze. Jeżeli Twój budżet nie pozwala Ci na wybranie software house’u, dokładnie zweryfikuje powyższe umiejętności u osoby, której zlecasz realizację Twojego sklepu internetowego. Powierzenie tylu elementów jednej osobie niesie za sobą duże ryzyko, ponieważ jeśli jakiś z aspektów nie będzie zrobiony poprawnie cały projekt może ponieść porażkę. Jeśli decydujesz się na freelancera, to przede wszystkim dokładnie sprawdź jego portfolio, a jeśli to możliwe to poproś o kontakt do dotychczasowych klientów. Zwykła rozmowa telefoniczna może pomóc Ci ocenić czy osoba, której potencjalnie zlecisz realizacje nadaje się dla Ciebie.
Jeśli jednak Twój budżet pozwala na zatrudnienie firmy oraz nie chcesz przekładać całego ryzyka na jedną osobę, zdecydowanie polecamy wybranie software house’u. Jak zatem wygląda współpraca z software housem?
Często nasi klienci „po przełamaniu pierwszych lodów” zwierzają się, że obawiali się kontaktu z naszą firmą z powodu tego, że nie wiedzą, co wydarzy się dalej. Wpadną w bezduszne zakątki systemów CRM sprzedawców, którzy naciągną ich na maksymalne koszty, a następnie zadeklarują czas realizacji na wiele miesięcy. Powyższy przykład na szczęście należy do rzadkości. Jeśli decydujesz się na firmę, która zna się na rzeczy, proces ten wygląda zgoła inaczej.
Niezależnie od tego, czy tworzysz sklep internetowy, czy masz pomysł na rewolucyjny interaktywny notes, każda firma rozpoczynająca pracę na projektem IT powinna rozpocząć od zbadania Twoich potrzeb. Często jest tak, że klienci, którzy przychodzą do software house’u, mają określony projekt już na etapie realizacji. „Proszę o zrobienie strony, która zawiera A, B i C”. Zanim jednak przystąpimy do realizacji, powinniśmy zrozumieć Twoją obecną sytuację, sytuację, w której chcesz się znaleźć oraz stworzyć drogę z punktu obecnego do docelowego. No jasne, ale przecież ja chcę zwykły sklep internetowy! Oczywiście, może wydawać się to prostym zadaniem, jednakże jest wiele szczegółów które muszą być doprecyzowane. Twoja marka różni się przecież od konkurencji, ma inne mocne strony, akcentuje inne wartości. Zadaniem software house’u jest zrozumieć te aspekty oraz podkreślić te najważniejsze. Tworzenie sklepu internetowego „takiego jak inne” powoduje, że znikasz w gąszczu konkurencji. Po co klient miałby korzystać z nowego, przeciętnego sklepu, skoro na rynku jest dostępnych innych dziesięć działających już od lat?
W Rigby, w celu zrozumienia Twoich potrzeb, zaczynamy od briefu. Brief to seria krótkich pytań, które zadajemy Ci w celu poznania maksymalnie ogólnie Twojego projektu. Pozwala to określić skalę, etap, na którym się znajdujesz oraz wstępnie zdefiniować potrzeby. Brief ten służy nam za „szkielet” przy przygotowywaniu się do oceny projektu. A jak oceniamy projekt? Sprawdzamy branżę, w którą chcesz wejść, jej wielkość, aktualne rozwiązania i konkurencję. Identyfikujemy potrzeby i problemy Twoich przyszłych klientów. Wszystko to pozwala nam lepiej przygotować się do warsztatu, który jest następnym krokiem współpracy.
Warsztat jest spotkaniem między klientem a osobą odpowiedzialną za zrozumienie logiki biznesowej oraz osobą techniczną, która będzie w stanie ocenić możliwość realizacji danej funkcjonalności. Podczas tego spotkania rozpisujemy logikę biznesową projektu, jego główne założenia oraz potencjalne ścieżki użytkownika, czyli drogę, którą chcielibyśmy, żeby klient podążał, korzystając z naszej platformy. Tworzymy listę funkcjonalności, które projekt powinien zawierać, zastanawiamy się nad wartościami, które przyniosą oraz ich ważnością. Efektem tego spotkania jest ułożony zestaw funkcjonalności, które należy wprowadzić w określonej kolejności w projekcie oraz lista funkcjonalności, które można wprowadzić w przyszłości, wraz z dalszym rozwojem projektu. Mając tak przygotowaną listę funkcjonalności, możemy przystąpić do tworzenia estymacji i oferty.
Po warsztacie tworzymy ofertę, która zawiera funkcjonalności omówione na spotkaniu. Wraz z zespołem technicznym estymujemy maksymalny i minimalny czas realizacji. Wprowadzenie danej funkcjonalności może się wydłużyć z różnych powodów, których na tym etapie nie jesteśmy w stanie przewidzieć. Z tego powodu zakres godzinowy dobrze się sprawdza i pozwala ustalić margines błędu estymaty. Tak przygotowaną listę funkcjonalności wraz z ich zakresem godzinowym mnożymy razy cenę godziny pracy programisty, który realizować będzie projekt. Efektem tego jest zakres cenowy, w którym mieści się koszt wykonania projektu, biorąc pod uwagę obecne funkcjonalności. Czas ten oczywiście jest przybliżony, ponieważ wraz z realizacją projektu zmieniają się czynniki zewnętrzne oraz założenia niektórych funkcjonalności (coś możemy chcieć dodać lub zmienić w trakcie trwania projektu). Tak przygotowaną ofertę przesyłamy klientowi. Następnie, w razie jakichkolwiek wątpliwości możemy umówić się na spotkanie doprecyzowujące lub po akceptacji oferty przystępujemy do podpisywania umowy. Po podpisaniu umowy przystępujemy do realizacji!
Jak więc wygląda realizacja? W zależności od firmy, do której się zgłosisz może wyglądać to różnie. W przypadku firmy pracującej w metodologii SCRUM proces ten wygląda następująco. Jak pewnie pamiętasz, podczas warsztatu powstała lista funkcjonalności do stworzenia oraz kolejność ich wykonywania. Tworząc taką listę, automatycznie stworzyliśmy backlog projektu – listę funkcjonalności, którą należy zrealizować w projekcie. W ramach tych funkcjonalności tworzymy zadania, które zawierają już techniczne wytyczne wymagane w implementacji. Planujemy pierwszy tydzień pracy. Wybieramy które zadania będziemy robić w tym tygodniu, potwierdzamy to z klientem i przystępujemy do ich realizacji. Po pełnym tygodniu pracy umawiamy się z klientem na spotkanie demo, w którym pokazujemy mu efekty pracy z całego tygodnia, oraz potwierdzamy listę zadań na następny tydzień. Cykl ten trwa, dopóki lista zadań w backlogu nie będzie pusta. Wówczas oznacza to, że pierwszy etap projektu jest już skończony!
W projektach IT wiele elementów zmienia się każdego dnia. Funkcjonalności są dodawane, usuwane i zmieniane. Opisywane wyżej podejście pozwala dynamicznie zarządzać projektem. Klient w każdym momencie może zmienić wymagania danej funkcjonalności, a zmiany te wprowadzić możemy już do listy zadań tygodnia następnego. Daje to dużą elastyczność oraz szybki czas reakcji na zmiany. Projekty prowadzone w ten sposób mogą być nieskończenie rozwijane i ulepszane. Takie podejście do współpracy ułatwia komunikację w projekcie – zasady są klarowne, a wszelkie zmiany możliwe do wprowadzenia.
Mamy nadzieję, że dzisiejszy artykuł rozjaśnił nieco, jak wygląda współpraca z software housem. Pamiętaj, że dobrze dobrana firma nie będzie tylko bezmyślnie pisała kodu, ale również doradzała podczas realizacji całego projektu.
Do naszej firmy dołączyli Piotr i Tomasz Karwatkowie.
W świecie biznesu, szczególnie w branży IT, kontraktowanie usług i projektów to codzienność. Firmy i klienci muszą wybierać odpowiedni model współpracy...