Dołącz do czytelników
Brak wyników

Nowoczesne technologie

26 listopada 2019

NR 9 (Grudzień 2019)

Kiedy warto wynająć software house?

0 13

Żyjemy w świecie napędzanym technologią. Nieważne, czy Twoja firma to start-up, małe, średnie czy duże przedsiębiorstwo, ponieważ kiedy Twój produkt i Twoja działalność potrzebują rozwiązania programowego, staniesz przed decyzją, gdzie i jak je zbudować. Opcje są trzy: możesz stworzyć go we własnym zakresie, wynająć freelancera lub zdecydować się na współpracę z software house’em. O tym, kiedy i dlaczego warto wynająć software house oraz jak wygląda współpraca na linii software house – Twoja firma, rozmawiamy z Jędrzejem Fularą, CTO w Sparkbit.

Czym jest software house? 

Jędrzej Fulara: Software house to firma, która specjalizuje się w tworzeniu i rozwoju oprogramowania na potrzeby zarówno klientów indywidualnych, jaki i biznesowych. Oprogramowania różnego rodzaju, ponieważ mogą to być zarówno strony lub sklepy internetowe, jak i aplikacje mobilne, usługi (SaaS) czy też skomplikowane dedykowane systemy dla firm itp. Przewagą tego typu firm jest ich kompleksowe podejście – dostajemy nie tylko doświadczony technologicznie zespół, który jest w stanie stworzyć oprogramowanie całkowicie szyte na miarę, dostosowane do wymogów i potrzeb klienta, ale przede wszystkim zespół, który jednocześnie zapewnia pełne wsparcie techniczne, technologiczne oraz doradztwo strategiczne na każdym etapie tworzenia produktu, edycji i wprowadzania zmian do systemu. Więc gdy mamy pomysł i chcemy go wdrożyć, ale nie jesteśmy pewni, jak powinniśmy to zrobić, to zespół software house’u będzie w takim momencie niezwykle pomocny.

Mamy pomysł na oprogramowanie i co dalej? Dlaczego warto rozważyć outsourcing, a nie tworzyć je w ramach własnej firmy?

J. F: Rzeczywiście zdarza się, że outsourcingowy projekt IT może budzić pytania i wątpliwości związane z tym, czy jest to akurat najlepsze rozwiązanie dla mnie. Gdy zastanawiamy się, czy wynająć software house, powinniśmy najpierw zadać sobie pytanie: Czy jestem w stanie zrobić to samodzielnie? Przygotujmy sobie listę plusów i minusów przy każdej z opcji. Z mojego doświadczenia wynika, że zdecydowanie częściej okazuje się, że więcej plusów pojawia się za współpracą z software house’em. Doświadczenie i wiedza technologiczna, redukcja kosztów, oszczędność czasu, która daje możliwość szybszego wprowadzenia produktu na rynek, dostęp do ekspertów z szeroką gamą języków programowania, mniejsze ryzyko błędów, które przekłada się na łatwiejsze zarządzanie ryzykiem, doradztwo fachowych ekspertów – to tylko niektóre z zalet takiej współpracy. 

Może Pan to bardziej rozwinąć?

