Połową sukcesu ukończenia projektu jest organizacja pracy. Musisz wypracować pewne mechanizmy, które będą utrzymywały twój projekt w harmonii. Podzielę się z tobą swoimi doświadczeniami.

Agile

Zwinne zarządzanie projektem jest dziś bardzo modne. Ma swoje zalety z których warto skorzystać. Nie jesteśmy w stanie zaimplementować pełnego procesu, który proponuje nam np. scrum guid. Sam przeznaczałem na prace maksymalnie kilka godzin w tygodniu. Ograniczeniem jest oczywiście czas i inne obowiązki. Musimy być tego świadomi. Dopasujemy, więc scruma do własnych potrzeb i możliwości.

Daily scrum

Nie warto robić narzutu, które nie dadzą większego efektu. Na przykład można założyć codzienne spotkania -„daily scrum”. Dobrze, ale po co? Poświęcasz tygodniowo na pracę nad projektem ok 8 h czy naprawdę spotkania tak często mają sens? Czy ostatecznie nie okaże się, że tylko raz w tygodniu masz coś do oddania do repozytorium? W moich projektach jedno spotkanie w tygodniu wystarczyło.

Sprint

Zazwyczaj jedna iteracja według Scrum Guid’a trwa 2 lub 4 tygodnie. Zakładam, że twój zespół liczy 4 osoby. Czy jesteś w stanie ze swoją drużyną w 64 roboczych godzinach skończyć coś sensownego, jedną w pełni działającą część aplikacji? Z mojego doświadczenia wynika, że nie. Nie wyznaczaj sprintów zbyt krótkich. Weź pod uwagę dużo zagrożeń: niespodziewane kolokwium, sesja poprawkowa inne obowiązki. Pamiętaj nadal jesteś studentem. W swoich projektach zakładałem, że 4 tyg to minimalny czas sprintu.

Planowanie

Zanim zaczniesz tworzyć aplikację dokładnie ją zaplanuj. Na początek skup się na „Definition of done”. Czyli zdefiniuj dokładnie jakie funkcjonalności twoja aplikacja ma posiadać, co chcesz osiągnąć. Zazwyczaj robię to po prostu w postaci punktów głównych funkcjonalności aplikacji z krótkim opisem.

Każdy sprint powinien również zostać bardzo staranie zaplanowany. Jeżeli planujesz wykonać w sprincie jedną całą funkcjonalność, rozpisz ją za pomocą „User Story”. Jedno user strony nie powinno być zbyt złożone. Najlepiej gdyby skończenie go nie zajmowało więcej niż 8 godz. . Czas przeznaczony na planowanie nie jest czasem zmarnowanym jak może się wydawać na początku.

Podzielenie projektu na małe zadania, określony z góry cel sprintu oraz całego projektu daje mi psychiczny komfort. Widzę początek, koniec oraz swoją aktualną pozycję. Mam wszystko pod kontrolą i wiem kiedy mogę spodziewać się zakończenia projektu. Albo po prostu stwierdzić, że wykonanie projektu w określonym czasie jest nie możliwe. To chyba jeden z najczęściej popełnianych błędów przez studentów.

Celebrowanie

Każdy sukces w twoim projekcie powinieneś świętować ze swoim zespołem. Postaraj się aby każdy skończony sukces sprint uczcić spotkaniem. Możecie zamówić pizze i piwo. Podsumuj, krótko co się wydarzyło. Jeżeli to ty jesteś liderem zespołu to pochwal zespól. To naprawdę motywuje. Postaraj się aby zamknąć wszystkie sprawy związane z projektem w podsumowaniu. Zamknęliście właśnie jedną część waszego projektu. Przed wami kolejna ale zanim się nią zajmiecie warto się zrelaksować i odpocząć.

Komunikacja

Zarządzanie zadaniami

Warto do tego celu zaprząc jakieś narzędzie. Polecam tablicę Trello. Bardzo łatwo zorganizujesz tam strukturę dla scruma.

yo-help

Sposobów na zorganizowanie kart jest sporo. W swoich projektach przetestowaliśmy wiele z nich i ostatecznie znaleźliśmy taki, którym nam najlepiej pasował. W sieci znajdziesz ich pełno dwa które mi przypadły do gustu to https://trello.com/b/jiYHdSjp/sample-board oraz https://trello.com/b/h1PduuYW/scrum-board warto je zmodyfikować do własnych potrzeb.

Wymiana iNFORMACJI

Nie ma nic gorszego niż grupka, ludzi którzy próbują coś wspólnie zrobić ale nie rozmawiają ze sobą. Musimy znaleźć jakiś komunikator. Odradzam facebooka, grupy na facebooku itp. Znajduję się tam zbyt dużo rozpraszaczy. Wchodzisz, napisze znajomy, przejrzysz tablice i 3 godziny minęły. Poszukaj czegoś alternatywnego. Ja korzystam ze Slacka. Komunikator, dostępny na każdą platformę Web, Android, Windows, Windows Phone, IOS. Możesz go zintegrować z Trello oraz Githubem. Dzięki takiej integracji możesz otrzymywać powiadomienia na Slacku o każdej aktywności. Możliwości Slacka są oczywiście dużo większe.

Slack to jest mój wybór, poszukaj własnego. Przetestuj różne rozwiązania. Może przypadnie Ci do gustu Skype, GG albo HipChat.

Komunikator internetowy to podstawowa forma komunikacji. Czasami może się zdarzyć, że będzie ona nie wystarczająca. Tak się zdarzyło w jednym z projektów, w którym brałem udział. Podczas omawiania kilku większych wydarzeń i codziennych spraw dochodziło do sytuacji, gdy gubiliśmy kontekst. Potem było trzeba szukać informacji. Zajmowało to bardzo dużo czasu. Zaczęliśmy szukać czegoś dodatkowego. Rozwiązanie, gdzie można by grupować wiadomości po temacie ale żeby był zintegrowany ze Slackiem. W tym przypadku postawiliśmy na system forum Discourse. Od tej pory wszystkie sprawy codzienne załatwimy na Slacku a ważniejsze sprawy omawiamy na Discourse, który na bieżąco nas informuję na Slacku o wszystkich nowych wątkach.

Warto obserwować i sprawdzać czy narzędzia z których korzystasz się sprawdzają. Może powodują zbyt duży nakład albo po prostu już sobie nie radzą. Na pewno nie warto robić od razu narzutu i używać 4 narzędzi, bo może wystarczy Ci na początek tylko 1. Warto wprowadzać je stopniowo i badać czy się sprawdzają.

Podsumowanie

Wydaje mi się, że powyższe wskazówki sprawdzą się nie tylko projektach studenckich ale również w projektach, które tworzymy po godzinach a może nawet w pracy. Wszystko co napisałem bardzo dobrze sprawdzało się w projektach w których pracowałem. Mechanizmy wypracowaliśmy wspólnie całymi zespołami. Nie warto narzucać swoich zasad, które uważamy za najlepsze. Warto natomiast pracować z ludźmi i próbować tak wszystko zmieniać aby pracowało nam się przyjemniej i wydajniej, bo o to w tym wszystkim chodzi.

Napisz w komentarzu jakie są twoje doświadczenia w pracy zespołowej.