Kod

Scrumy, memy i pokonywanie chaosu: jak działa pierwszy międzyzespołowy program dyplomowy Skillbox

Scrumy, memy i pokonywanie chaosu: jak działa pierwszy międzyzespołowy program dyplomowy Skillbox

Bezpłatny kurs Pythona ➞ Mini kurs dla początkujących i doświadczonych programistów. 4 ciekawe projekty w portfolio, komunikacja na żywo z prelegentem. Kliknij i dowiedz się, czego możesz się nauczyć na kursie.

Dowiedz się więcej

W maju 2021 roku Skillbox wprowadził nowy format dyplomu zespołowego z programowania w Javie, w którym programiści front-end, back-end i testerzy współpracują nad jednym projektem. Omówiliśmy wyniki tego eksperymentu z kierownikiem zespołu pilotażowego dyplomu, Kirillem Koshaevem, oraz uczestnikami: Markiem Nalimovem, Marią Alekseevą i Olegiem Prokhorovem.

Jak to było z dyplomami wcześniej

Wcześniej zespoły pracujące nad projektami dyplomowymi z programowania w Javie były tworzone wyłącznie ze studentów zapisanych na ten kurs, co oznaczało, że zaangażowani byli tylko programiści back-end. Często jednak brakowało im umiejętności niezbędnych do pełnej modyfikacji komponentu front-end lub administrowania serwerem, na którym wdrożono projekt dyplomowy. Ograniczało to możliwość wdrażania bardziej złożonych i funkcjonalnych rozwiązań, podkreślając wagę interdyscyplinarnego podejścia do rozwoju. Integracja specjalistów z doświadczeniem w programowaniu front-end i administrowaniu serwerami mogłaby znacząco poprawić jakość projektów dyplomowych i podnieść kompetencje studentów.

Kierownik zespołu projektowego, Kirill Koshaev, podkreśla, że ​​sytuacja zespołu odzwierciedla rzeczywiste warunki pracy. W rzeczywistości programista nie zawsze posiada od samego początku całą niezbędną wiedzę i umiejętności – musi się stale uczyć i dostosowywać. Ten zespołowy format dyplomu skutecznie rozwija ważne umiejętności miękkie, takie jak wyszukiwanie i przyswajanie informacji, które są integralną częścią rozwoju zawodowego w dziedzinie programowania.

Długotrwałe poszukiwanie rozwiązań problemów powodowało dyskomfort i negatywnie wpływało na motywację.

Format dyplomu z programowania w Javie uległ zmianie.

Jak jest teraz

Pomysł stworzenia dyplomu interdyscyplinarnego był długo dyskutowany przez instruktorów i producentów Skillbox. W maju tego roku zespół specjalistów połączył siły, aby wdrożyć tę koncepcję. Producent Oleg Sadovnikov zajął się kwestiami organizacyjnymi, a Kirill Koshaev, lider zespołu ds. dyplomów grupowych w programie „Java Developer PRO” i autor kursu „Spring Java Framework”, został liderem zespołu programistów, zapewniając efektywne zarządzanie projektem i jego koordynację. Ta współpraca podkreśla znaczenie synergii między dyscyplinami i obszarami studiów, umożliwiając tworzenie bardziej kompleksowych i pożądanych programów edukacyjnych.

Skillbox oferuje szeroki wachlarz kursów, które tworzą kompleksową infrastrukturę dla efektywnych zespołów programistów. Kluczowe obszary obejmują backend, frontend i testowanie. Aby zintegrować projekt pracy dyplomowej, postanowiono zaangażować studentów z kursu Java, a także studentów z kursów „Vue.js Framework” i „Automated Testing in Java”. Stwarza to synergię między dyscyplinami i poprawia jakość produktu końcowego.

