Jak próbowaliśmy wprowadzić pracę zespołową i co z tego wynikło

Jak próbowaliśmy wprowadzić pracę zespołową i co z tego wynikło

Zacznijmy od początku

Co oznacza ten rysunek, wyjaśnię później, a teraz pozwólcie, że rozpocznę od wprowadzenia.

W zimny lutowy dzień nic nie zapowiadało kłopotów. Grupa niewinnych studentów po raz pierwszy przyszła na zajęcia z przedmiotu, który postanowiono nazwać „Metodologia organizacji projektowania i rozwoju systemów informacyjnych”. Mieliśmy standardowy wykład, nauczyciel mówił o zwinnych metodach rozwoju, takich jak Scrum, nic nie zapowiadało kłopotów. A oto na koniec nauczyciel ogłasza:

Chcę, abyście osobiście poczuli wszystkie trudności pracy zespołowej, podzielcie się na grupy, wymyślcie projekt, wybierzcie lidera i wspólnie przejdźcie przez wszystkie etapy projektowania. Na koniec oczekuję od was gotowego produktu oraz artykułu na Habrze.

I tu zaczyna się nasza historia. Jak kulki w bilardzie, odbiłyśmy się od siebie, aż energia uderzenia się rozproszyła, a w końcu zebraliśmy się w grupkę z 7 osób. Może to trochę dużo jak na projekt studencki, ale aby lepiej rozdzielić role, to wystarczająco. Zaczęło się omawianie pomysłów na projekt od „Weźmy gotowy projekt” do „Emulator formowania obiektów kosmicznych”. Ale ostatecznie przeszła idea, której nazwę przeczytaliście na pierwszym obrazku.

Stop Procrastination — co to jest, do czego służy i jak go rozwijaliśmy oraz co z tego wynikło

Opowieść będzie prowadzona z perspektywy lidera projektu, którym, na szczęście lub nieszczęście, zostałem mianowany. I tak, jaki pomysł przyszedł nam do głowy? Inspirując się popularnym budzikiem „Shake Alarm” od SupperCommon, a dokładniej funkcją całkowitego zablokowania działania smartfona, dopóki użytkownik nie wykona określonego działania, które prawdopodobnie zmusi go do obudzenia się, postanowiliśmy stworzyć podobną aplikację, która pomoże pozbyć się zależności od telefonu, według tego samego zasady co „Shake Alarm”

Zasada działania

Użytkownik ustawia timery
-Czas, jaki można spędzać przy smartfonie
-Czas bez smartfona (okres blokady)
Po upływie timera na ekranie pojawia się nakładka, której nie można zminimalizować
-Aby zamknąć nakładkę, trzeba przejść przez mały test (wpisać hasło na zagmatwanej klawiaturze, rozwiązać zadanie matematyczne, potrząsnąć telefonem przez kilka minut)
Po odblokowaniu w ten sposób czas, który można spędzić na smartfonie, skraca się dwa razy, aż do jednej minuty.

Tworzymy zespół

Na początku trzeba było określić, kto czym się zajmie i w jakim języku to wszystko będzie pisane. Uważam, że ma to niewiele wspólnego z zarządzaniem projektami, ponieważ gdy tworzy się zespół do prawdziwego projektu, zbiera się od razu tych, którzy są potrzebni. W rezultacie wziąłem też na siebie obowiązek projektanta, wybrałem jednego team leada, który miał dobre doświadczenie w opracowywaniu aplikacji, a pod jego kierownictwo przydzielono trzech programistów, a jeszcze dwóch zostało testerami. Oczywiście wybór języka programowania był zależny od umiejętności. Ostatecznie zdecydowano się na użycie Javy, ponieważ wszyscy programiści mieli z nią doświadczenie.

Ustalamy zadania

Na polecenie nauczyciela stworzono tablicę zadań w darmowej usłudze Trello. Planowano pracować w systemie Scrum, gdzie każdy sprint powinien reprezentować pewną ukończoną aplikację.
Jednak w rzeczywistości wyszedł z tego jeden duży i długi sprint, w który ciągle wprowadzano poprawki, uzupełnienia i korekty.

Jak próbowaliśmy wprowadzić pracę zespołową i co z tego wynikło

Pisanie specyfikacji

