Jan 31

ShipIt Week hackathon w SoftwarePlant – relacja z piątej edycji

Na trzy tygodnie przed końcem roku, SoftwarePlant nie zwalnia tempa. Od 13 do 20 grudnia, już po raz piąty odbył się nasz regularny, wewnętrzny ShipIt Week hackathon. Tym razem o zwycięstwo walczyły trzy drużyny.

Piąta edycja ShipIt week hackathon w SoftwarePlant

Do ostatniego w 2019 roku hackathonu SoftwarePlant przystąpiło pięć zespołów: Cloud, One to Link Them All, Resources, SoftwarePlant High Impact Tool i UI Performance Test.

Łukasz, Team Leader drużyny One to Link Them All, podczas prezentacji SoftwarePlant ShipIt Week hackathon #5 demo

Zespół One to Link Them All zdecydował się na znaczne usprawnienie performance’u Gantta, dzięki któremu użytkownik jest w stanie wyświetlić na jednym ekranie aż pół miliona tasków i tyle samo linków. Wcześniej było to odpowiednio 50 tysięcy tasków i linków. Ponadto, zespół opracował tzw. funkcjonalność high level view, w której linki przestają być widoczne, a relacje pomiędzy taskami określone są jedynie liczbowo. Użytkownik uzyskał w ten sposób lepszy podgląd na strukturę najbardziej złożonych projektów. W trakcie ShipIt Week zespół po raz kolejny powiększył także bibliotekę generycznych komponentów, poprzez dodanie funkcjonalności prawokliku.   

Od strony technologii skupiliśmy się na wykorzystaniu narzędzi Chrome. Zoptymalizowaliśmy działanie Gantt’a pod kątem maszyny wirtualnej JavaScript’u jaką ma Chrome. Performance usprawniliśmy na podstawie dostarczonych z Chroma profilów – komentuje Łukasz Pawełczak, Team Leader drużyny One to Link Them All. 

Zespół High Impact Tool postanowił opracować narzędzie diagnostyczne do monitorowania wydajności stosowanych rozwiązań. 

Dmytro z drużyny High Impact Tool, podczas prezentacji SoftwarePlant ShipIt Week hackathon #5 demo

Po pierwsze opracowaliśmy gauge, czyli metryki mierzące bieżący poziom zużycia danych przez użytkownika, w tym. poziom wykorzystania cache’y, ilość używanych jobów, ilość tasków i linków. Po drugie opracowaliśmy mechanizm diagnozowania scheduling’u, dzięki któremu można szczegółowo prześledzić wszystkie zmiany na projekcie wywołane przez edycję dowolnego taska – tłumaczy Marcin Haręza, z drużyny High Impact Tool. – W projekcie wykorzystaliśmy Javę, Springa, Angulara, Chart.js i Dropwizard Metrics.

Dla Alberta z zespołu High Impact Tool był to pierwszy hackathon ShipIt Week w SoftwarePlant. Bardzo podoba mi się to, że zespół może samodzielnie wymyślić nową funkcjonalność i że ten projekt ma realną szansę wejść na produkcję – komentuje Albert. – Podoba mi się także to, że przy okazji ShipIt Week mam okazję pracować z ludźmi z innych zespołów i lepiej się z nimi poznać. 

Janek, Team Leader drużyny UI Performance Test, podczas prezentacji SoftwarePlant ShipIt Week hackathon #5 demo

Projekt zespołu UI Performance Test dotyczył refaktoryzacji i polepszenia tzw. developer experience narzędzia do przeprowadzania testów wydajnościowych aplikacji. 