W maju tego roku, pod jego kierownictwem, powstał pierwszy zespół, składający się z programistów backend i frontend oraz testerów. Rozpoczęli oni pracę nad projektem sieci społecznościowej. Projekt ten daje wszystkim członkom zespołu możliwość zastosowania swojej wiedzy i umiejętności w praktyce. Sieć społecznościowa jest dla większości osób bardziej zrozumiałą koncepcją niż sklep internetowy, który wymaga dogłębnego zrozumienia różnych logik biznesowych. To sprawia, że ​​projekt jest wyjątkowy i angażujący, pozwalając każdemu członkowi zespołu przyczynić się do stworzenia intuicyjnego i funkcjonalnego produktu.

Rozwój sieci społecznościowych: Pokonywanie chaosu i znajdowanie wspólnego gruntu

VKontakte posłużyło za punkt odniesienia, ale zespół zintegrował również szereg unikalnych pomysłów. Programista front-end Mark Nalimov opracował unikalną paginację dla kanału aplikacji, która różni się od znanych kanałów na VKontakte i Facebooku. Inne innowacyjne rozwiązania obejmują możliwość tworzenia postów, które nie są wyświetlane w ogólnych wynikach wyszukiwania, co jest rzadkością na nowoczesnych platformach społecznościowych. Konwersacje można również podzielić na wiadomości osobiste i grupowe, podobnie jak w Telegramie. Dodatkowo opracowano system punktacji za interesujące i pouczające posty, zachęcający użytkowników do tworzenia wysokiej jakości treści. W przeciwieństwie do VKontakte, gdzie punkty można kupić za pieniądze, w naszej aplikacji są one przyznawane na podstawie aktywności i interakcji użytkowników.

Nazwa sieci społecznościowej ZERONE, pomimo swojej tajemniczości, nie jest szczególnie znacząca. Kirill z uśmiechem zauważa: „To tylko nazwa dla samej nazwy”. ZERONE tworzy wyjątkową atmosferę, przyciągając użytkowników swoim brzmieniem i stylem.

Zespół wykorzystał metodologię SCRUM do organizacji pracy. Trzymiesięczny cykl rozwoju został podzielony na dwutygodniowe sprinty. Na początku każdego sprintu uczestnicy spotykali się online, aby przeanalizować aktualny stan projektu i opracować plany na kolejne dni. „Omówiliśmy oczekiwania potencjalnych użytkowników i podzieliliśmy ich na konkretne zadania techniczne” – opowiada Kirill. Zespół organizował również codzienne spotkania scrumowe, aby omówić zadania wykonane danego dnia, zaplanować pracę na kolejny dzień i zająć się pilnymi problemami. Takie podejście ułatwiło efektywne zarządzanie projektem i usprawniło komunikację w zespole.

Ważnym aspektem udanej pracy zespołu jest ustalenie terminu codziennych scrumów na pierwszym spotkaniu. Jak wyjaśnia Kirill, decyzja ta wynika nie tylko z metodologii, ale również z ograniczeń fizycznych, ponieważ członkowie zespołu znajdują się w różnych strefach czasowych i mają różne warunki życia. Wstępnie ustalony harmonogram pomaga zgromadzić wszystkich w tym samym czasie, minimalizując dodatkowy wysiłek i usprawniając komunikację. To sprzyja efektywniejszej pracy i zwiększa produktywność zespołu.

Pod koniec sprintu odbywa się kolejne spotkanie, tzw. rollout. Na to wydarzenie zapraszani są goście, zazwyczaj instruktorzy kursu i pracownicy Skillbox. Format spotkania jest całkowicie otwarty: każdy pracownik platformy edukacyjnej może dołączyć i zadać zespołowi dowolne pytania. Po wdrożeniu proces rozpoczyna się od nowa: planowanie kolejnego sprintu, codzienne spotkania scrum i kolejne wdrożenie. Takie podejście zapewnia przejrzystość pracy zespołu i sprzyja efektywnej wymianie wiedzy i doświadczeń.

ZERONE media społecznościowe

