
Pojďme na to v pořádku
Co tento obrázek znamená, vysvětlím později, ale teď mi dovolte začít s úvodem.
V chladném únorovém dni nic nenaznačovalo problémy. Skupina nevinných studentů přišla poprvé na hodinu předmětu, který se rozhodli nazvat „Metodologie organizace návrhu a vývoje informačních systémů“. Byla to obyčejná přednáška, učitel mluvil o agilních metodách vývoje, jako je Scrum, a nic nenaznačovalo problémy. A tak na konci učitel oznámil:
Chci, abyste si na vlastní kůži zažili všechny těžkosti týmové práce, rozdělte se do skupin, vymyslete projekt, určete vedoucího a projděte společně všemi fázemi návrhu. Na konci očekávám hotový produkt a článek na Habr.
Odtud začíná náš příběh. Jako kuličky na kulečníku jsme od sebe odskočili, dokud se energie úderu nerozptýlila a společně se sešla skupině 7 lidí. Možná je to na školní projekt příliš mnoho, ale abychom lépe rozdělovali role, je to ideální. Začalo se diskutovat o nápadech na projekt od „Pojďme vzít hotový projekt“ až po „Emulátor vytváření vesmírných objektů“. Nakonec však prošel nápad, jehož název jste viděli na prvním obrázku.
Stop Procrastination — co to je, jak to funguje a jak jsme to vyvíjeli a co z toho vzešlo
Příběh bude vyprávěn z pohledu vedoucího projektu, kterým byl bohužel nebo možná naštěstí jmenován já. A jaký nápad nám přišel na mysl? Inspirováni populárním budíkem „Shake Alarm“ od SupperCommon, konkrétně funkcí plně zablokovat práci smartphonu, dokud uživatel neprovádí určitou činnost, která ho pravděpodobně probudí, rozhodli jsme se vytvořit podobnou aplikaci, která pomůže zbavit se závislosti na telefonu, podle stejného principu jako „Shake Alarm“.
Princip práce
Uživatel nastavuje časovače
-Čas, který lze strávit na smartphonu
-Čas bez smartphonu (období blokace)
Po vypršení časovače se na obrazovce objeví overlay, který nelze zavřít
-Aby se overlay uzavřel, je třeba projít malou zkouškou (zadat heslo na zamotané klávesnici, vyřešit matematickou úlohu, potřást telefonem několik minut)
Po odemčení tímto způsobem se doba, kterou lze strávit na smartphonu, zkracuje na polovinu, a to až na jednu minutu
Budujeme tým
Nejprve bylo potřeba určit, kdo se čím bude zabývat a v jakém jazyce se to celé napíše. Myslím, že to má málo společného s řízením projektů, protože když shromažďujete tým pro reálný projekt, okamžitě vybíráte ty, které potřebujete. Nakonec jsem si vzal na sebe i břemeno designéra, vybral jsem jednoho teamleadera, který měl dobré zkušenosti s vývojem aplikací, jemu podřízení byli jmenováni tři programátoři a další dva se stali testery. Samozřejmě jazyk programování byl vybrán podle dovedností. Nakonec bylo rozhodnuto použít Java, protože s ní byli všichni programátoři obeznámeni.
Stanovujeme úkoly
Na doporučení učitele byla vytvořena deska úkolů na bezplatné službě . Plánovalo se pracovat podle systému Scrum, kde každý stream bude představovat určitou hotovou aplikaci.
Avšak ve skutečnosti z toho vyšel jeden velký a dlouhý stream, do kterého byly neustále zapracovávány opravy, dodatky a úpravy.

Píšeme specifikace
Pod vlivem knihy Savina „Testování.com“ jsem měl v hlavě svou představu o tom, jak by to mělo být uspořádáno. Všechno to začalo psaním specifikací, protože podle mého názoru bez jasného popisu toho, co očekáváme, co a jak má fungovat, nic fungovat nebude. Programátoři vše naprogramují, jak to vidí oni, testeři otestují něco jiného, vedoucí očekává třetí, a nakonec to dopadne jako vždy čtvrté.
Psát specifikace není snadné, je třeba promyslet všechny detaily, všechny nuance. Samozřejmě, že na poprvé to vůbec nevyšlo. Nakonec byly specifikace doplňovány a přepracovány 4 krát. Poslední verzi můžete najít na konci článku v sekci odkazy.
Kreslíme design
Design v mobilní aplikaci je to nejdůležitější. Ne všichni to chápou, včetně mnoha z mého týmu, kteří se mnou vehementně polemizovali, že design není potřeba, že je to ta nejméně důležitá část aplikace, atd. Je naivní si to myslet. Za prvé, hotový design usnadňuje práci programátorovi, nemusí přemýšlet, co, kde a jak umístit, prostě vezme to, co je nakresleno, a realizuje to. Spolu se specifikacemi design téměř úplně osvobozuje mysl programátora od zbytečných věcí a dává mu možnost soustředit se na logiku. Původně byl nakreslen prototypový (hrozný) design:

Ale pak byl design upraven a přiveden do normální podoby.
(Odkaz na všechny prvky designu je na konci článku).

Programování
Programovat je obtížné, ale dá se to. Tento okamžik pomineme, protože jsem se tomu osobně nevěnoval. Programátoři udělali obrovskou práci, bez které by to celé postrádalo smysl. Samozřejmě se podařilo realizovat část představ. A program ještě potřebuje úpravy. Je tam spousta chyb a funkcí, které je třeba odstranit. Kdybychom měli více času, dostali bychom se z hluboké alfy, ale zatím si můžete aplikaci vyzkoušet na konci článku.
A teď o testování
Co je nejdůležitější v programování? Podle mého názoru je nejdůležitější, aby všechno fungovalo a vypadalo tak, jak má. Jak má, nevzniká vždy a hned. K tomu potřebujeme testování. Svým testerům jsem navrhl model testování s použitím testovacích případů. Nejprve se píší testovací případy v plném souladu se specifikacemi a poté se podle nich provádí testování. Co z toho vzešlo, můžete vidět níže v odkazech.
Děkuji, že jste si to přečetli. Doufám, že jste zde našli alespoň něco užitečného, možná nápad na svůj startup, nebo možná dobré rady či nástroje.
Odkazy:
Poslední .
Design na .
a .
Samotná aplikace na . — Aplikace byla sestavena pod názvem HandsOff, ani se neptejte proč (protože Stop Procrastination je příliš dlouhé).
A na závěr
Jak myslíte, mělo to všechno smysl?
Pouze registrovaní uživatelé se mohou účastnit ankety. , prosím.
Je taková praxe potřebná ve vzdělávacích institucích a jak je užitečná a aplikovatelná v reálném životě?
Je potřebná, neocenitelná zkušenost
Je potřebná, i když zkušeností je málo
Téměř k ničemu, maximálně pochopíš obecné rysy týmové práce
Zbytečné plýtvání časem a silami
Hlasovali 2 uživatelé. Zdržel se nikdo.
Zdroj: habr.com