Pod wpływem książki Sawina «Testowanie.com», miałem w głowie swoje wyobrażenie o tym, jak wszystko powinno być ustrukturyzowane. Wszystko zaczęło się od pisania specyfikacji, ponieważ uważam, że bez jasnego opisu tego, czego oczekujemy, co i jak powinno działać, nic nie będzie działać. Programiści zaprogramują wszystko tak, jak widzą, testerzy przetestują coś innego, a kierownik będzie oczekiwał czegoś trzeciego, a wyjdzie jak zwykle czwarte.
Pisanie specyfikacji nie jest łatwe, trzeba przemyśleć wszystkie szczegóły, wszystkie niuanse. Oczywiście za pierwszym razem nic nie wyszło. W rezultacie specyfikacje były uzupełniane i przerabiane 4 razy. Ostatnią wersję można znaleźć na końcu artykułu w sekcji linki.

Rysujemy projekt

Projektowanie w aplikacji mobilnej jest najważniejsze. Jednak nie każdy to rozumie, w tym wielu członków mojej drużyny zapierało się ze mną, że projektowanie nie jest potrzebne, że to najmniej ważna część aplikacji itd. Nie warto być takim naiwnym. Po pierwsze, gotowy projekt to ułatwienie pracy programisty, nie musi się zastanawiać, co gdzie i jak włożyć, po prostu bierze i koduje to, co zostało zaprojektowane. Razem ze specyfikacjami projekt prawie całkowicie uwalnia myśli programisty od niepotrzebnych rzeczy, dając mu możliwość skoncentrowania się na logice. Ogólnie rzecz biorąc, najpierw został narysowany prototypowy (straszny) projekt:

Jak próbowaliśmy wprowadzić pracę zespołową i co z tego wynikło

Ale potem projekt został przekształcony i doprowadzony do normalnego wyglądu.
(Link do wszystkich elementów projektu na końcu artykułu).

Jak próbowaliśmy wprowadzić pracę zespołową i co z tego wynikło

Programowanie

Programowanie jest trudne, ale możliwe. Pominę ten moment, ponieważ osobiście tym się nie zajmowałem. Programiści wykonali ogromną pracę, bez której wszystko byłoby bezsensowne. Oczywiście udało się zrealizować część pomysłów. Program jeszcze wymaga dopracowania. Jest wiele błędów i funkcji, które trzeba usunąć. Gdybyśmy mieli więcej czasu, wynieślibyśmy się z głębokiej wersji alfa, a na razie możecie przetestować aplikację na końcu artykułu.

A teraz o testowaniu

Co jest najważniejsze w programowaniu? Moim zdaniem najważniejsze jest, żeby wszystko działało i wyglądało tak, jak powinno. Jak trzeba, nie zawsze wychodzi od razu. Do tego potrzebne jest testowanie. Moim testerom zaproponowałem model testowania z użyciem przypadków testowych. Najpierw pisze się przypadki testowe zgodnie z specyfikacjami, a następnie przeprowadza się testowanie. Co z tego wyszło, możecie zobaczyć poniżej w linkach.

Dziękuję za przeczytanie. Mam nadzieję, że znaleźliście tutaj coś przydatnego, może pomysł na swoją własną firmę, a może dobry poradnik lub narzędzie.

Linki:

Ostatnie specyfikacji.
Projekt na Figma.
Przypadki testowe i raporty o błędach.

Samą aplikację na HokeyApp. — Aplikacja była budowana pod nazwą HandsOff, nawet nie pytajcie dlaczego (bo Stop Procrastination jest zbyt długie).

A na koniec

Jak myślicie, czy to wszystko miało sens?

Tylko zarejestrowani użytkownicy mogą brać udział w ankiecie. Zaloguj się, proszę.

Czy taka praktyka jest potrzebna w instytucjach edukacyjnych i jak bardzo jest użyteczna oraz stosowalna w realnym życiu

  • Potrzebna, bezcenna wiedza

  • Potrzebna, choć doświadczenia trochę

  • Prawie bezużyteczna, maksymalnie zrozumiesz ogólne cechy pracy w zespole

  • Pustka straty czasu i energii

Głosowało 2 użytkowników. Nie ma wstrzymujących się.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster