To opowieść o tym jak dwie firmy zakochane w technologii spotkały się w celu stworzenia nowej jakości
Dlaczego jedna z najlepszych szkół programowania poszukiwała software house’u do zbudowanie produktu? Jak to się stało, że pomimo swojej wiedzy i zasobów renomowana szkoła programowania zatrudnia firmę zewnętrzną do takiego projektu? Nie możemy się doczekać, żeby podzielić się z wami tą niecodzienną historią – Coders Lab case study.
Jest to historia o dwóch firmach technologicznych pracujących nad wspólnym celem – stworzeniem znakomitego produktu cyfrowego.
Czym ten projekt różni się od projektów, którymi zazwyczaj zajmuje się GMI? Tym, że klient nie był zwykłym startupem. Coders Lab jest wiodącą szkołą dla developerów w Polsce. Więc na początku nie mogliśmy zrozumieć jak firma, która uczy programowania szuka ludzi którzy zaprogramują coś dla niej.
Interesujące? Dowiedzmy się więc, jak doszło do tego, że Coders Lab potrzebował zewnętrznego zespołu do ulepszenia swojego biznesu.
Klient
Przez ostatnie lata Coders Lab wyznaczał standardy w nauczaniu programowania. Według Forbesa są najbardziej znaną szkołą w Polsce. Od początku ich celem było przekazywanie wiedzy praktycznej i umiejętności, które były wartościowe dla przyszłych pracodawców.
Organizowali intensywne kursy programowania back-endu i front-endu (JavaScript, Python, PHP, C#, czy Java) i zapoznawali uczniów z obszarami połączonymi z branżą IT jak UX Design czy testowanie. Poprzez swoją ofertę edukacyjną opartą na realiach rynkowych, stworzyli wyraźną propozycję wartości – dając swoim studentom ogromną szansę na rozpoczęcie lub przyspieszenie kariery w branży IT.
Kiedy Coders Lab odezwali się do GMI był to szczyt ich popularności. Ponad 3 000 absolwentów, z których 82% znalazło pracę po ukończeniu kursu. Kolejnym dowodem na ich wzrost było wejście na pierwszy rynek zagraniczny – do Rumunii.
Pomimo tego, że ich apetyt rósł i planowali podbijać kolejne państwa europejskie, ich CEO – Michał Tchórzewski – był w pełni świadomy, że konkurencja nie śpi. Żeby zostać na szczycie musieli przyspieszyć.
Potrzeby biznesowe
- Po pierwsze potrzebowali nowej strony internetowej opartej na wydajnym panelu CMS dla ich działu marketingu. Marketingowcom w ich firmie brakowało prostego sposobu na dodawanie kursów.
- Po drugie ulepszony proces generowania leadów. Jest to wieczny problem większości firm działających w cyfrowym świecie.
- Po trzecie nadmiar projektów i zadań przeszkadzał ich zespołowi developerskiemu w przebudowie strony.
Żeby móc zająć wszystkim musieliby zatrudnić dodatkowych pracowników. Proces rekrutacji dobrze wyszkolonych developerów nie jest wcale taki prosty i może trwać miesiącami, więc musieli znaleźć inne rozwiązanie.
- Czas nie był ich sprzymierzeńcem. Środowisko biznesowe w jakim się znajdowali szybko się zmieniały, więc musieli działać, żeby sprostać oczekiwaniom klientów i wciąż dominować rynek. To nie tak, że nie wiedzieli jak to zrobić, po prostu nie mieli wystarczająco dużo czasu, żeby zrobić to samodzielnie.
Dlatego postanowili znaleźć partnera technologicznego, na którym mogą polegać. Takiego, który pracuje w podejściu agileowym i ma świetnie wyszkolony zespół. Doświadczony zespół mógł szybko i sprawnie stworzyć wymagany projekt i dostarczyć go na czas.
Usługi – Dlaczego Coders Lab wybrał GMI
Skoro wiemy już, dlaczego Coders Lab zdecydował się na outsourcowanie swoich usług, przyszedł czas na wytłumaczenie dlaczego zdecydowali się na współpracę z GMI Software House.
Przedstawiła następujące wymagania:
- Pierwsze wrażenie – jest to bardzo ważny czynnik w decyzji zakupowej, zwłaszcza w środowisku B2B. Zaskoczyliśmy Coders Lab naszym szybkim czasem odpowiedzi i gotowością stworzenia wymaganego zespołu w czasie dwóch tygodni.
- Technologia. Jako że sami znają się na programowaniu, doskonale wiedzieli w jakim języku powinien być napisany ich projekt. A jeszcze dokładniej – w jakich frameworkach. Szukali software house, który pracuje w Reac i Symfony.
- Sposób zarządzania Coders Lab też był specyficzny. Chcieli pracować w modelu, który byłby rozszerzeniem ich wewnętrznego zespołu developerskiego. Znaczyło to, że osoby spoza firmy miały zostać ich pracownikami. Dzięki temu nasi developerzy mogli wesprzeć istniejący zespół swoim doświadczeniem i umiejętnościami.
Jedną z wielu zalet GMI było to, że nasi developerzy byli już doświadczeni w takim modelu współpracy. Gwarantowało to szybkie osiągnięcie pozytywnych rezultatów.
Kolejnym plusem była forma współpracy. Przypisanie zespołu w pełnym wymiarze godzin do jednego projektu pozwala mu na skupienie się wyłącznie na produkcie i potrzebach klienta. Dzięki temu klient otrzymuje świeżą energię i zaangażowanie developerów w projekt.
- Metodologia Agile. Coders Lab oczekiwał wyników na najwyższym poziomie i gotowości na zmianu. Jako że GMI od długiego czasu pracuje w tej metodologii naturalne było, że będziemy świetnym partnerem.
Obie strony były niezwykle zaangażowane w prawidłowe zaplanowanie projektu i precyzyjne określenie, ile czasu będzie zajmować każda funkcja
Jak przeprowadziliśmy projekt?
Tak jak wspomnieliśmy wcześniej, metodologia Agile była podstawą naszej współpracy i pozwoliła nam na transparentność i komunikację w czasie rzeczywistym.
W praktyce wyglądało to tak:
Coders Lab mianowało swojego managera członkiem zespołu. Każdego dnia pracował z naszym zespołem nad stworzeniem możliwie najlepszego produktu cyfrowego.
Czy działo się to w siedzibie klienta?
Złota era pracy zdalnej
Możesz sobie wyobrazić koszty goszczenia dodatkowego zespołu w swoim biurze. Najlepszą częścią tego projektu było to, że odbywał się on w pełni online. Jako że pracujemy zdalnie już od dłuższego czasu używaliśmy Trello do nadzoru zadań, a Google Meet do spotkań.
Ale to nie wszystkie narzędzia z jakich korzystaliśmy. Do stworzenia backlogu produktu użyliśmy StoriesOnBoard, które pomogło nam zbudować zakres prac i odnaleźć priorytety. Po rozpisaniu wszelkich historyjek użytkowników na tablicy byliśmy gotowi przenieść je w formie tasków na Trello.
W kwestii samego kodu użyliśmy naszego repozytorium na Bitbucket. Dla serwerów testowych użyliśmy Digital Ocean. Dzięki temu narzędziu mogliśmy zmniejszyć czas spędzony na pracach DevOpsowych i przeznaczyć go na tworzenie kodu.
Sztuka sprintów
Pomimo tego, że większość sprintów trwała dwa tygodnie, nie trzymaliśmy się w tej kwestii sztywnych zasad. Kiedy widzieliśmy możliwe zagrożenia był to sygnał na zmianę długości sprintu wraz z klientem.
Zarządzanie zagrożeniami było tu bardzo ważne. Kiedy członek zespołu zauważał ryzykowny element w naszym backlogu, znaczyło to, że ciężko będzie wyestymować czas pracy jaki musi na to poświęcić. Rozwiązanie? Zorganizowanie eksperymentu, w którym przetestujemy działanie danej funkcji i nasze możliwości techniczne. Finalnie spędziliśmy kilkanaście godzin na testowaniu, które zredukowało nam zagrożenia.
W najgorszym przypadku musielibyśmy ponownie zdefiniować założenia jednego z najważniejszych elementów aplikacji czyli zarządzania kursami online. Na szczęście dzięki naszym testom nie musieliśmy tego robić.
Praca w liczbach:
- Siedem sprintów
- Każdy z nich trwał około 150 h
- Nad każdym sprintem pracowało przez dwa tygodnie dwóch developerów
Scrum jako narzędzie
Metodologia Scrum była świetnym wyborem na stworzenie tego produktu. W każdym momencie Coders Lab mógł zweryfikować postęp projektu i porównać go z pierwotną wizją produktu.
Pomimo tego, że klient był przywiązany do pierwotnej wizji produktu życie zweryfikowało nasze plany. Wizja rozwijała się przez cały czas trwania projektu, ale były to zmiany na plus.
Dodatkowo dzięki podejściu Agile nasi developerzy mogli pomóc klientowi w ocenie możliwości zmian poszczególnych funkcjonalności. Klient nigdy nie został pozostawiony sam sobie w celu podjęcia decyzji.