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.
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
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.
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:
Ali onda je dizajn pročešljan i vraćen u normalu.
(Veza na sve elemente dizajna na kraju članka).
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
Dizajn uključen
Sama aplikacija je uključena
Pa na kraju
Mislite li da je sve ovo imalo smisla?
Samo registrovani korisnici mogu učestvovati u anketi.
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