Konvence » Historie » Revize 17
Revize 16 (Jan Ulrych, 2024-03-06 13:23) → Revize 17/19 (Jan Ulrych, 2024-03-11 14:04)
h1. Konvence Tento dokument obsahuje dohodnutá týmová pravidla, které je nutné dodržovat po celou dobu práce na projektu. Byla vymyšlena a odsouhlasena všemi členy týmu na první společné schůzce. Obsahuje konvence týkající se softwarového procesu, vývoje cílové aplikace, projektové dokumentace i interních záležitostí týmu. V případě, že v průběhu práce na projektu dojde tým k závěru, že některá z konvencí není přínosná, je možné ji v rámci některé z interních schůzek změnit. h2. Softwarový proces *Standardní délka iterace je 2 týdny* a vždy začíná v *ÚTERÝ*. Délka může být upravena před začátkem iterace. Každý týden bude probíhat *_Standup_* (interní týmová schůzka) a to v *PONDĚLÍ od 19h online*. Každý druhý týden má tato schůzka i funkci _Plánovací a retrospektivní_. Na konci iterace probíhá *_Demo se zákazníkem_* a *_Schůzka s mentorem_* v tomto preferovaném pořadí. Preferovaný den pro tyto schůzky je *ÚTERÝ*, přesné datum a čas se bude domlouvat operativně dle času zúčastněných osob. h2. Práce v ALM nástrojích Při práci na projektu budou používány nástroje *Redmine* a *Gitlab* pro komunikaci týmu bude použit interní *Discord*. Pro správu dokumentů pak *Google Drive*. h3. Redmine Na plánovací schůzce budou týmově navrženy úkoly pro další iteraci. Některé budou přiřazeny zodpovědným osobám (klíčové, pro konkrétní osobu) a ostatní je možné si přiřadit během iterace. Každý člen týmu by měl mít přehled o odpracovaných hodinách a dle toho si vybrat další úkol. *Za vytváření úkolů v Redmine zodpovídá Team Leader* s výjimkou bugů, které může vytvořit kdokoliv. Typy úkolů jsou popsány následovně. *Typy úkolů a jejich popis* * Feature - hlavní funkcionalita aplikace * Task - úkoly vyplývající z Feature, analýzy * Support - podpůrné činnosti projektu (administrativa, dokumentace, schůzky) * Bug - nalezený defekt (měl by obsahovat screen a detailní popis) * Risk - analyzované riziko *Používané kategorie úkolů* * Analýza - zkoumání technologie, architektury, možného řešení * Dokumentace - všechny dokumenty odevzdávané zadavateli * Schůzka - fyzická nebo online schůzka zainteresovaných stran * Programování - vývojová činnost související s aplikací, testování * Administrativa - všechny dokumenty související s procesem odevzdávané mentorovi *Životní cyklus vývojových úkolů* * New - nový úkol, nemusí být časově ohodnocen, není přiřazen do iterace * Accepted - časově ohodnocený úkol, zaplánován do některé z iterací * Assigned - přiřazený úkol někomu ze členů týmu, pracuje na něm * Resolved - přiřazený člen považuje úkol za dokončený na své _Feature_ větvi * Verified - úkol je zkontrolován, provedeno code review a je v _dev_ větvi * Closed - úkol je dokončen *Životní cyklus nevývojových úkolů* * New - nový úkol, nemusí být časově ohodnocen, není přiřazen do iterace * Accepted - časově ohodnocený úkol, zaplánován do některé z iterací * Assigned - přiřazený úkol někomu ze členů týmu, pracuje na něm * Resolved - přiřazený člen považuje úkol za dokončený * Closed - úkol je dokončen *Nejpozději na konci pracovního dne si každý člen týmu zaznamená odvedený čas a pokrok*, může uvést komentář pokud k tomu existuje důvod. h3. Gitlab Budou vytvořeny dvě důležité větvě - *main* a *dev*. Následně pro každou _Feature_ vznikne separátní větev, kde bude proveden merge do větve _dev_ po dokončení úkolu. Před každou _Demo schůzkou se zadavatelem_ bude proveden merge do větvě main. Tag je uváděn ve tvaru *<číslo TSP>.<iterace>.<0>* Každý člen týmu zodpovídá za své provedené merge requesty a řeší na nich vzniklé problémy. Commit message obsahuje odkaz na úkol, ke kterému se vztahuje a popis v angličtině. Formát commit message: *@Re #<číslo ticketu> <popis commitu>@*, kde popis commitu je v češtině a popisuje, jaké úpravy commit přináší. commitu>@* h2. Programové a dokumentační konvence Názvy proměnných, tříd a komentáře jsou vedeny v angličtině. Komentáře jsou uvedeny u všech metod/funkcí, kde mají smysl (funkčnost není na první pohled jasná). Code review dělá pokaždé někdo jiný než kdo danou funkci naprogramoval. Dokumentace pro *zadavatele* je vedena v *ANGLIČTINĚ*. Dokumenty *týkající se procesu* jsou v *ČEŠTINĚ*. Většina dokumentů jsou ukládána na _Google Drive_. Zápisy ze schůzek jsou vedeny na _Wiki_, stejně jako dokumenty kterým to definuje popis úkolu.