Kirill uważa, że ​​najtrudniejszym etapem w rozwoju zespołu są pierwsze dwa Sprinty. W tym okresie członkowie zespołu nie znają się nawzajem i nie mają pojęcia o umiejętnościach swoich kolegów. Początkowo zespół słabo orientuje się w projekcie i ma trudności ze wspólnym tworzeniem commitów do repozytorium. Metodologie zespołów mogą się znacznie różnić i nie ma jednolitego podejścia do commitów. Możemy jednak zapewnić studentom podstawową wiedzę na temat komunikacji w zespole i procesu rozwoju zespołu. Pomoże im to szybciej się zaadaptować i nawiązać efektywną współpracę. Programista back-endu Oleg Prokhorov zauważa, że ​​początkowe różnice w metodologii powodowały pewien chaos w zespole. Jednak z czasem członkowie zespołu zdołali się samoorganizować i osiągnąć wzajemne zrozumienie, co pozytywnie wpłynęło na efektywność projektu. Doświadczenie Olega pokazuje, jak ważna jest komunikacja i adaptacja zespołu dla pomyślnej realizacji zadań back-endu.

Strona rejestracyjna ZERONE

O zadaniach lidera zespołu: dodaj szczyptę zabawy i memów do procesu

Zespół Zadaniem lidera jest nie tylko nauczanie studentów programowania, ale także tworzenie spójnego zespołu osób, które wcześniej się nie znały. Aby osiągnąć ten cel, lider zespołu wyznacza cele związane przede wszystkim z psychologią, a nie tylko aspektami technicznymi. Ważne jest określenie typów osób pracujących w zespole i na tej podstawie prawidłowy podział obowiązków. Pozwoli to stworzyć harmonijną atmosferę pracy i zwiększyć efektywność wspólnych działań.

Nie zaleca się łączenia choleryków i flegmatyków. Cholerycy mogą szybko popadać w irytację, podczas gdy flegmatycy nie zawsze to odpowiednio postrzegają, co prowadzi do konfliktów i niskiej produktywności. Ważne jest, aby wykorzystać inteligencję emocjonalną do stworzenia harmonijnego zespołu, w którym członkowie mogą skutecznie współdziałać i osiągać wysokie wyniki. Zrozumienie cech osobowości każdej osoby pomoże w tworzeniu optymalnych par i grup, które sprzyjają udanej współpracy.

Kirill podkreśla znaczenie tworzenia komfortowej atmosfery w zespole, wykraczającej poza same zadania służbowe. Uważa, że ​​należy unikać zbyt formalnych sytuacji i dodawać element zabawy do codziennej pracy. Na przykład wysyłanie memów i profesjonalnych życzeń świątecznych na czacie pomaga wzmocnić ducha zespołu i stworzyć bardziej przyjazną atmosferę pracy.

Podstawową zasadą efektywnej pracy zespołowej jest to, że im lepiej członkowie zespołu się rozumieją, tym bardziej produktywna i skoordynowana będzie ich wspólna praca. Ugruntowane relacje i wzajemne zrozumienie między członkami zespołu przyczyniają się do wzrostu ogólnej efektywności i osiągania celów.

Spójność zespołu często odgrywa kluczową rolę w pokonywaniu sytuacji kryzysowych. „W pierwszych dwóch sprintach przejąłem wszystkie zadania front-endowe, ponieważ pozostali front-end developerzy byli zajęci innymi projektami. Nie było łatwo, ale rezultat był lepszy, niż się spodziewałem – dzięki zaangażowaniu moich kolegów z back-endu, wiele moich decyzji było możliwych do podjęcia” – mówi Mark. To doświadczenie podkreśla znaczenie pracy zespołowej i wzajemnej pomocy w osiąganiu wspólnych celów.

Kierownik zespołu projektowego Kirill Koshaev

Stereotypy, że trudniej jest budować pracę zespołową Online niż w biurze nie zawsze są prawdą. W rzeczywistości współpraca w przestrzeni wirtualnej może być jeszcze bardziej efektywna. Czatowanie daje możliwość rozważenia każdego słowa, co pomaga w jaśniejszym formułowaniu myśli. Ten aspekt jest kluczowy dla udanej pracy zespołowej, ponieważ pomaga uniknąć nieporozumień i sprzyja bardziej produktywnej współpracy.

