Kako smo pokušali timski raditi i što je iz toga ispalo

Kako smo pokušali timski raditi i što je iz toga ispalo

Idemo redom

Što ova slika znači malo kasnije, ali za sada da počnem s uvodom.

Hladnog veljačkog dana nije bilo znakova nevolje. Skupina nedužnih studenata došla je prvi put na predavanje iz predmeta koji su odlučili nazvati “Metodologija organizacije projektiranja i razvoja informacijskih sustava”. Bilo je redovno predavanje, učitelj je govorio o fleksibilnim razvojnim metodama, poput Scruma, ništa nije nagovještavalo nevolje. I na kraju učitelj najavljuje:

Želim da sami iskusite sve nedaće timskog rada, podijelite se u grupe, osmislite projekt, odredite voditelja i zajedno prođemo kroz sve faze projektiranja. Na kraju od vas očekujem gotov proizvod i članak na Habréu.

Ovdje počinje naša priča. Kao kuglice na biljaru, odbijali smo se jedni od drugih dok se energija udarca nije raspršila i okupila grupa od 7 ljudi. Možda je to previše za projekt obuke, ali je taman za bolju raspodjelu uloga. Počela je rasprava o idejama za projekt, od “Uzmimo gotov projekt” do “Emulator za formiranje svemirskih objekata”. Ali na kraju je došla ideja čiji naziv čitate na prvoj slici.

Stop prokrastinaciji - što je to, s čime se jede i kako smo ga razvili i što je iz toga proizašlo

Priča će biti u ime voditelja projekta koji je, na sreću ili nesreću, dodijeljen meni. Koja nam je ideja pala na pamet? Inspirirani popularnom budilicom “Shake Alarm Clock” iz SupperCommona, odnosno funkcijom potpunog blokiranja pametnog telefona dok korisnik ne izvrši određenu radnju koja će ga najvjerojatnije probuditi, odlučili smo izraditi sličnu aplikaciju koja će pomoći u dobivanju osloboditi se ovisnosti o telefonu, po istom principu kao i "Protresi budilicu"

Princip rada

Korisnik postavlja tajmere
-Vrijeme koje se može provesti na pametnom telefonu
- Vrijeme bez pametnog telefona (period blokade)
Kada tajmer istekne, na zaslonu se pojavljuje sloj koji se ne može minimizirati
-Za zatvaranje preklapanja morate proći mali test (unesite lozinku na zbunjujućoj tipkovnici, riješite matematički zadatak, protresite telefon nekoliko minuta)
Nakon otključavanja na ovaj način, vrijeme koje se može provesti na pametnom telefonu je prepolovljeno, i tako do jedne minute.

Izgradnja tima

Prvo je trebalo odrediti tko će što raditi i na kojem jeziku će sve to biti napisano. Mislim da to nema puno veze s upravljanjem projektima, jer kada okupite tim za pravi projekt, odmah okupite one koji vam trebaju. Kao rezultat toga, preuzeo sam i teret dizajnera, odabrao jednog voditelja tima koji je imao dobro iskustvo u razvoju aplikacija, dodijeljena su mu tri programera, a još dvojica su postali testeri. Naravno, programski jezik je odabran na temelju vještina. Kao rezultat toga, odlučeno je koristiti Javu, budući da su svi programeri bili upoznati s njom.

Postavljanje zadataka

Na preporuku učitelja izrađena je ploča sa zadacima na besplatnom servisu Trello. Planirano je da se radi po Scrum sustavu gdje bi svaki stream bio svojevrsna cjelovita aplikacija.
Međutim, u stvarnosti je sve to proizašlo iz jednog velikog i dugog toka, u koji su se neprestano unosile izmjene, dopune i ispravci.

Kako smo pokušali timski raditi i što je iz toga ispalo

Pišemo specifikacije

Pod utjecajem Savinove knjige “Testing.com” imao sam svoju ideju u glavi kako bi sve trebalo posložiti. Sve je počelo pisanjem specifikacija, jer vjerujem da bez jasnog opisa što očekujemo, što i kako treba raditi, ništa neće funkcionirati. Programeri će programirati sve kako oni vide, testeri će testirati nešto drugo, upravitelj je očekivao treće, ali ispast će kao i uvijek četvrto.
Pisanje specifikacija nije lako, morate razmisliti o svim detaljima, svim nijansama. Naravno, prvi put ništa nije uspjelo. Kao rezultat toga, specifikacije su dopunjene i prerađene 4 puta. Posljednju opciju možete pronaći na kraju članka, u odjeljku s poveznicama.

Crtanje dizajna

Dizajn u mobilnoj aplikaciji je najvažniji. Međutim, ne razumiju svi to, pa tako ni iz mog tima, mnogi su mi žestoko tvrdili da dizajn nije potreban, da je to najnevažniji dio aplikacije itd. Ne bi trebao biti tako naivan. Prvo, gotov dizajn programeru olakšava posao, on ne mora razmišljati što će staviti gdje i gdje, on samo uzima i upisuje ono što je nacrtano. Zajedno sa specifikacijama, dizajn gotovo potpuno oslobađa programerov um od nepotrebnih stvari i daje mu priliku da se koncentrira na logiku. Općenito, prvo je nacrtan prototip (užasan) dizajn:

Kako smo pokušali timski raditi i što je iz toga ispalo

Ali onda je dizajn počešljan i vraćen u normalu.
(Poveznica na sve elemente dizajna na kraju članka).

Kako smo pokušali timski raditi i što je iz toga ispalo

Programiranje

Programiranje je teško, ali moguće. Izostavit ću ovu točku, jer se osobno nisam time bavio. Programeri su obavili ogroman posao bez kojeg bi sve bilo besmisleno. Naravno, uspjeli smo realizirati neke od naših ideja. A program još uvijek treba poboljšati. Ima puno grešaka i značajki koje treba ukloniti. Da imamo više vremena, izašli bismo iz duboke alfe, ali za sada aplikaciju možete testirati na kraju članka.

Pa o testiranju

Što je glavno u programiranju? Po mom mišljenju, glavna stvar je da sve radi i izgleda kako treba. Ne uspije uvijek kako treba i ne odmah. Ovo zahtijeva testiranje. Svojim sam ispitivačima predložio model testiranja pomoću testnih slučajeva. Prvo se napišu testni slučajevi u potpunosti u skladu sa specifikacijama, a zatim se na njima provodi testiranje. Što je iz ovoga ispalo možete vidjeti na linkovima ispod.

Hvala na čitanju. Nadam se da ste ovdje pronašli barem nešto korisno, možda ideju za svoj startup, ili možda neki dobar savjet ili alat.

reference:

Najnoviji tehnički podaci.
Dizajn uključen figma.
Test slučajevi и izvješća o greškama.

Sama aplikacija je uključena HokeyApp. — Aplikacija je napravljena pod imenom HandsOff, nemojte ni pitati zašto (jer je Stop Procrastination predug).

Pa na kraju

Mislite li da je sve ovo imalo smisla?

U anketi mogu sudjelovati samo registrirani korisnici. Prijaviti se, molim.

Je li takva praksa potrebna u obrazovnim ustanovama i koliko je korisna i primjenjiva u stvarnom životu?

  • Potrebno, neprocjenjivo iskustvo

  • Potrebno, iako malo iskustva

  • Gotovo beskoristan, najviše ćete razumjeti opće značajke rada u timu

  • Gubitak vremena i truda

2 korisnika je glasalo. Suzdržanih nema.

Izvor: www.habr.com

Dodajte komentar