J. F: Załóżmy więc, że zdecydowaliśmy się przełożyć nasz pomysł na realny produkt i potrzebujemy osób, które wprowadzą naszą wizję w życie. Stworzenie odpowiedniego zespołu w ramach swojej firmy wymaga czasu i wiąże się też z określonymi kosztami. Jeśli zależy nam na tym, aby nie marnować czasu na poszukiwanie odpowiednich talentów technologicznych, to zdecydowanie warto zwrócić się do software house’u, który może szybko zebrać dla nas doświadczony zespół programistów. Tu warto zwrócić też uwagę na koszty pracy. Jeśli tworzymy wewnętrzny zespół, to musimy liczyć się z tym, że w sytuacji, gdy przy naszym projekcie nie będzie odpowiedniej ilości pracy dla danego specjalisty, to będzie on siedział bezproduktywnie lub będzie musiał zająć się czymś, co nie leży w jego zakresie kompetencji – a to nigdy nie jest dobrym rozwiązaniem. Jeśli więc potrzebujemy 20% czasu UI designera, to zdecydowanie nie opłaca się nam zatrudniać go na cały etat. W takim przypadku outsourcing jest zdecydowanie korzystniejszy. Właściwie software house nie tylko zapewnia zespół doświadczony w pracy nad różnymi zadaniami, ale też odpowiednio go dostosowuje do potrzeb naszego projektu, aby maksymalnie zoptymalizować czas pracy nad oprogramowaniem. Zespół taki, dzięki dostępowi do know-how i pracy nad podobnymi projektami, zwykle jest bardziej kompetentny w wyborze odpowiedniego stosu technologicznego. Oznacza to, że nasze oprogramowanie ma szansę powstać szybciej, przy użyciu najlepiej dopasowanej technologii, a dzięki temu być też łatwo skalowane i konserwowane. Łatwiej jest też zarządzać ryzykiem. Jeśli zamawiamy oprogramowanie w firmie zewnętrznej, to ona jest odpowiedzialna za dostarczenie gotowego produktu w określonym czasie i na ustalonych w umowie zasadach. Każdy etap tworzenia i rozwoju jest przez nią odpowiednio monitorowany i zarządzany, co przekłada się na zmniejszenie ryzyka wadliwego oprogramowania lub opóźnień we wprowadzeniu go na rynek. Zaletą wynajmu software house’u jest także wspólne doświadczenie i wiedza grupy programistów, a nie tylko jednej osoby. Taki zespół łatwiej i szybciej rozwiąże problemy, jakie pojawią się na etapie tworzenia naszego produktu. My w tym czasie możemy się skupić na naszym biznesie, przygotowaniu kampanii marketingowych czy planowaniu wprowadzenia oprogramowania na rynek.

Jak wygląda współpraca na linii software house – firma? 

J. F: My zawsze model współpracy dostosowujemy do konkretnych potrzeb danej firmy i projektu, który mamy wykonać. Czasem tworzymy wspólny zespół ze specjalistami firmy i razem pracujemy nad stworzeniem oprogramowania, innym razem całość pracy jest po naszej stronie i to my w pełni przygotowujemy zamówione rozwiązanie. Bardzo ważne jest, żeby utrzymać stałą komunikację i właściwy przepływ informacji na każdym etapie tworzenia oprogramowania. Ułatwia to praca w metodykach zwinnych Scrum czy Kanban. Dzięki takiemu zarządzaniu projektami często dostajemy feedbacki i dostosowujemy się do nowych wymagań, a klient wie, na jakim etapie jest aktualnie praca. Dzięki temu zespół jest metodycznie przygotowany do wspierania przedsięwzięć i współpraca przebiega dużo sprawniej. Proces tworzenia zaawansowanych aplikacji jest złożony i wymaga doświadczonych specjalistów. Najważniejsze jest jednak poznanie klienta, jego potrzeb oraz funkcji produktu – tego w jakim celu i po co powstaje.

Jak wygląda proces tworzenia oprogramowania? 

J. F: Zamykając to w kilku prostych krokach, to: po pierwsze – najważniejsze jest zidentyfikowanie potrzeby, przeanalizowanie jej i dobranie kierunków oraz rozwiązań, które będą najlepsze. Po drugie – zaprojektowanie oprogramowania i przetestowanie go pod kątem problemów. Przekładając to na bardziej szczegółowe działanie, to wygląda to mniej więcej tak, że pierwszym krokiem jest spotkanie z firmą i poznanie wizji, pomysłu, który chce ona zrealizować. Następnie siadamy z zespołem i rozkładamy to na poszczególne fazy, etapy i wyceniamy. Mówimy, ile czasu to zajmie, w jakich technologiach i jak to najlepiej zrobić. Jest to zatem wstępne oszacowanie czasowe i cenowe. Jeśli firma mówi: ,,OK, robimy”, to następnym krokiem jest wybór zespołu. Zakładając, że jest to np. aplikacja, która ma interfejs użytkownika, to wtedy taki zespół po stronie software house’u może się składać z: Team Leadera/Product Managera, UI Designera, Developerów Front-end i Back-end, Testerów. Mając kompletny zespół, określamy ramy pracy. Cała praca nad projektem dzielona jest na sprinty. Sprint jest to krótki cykl, który ma...

Pozostałe 70% treści dostępne jest tylko dla Prenumeratorów

Co zyskasz, kupując prenumeratę?
  • 6 wydań magazynu "MŚP Biznes"
  • Dodatkowe artykuły niepublikowane w formie papierowej
  • Dostęp do czasopisma w wersji online
  • Dostęp do wszystkich archiwalnych wydań magazynu oraz dodatków specjalnych
  • ...i wiele więcej!
Sprawdź

Przypisy