Dodaliśmy możliwość uruchomienia testów za pomocą pliku. Dzięki temu deweloperzy mogą z nich korzystać lokalnie podmieniając wartości w JSON. Wcześniej trzeba było przeglądać kod źródłowy i zmieniać wartości w samym kodzie. Wyniki testów uruchamianych lokalnie są drukowane na konsolę i dodawane do bazy BigQuery na użytek wewnętrzny SoftwarePlant. Ponadto, poprawiliśmy obsługę wyjątków. Dzięki temu wiadomo jaki test i na jakiej stronie naszej wtyczki się nie powiódł. – tłumaczy Marcin Budziński z drużyny UI Performance Test. – Jest to narzędzie napisane w TypeScript. Założeniem było, aby testy zdefiniowane w narzędziu można było uruchamiać przez Jest. Dzięki temu te testy mogą być definiowane w taki sposób, w jaki definiuje się frontendowe testy w Karmie. 

Dla Marcina to także był pierwszy ShipIt Week od czasu rozpoczęcia współpracy z SoftwarePlant – Świetna inicjatywa, dzięki której miałem okazję podszkolić się w TypeScript – dodaje Marcin.

Ze względu na bardzo ambitne plany rozwoju produktów, zespoły Cloud i Resources zdecydowały, że w ramach hackathonu będą realizować wcześniej już zaplanowane na ten miesiąc zadania deweloperskie. Obydwa zespoły wzięły udział zarówno w kick-offie, jak i w prezentacji demo, ale postępy ich prac nie zostały ocenione w ramach konkursu.

Zwycięzcy piątej edycji ShipIt week hackathon

W piątej edycji Sheep Squad postanowił nagrodzić wszystkie trzy zespoły, które przystąpiły do konkursu: One to Link Them All, High Impact Tool oraz UI Performance Test. Wszystkie projekty zostały ukończone na czas i podczas piątkowego demo były gotowe, aby wejść na produkcję. Sheep Squad docenił przede wszystkim użyteczność zaproponowanych rozwiązań. 

Tym razem motywem przewodnim wręczenia nagród i integracji był Wiedźmin. Na ten jeden wieczór siedziba firmy zmieniła się w najlepszą oberżę w mieście, w której odbyła się nasza autorska wersja Próby Traw, czyli pasowanie zwycięzców ShipIt Week’u na Wiedźminów SoftwarePlant.

Ceremonię poprowadziły Ciri z Łódzintry i Yennefer z Varszawobergu – na co dzień znane jako Ola i Marta z zespołu UX/UI SoftwarePlant.

 

Dodatkowe nagrody zostały przyznane osobom, które pokonały babę wodną w quizie wiedzy zorganizowanym podczas Próby Traw.

Po rozdaniu nagród, nie zabrakło tradycyjnej integracji przy dymiących, wiedźmińskich eliksirach.

Zasady hackathonów ShipIt Week w SoftwarePlant

Hackathony ShipIt Week odbywają się w SoftwarePlant regularnie co dwa miesiące i uczestniczą w nich wszyscy członkowie zespołów deweloperskich. Celem hackathonów jest stworzenie nowych funkcjonalności dla produktów SoftwarePlant, całkowicie według własnych pomysłów. 

Przez cały okres trwania ShipIt Week’u, zespoły deweloperskie mogą liczyć na pomoc zespołu UX/UI przy projektowaniu swoich rozwiązań, a także wsparcie zespołu DevOps, który dba o bezproblemowe działanie infrastruktury. Na zaprojektowanie, kodowanie i przetestowanie swoich rozwiązań deweloperzy mają tydzień.

ShipIt Week tradycyjnie podzielony jest na cztery etapy:

  • piątkowy kick-off, podczas którego każda drużyna krótko prezentuje swój pomysł;
  • początek pracy od poniedziałku;
  • checkpoint w środę;
  • piątkowa prezentacja demo wszystkich rozwiązań, połączona z integracją.

O prawidłowy przebieg hackathonu i wybór zwycięzców dba tzw. Sheep Squad, składający się z przedstawicieli zespołów Product Management, UX/UI oraz CEO, CTO i COO SoftwarePlant.

About The Author

Weronika Wotawa - Employer Branding & Recruitment Manager