Kako smo pokušali timski raditi i šta je iz toga proizašlo

Kako smo pokušali timski raditi i šta je iz toga proizašlo

Hajde da to sredimo

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

U hladnom februarskom danu nije bilo znakova nevolje. Grupa nevinih studenata došla je po prvi put da održi čas na temu koju su odlučili nazvati “Metodologija za organizovanje projektovanja i razvoja informacionih sistema”. Bilo je redovno predavanje, nastavnik je govorio o fleksibilnim metodama razvoja, kao što je Scrum, ništa nije nagovještavalo probleme. I na kraju učitelj najavljuje:

Želim da sami iskusite sve teškoće timskog rada, podijelite se u grupe, osmislite projekat, odredite vođu i zajedno prođete kroz sve faze dizajna. Na kraju, očekujem od vas gotov proizvod i članak na Habréu.

Tu počinje naša priča. Kao loptice u bilijaru, odbijali smo se jedni od drugih sve dok se energija udarca nije raspršila i grupa od 7 ljudi se okupila. Možda je ovo previše za projekat obuke, ali je sasvim u redu da bolje rasporedite uloge. Počela je diskusija o idejama za projekat, od „Uzmimo gotov projekat“ do „Emulatora za formiranje svemirskih objekata“. Ali na kraju je došla ideja, čiji naziv čitate na prvoj slici.

Zaustavite odugovlačenje – šta je to, sa čime se jede i kako smo ga razvili i šta je iz toga proizašlo

Priča će biti ispričana u ime projekt menadžera, koji je, na sreću ili nesreću, dodijeljen meni. Koja nam je ideja pala na pamet? Inspirirani popularnim “Shake Alarm Clock” budilicom iz SupperCommona, odnosno funkcijom potpunog blokiranja pametnog telefona sve dok korisnik ne izvrši određenu radnju zbog koje će se najvjerovatnije probuditi, odlučili smo kreirati sličnu aplikaciju koja će pomoći da se osloboditi se zavisnosti od telefona, po istom principu kao i "Protresi budilnik"

Kako to radi

Korisnik postavlja tajmere
-Vreme koje se može provesti na pametnom telefonu
-Vrijeme bez pametnog telefona (period blokade)
Kada tajmer istekne, na ekranu se pojavljuje preklapanje koje se ne može minimizirati
-Da zatvorite preklapanje potrebno je da prođete kroz mali test (unesite lozinku na zbunjujuću tastaturu, riješite matematički zadatak, protresite telefon na par minuta)
Nakon otključavanja na ovaj način, vrijeme koje se može provesti na pametnom telefonu je prepolovljeno i tako do jednog minuta.

Izgradnja tima

Prvo je trebalo odrediti ko će šta raditi i na kom jeziku će sve to biti napisano. Mislim da ovo nema mnogo veze sa upravljanjem projektima, jer kada sastavite tim za pravi projekat, odmah sastavite one koji su vam potrebni. Kao rezultat toga, preuzeo sam i teret dizajnera, izabrao jednog menadžera tima koji je imao dobro iskustvo u razvoju aplikacija, tri programera su mu dodijeljena, a još dva su postala testeri. Naravno, programski jezik je odabran na osnovu vještina. Kao rezultat toga, odlučeno je da se koristi Java, jer su svi programeri bili upoznati sa njom.

Postavljanje zadataka

Na preporuku nastavnika napravljena je tabla zadataka na besplatnom servisu Trello. Planirano je da se radi po Scrum sistemu, gdje bi svaki stream bio svojevrsna kompletna aplikacija.
Međutim, u stvarnosti, sve je to proizašlo iz jednog velikog i dugačkog toka, u koji su se stalno vršile izmjene, dopune i ispravke.

Kako smo pokušali timski raditi i šta je iz toga proizašlo

Pišemo specifikacije

Pod uticajem Savenove knjige „Testing.com“, u glavi sam imao sopstvenu ideju kako sve treba da bude uređeno. Sve je počelo pisanjem specifikacija, kako vjerujem, bez jasnog opisa šta očekujemo, šta i kako treba da radi, ništa neće raditi. Programeri će sve isprogramirati kako vide, testeri će testirati nešto drugo, menadžer je očekivao treće, ali će ispasti četvrto kao i uvijek.
Pisanje specifikacija nije lako, morate razmisliti o svim detaljima, svim nijansama. Naravno, ništa nije uspjelo prvi put. Kao rezultat toga, specifikacije su dopunjene i preuređene 4 puta. Posljednju opciju možete pronaći na kraju članka, u odjeljku veza.

Crtanje dizajna

Dizajn u mobilnoj aplikaciji je najvažnija stvar. Međutim, to ne razumiju svi, uključujući i moj tim, mnogi su mi se žestoko raspravljali da dizajn nije potreban, da je ovo najnevažniji dio aplikacije itd. Ne bi trebao biti tako naivan. Prvo, gotov dizajn olakšava rad programeru; on ne mora da razmišlja šta da stavi gde i gde, on samo uzima i kuca ono što je nacrtano. Zajedno sa specifikacijama, dizajn gotovo u potpunosti oslobađa um programera od nepotrebnih stvari i daje mu mogućnost da se koncentriše na logiku. Općenito, prvo je nacrtan prototip (strašan) dizajn:

Kako smo pokušali timski raditi i šta je iz toga proizašlo

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

Kako smo pokušali timski raditi i šta je iz toga proizašlo

Programiranje

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

Pa, o testiranju

Šta je glavna stvar u programiranju? Po mom mišljenju, najvažnije je da sve radi i izgleda kako treba. Ne ide uvijek kako treba i ne odmah. Ovo zahtijeva testiranje. Svojim testerima sam predložio model testiranja koristeći testne slučajeve. Prvo se napišu testni slučajevi u potpunosti u skladu sa specifikacijama, a zatim se na njima provodi testiranje. Šta je iz ovoga proizašlo možete pogledati na linkovima ispod.

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

Reference:

Poslednji specifikacije.
Dizajn uključen figma.
Testni slučajevi и izvještaji o greškama.

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

Pa na kraju

Mislite li da je sve ovo imalo smisla?

Samo registrovani korisnici mogu učestvovati u anketi. Prijavite semolim.

Da li je takva praksa neophodna u obrazovnim institucijama i koliko je korisna i primjenjiva u stvarnom životu?

  • Potrebno, neprocjenjivo iskustvo

  • Potrebno, mada malo iskustva

  • Gotovo beskorisno, najviše ćete razumjeti opšte karakteristike rada u timu

  • Gubljenje vremena i truda

2 korisnika je glasalo. Nema uzdržanih.

izvor: www.habr.com

Dodajte komentar