W ciągu trzech miesięcy ciągłej interakcji grupa studentów przekształca się w zgrany zespół. Grupa Kirilla była pierwsza, ale teraz istnieje kilka projektów międzyprzedmiotowych, nadzorowanych jednocześnie przez pięciu liderów zespołów. Kirill zauważa: „Ciekawie jest obserwować, jak różni specjaliści zarządzają swoimi zespołami. Uczestniczymy w prezentacjach innych grup, uczestniczymy w wdrożeniach innych grup i staramy się dzielić doświadczeniami”. Taka współpraca nie tylko wzmacnia ducha zespołowego, ale także sprzyja wymianie wiedzy i umiejętności, czyniąc naukę bardziej efektywną i angażującą.

"Uczniowie zaczynają myśleć na poziomie zadania produktowego"

Obrona pracy dyplomowej odbywa się w formie prezentacji projektu przed klientami, reprezentowanymi przez nauczycieli. Portal społecznościowy ZERONE otrzymał pozytywną ocenę komisji, ale uczestnicy projektu podkreślili, że główną wartością nie były oceny, ale nowe podejście do projektów edukacyjnych i rozwoju. Praca dyplomowa zespołu przyczynia się do zmiany postrzegania procesu edukacyjnego: uczniowie odchodzą od tradycyjnego modelu „praca domowa – ocena” na rzecz myślenia skoncentrowanego na rozwiązywaniu rzeczywistych problemów produktowych. „Mamy przed sobą konkretne zadanie i nasz zespół musi określić, jak je skutecznie rozwiązać” – komentuje Kirill.

Głównym celem pracy zespołowej jest stworzenie modelu rzeczywistej sytuacji zawodowej, który pomoże studentom przygotować się do poważnych projektów zespołowych. Sądząc po opiniach, cel ten został osiągnięty. „Odniosłem nawet wrażenie, że w projekcie szkoleniowym działo się o wiele więcej niż w mojej obecnej pracy, mimo że nasz zespół szkoleniowy był znacznie mniejszy” – dzieli się swoim doświadczeniem Mark.

Niestety, niektóre pomysły pozostały niezrealizowane. Nie udało nam się stworzyć w pełni funkcjonalnego czatu i zaplecza dla administratora ani zaimplementować przydatnych funkcji, takich jak licznik znaków w formularzu opinii. Udało nam się jednak z powodzeniem wdrożyć wiele innych funkcji, w tym pełną lokalizację, atrakcyjne animowane ikony polubień i niepolubień oraz kilka konfiguracji do lokalnego i zdalnego rozwoju. Wdrożyliśmy również metodę zaplanowanego uruchamiania i wiele innych przydatnych funkcji.

Pomimo faktu, że ZERONE nie jest łatwym projektem do konkurowania z nowoczesnymi sieciami społecznościowymi, zespół projektowy nie planuje jego zamknięcia. Stworzyli dokument, w którym zebrali pomysły na ulepszenie sieci społecznościowej, zawierający już siedem propozycji. Programistka back-endu Maria Alekseeva mówi: „Okresowo przeglądam kod i aktualizuję go, jeśli znajdę coś nieodpowiedniego. To dla mnie hobby i sposób na samoocenę”. Oleg dodaje: „Postawiliśmy sobie za cel nie tworzenie oprogramowania dla wygody, ale dla poprawności, tak jak w prawdziwych projektach. W rezultacie praca została ukończona na wysokim poziomie”. Zespół ZERONE nieustannie dąży do udoskonalania swojej platformy, co może przyciągnąć nowych użytkowników i zwiększyć jej konkurencyjność.

Osobiste konto administratora w ZERONE

Utalentowani studenci przyciągają uwagę nie tylko kolegów z klasy, ale także nauczycieli. Kirill, dyrektor techniczny w firmie opracowującej systemy transakcyjne, aktywnie monitoruje postępy swoich studentów. Obiecuje wziąć pod uwagę ich potencjał podczas tworzenia nowego zespołu, co otwiera dodatkowe możliwości rozwoju zawodowego i zawodowego.