Projekt

Obecné

Profil

Konvence » Historie » Verze 15

Jan Ulrych, 2024-02-26 18:51

1 1 Adam Šmucr
h1. Konvence
2 2 Adam Šmucr
3 8 Adam Šmucr
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. 
4
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.
5 2 Adam Šmucr
6
h2. Softwarový proces
7 3 Adam Šmucr
8 4 Adam Šmucr
*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.
9
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í_.
10
Na konci iterace probíhá *_Demo se zákazníkem_* a *_Schůzka s mentorem_* v tomto preferovaném pořadí.
11
Preferovaný den pro tyto schůzky je *ÚTERÝ*, přesné datum a čas se bude domlouvat operativně dle času zúčastněných osob.
12 5 Adam Šmucr
13
h2. Práce v ALM nástrojích
14
15 6 Adam Šmucr
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*.
16 12 Adam Šmucr
17
h3. Redmine 
18
19 6 Adam Šmucr
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. 
20 9 Adam Šmucr
21
*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ě.
22 10 Adam Šmucr
23 9 Adam Šmucr
*Typy úkolů a jejich popis*
24
* Feature - hlavní funkcionalita aplikace
25
* Task - úkoly vyplývající z Feature, analýzy
26
* Support - podpůrné činnosti projektu (administrativa, dokumentace, schůzky)
27 11 Adam Šmucr
* Bug - nalezený defekt (měl by obsahovat screen a detailní popis)
28 9 Adam Šmucr
* Risk - analyzované riziko
29 11 Adam Šmucr
30
*Používané kategorie úkolů*
31
* Analýza - zkoumání technologie, architektury, možného řešení
32
* Dokumentace - všechny dokumenty odevzdávané zadavateli
33
* Schůzka - fyzická nebo online schůzka zainteresovaných stran
34
* Programování - vývojová činnost související s aplikací, testování
35
* Administrativa - všechny dokumenty související s procesem odevzdávané mentorovi
36
37 15 Jan Ulrych
*Životní cyklus vývojových úkolů*
38 11 Adam Šmucr
* New - nový úkol, nemusí být časově ohodnocen, není přiřazen do iterace
39
* Accepted - časově ohodnocený úkol, zaplánován do některé z iterací
40
* Assigned - přiřazený úkol někomu ze členů týmu, pracuje na něm
41 13 Adam Šmucr
* Resolved - přiřazený člen považuje úkol za dokončený na své _Feature_ větvi
42 1 Adam Šmucr
* Verified - úkol je zkontrolován, provedeno code review a je v _dev_ větvi
43 15 Jan Ulrych
* Closed - úkol je dokončen
44
45
*Životní cyklus nevývojových úkolů*
46
* New - nový úkol, nemusí být časově ohodnocen, není přiřazen do iterace
47
* Accepted - časově ohodnocený úkol, zaplánován do některé z iterací
48
* Assigned - přiřazený úkol někomu ze členů týmu, pracuje na něm
49
* Resolved - přiřazený člen považuje úkol za dokončený
50 11 Adam Šmucr
* Closed - úkol je dokončen
51 12 Adam Šmucr
52 13 Adam Šmucr
*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.
53 1 Adam Šmucr
54
h3. Gitlab
55
56 13 Adam Šmucr
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.
57
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>*
58
Každý člen týmu zodpovídá za své provedené merge requesty a řeší na nich vzniklé problémy.
59
60
Commit message obsahuje odkaz na úkol, ke kterému se vztahuje a popis v angličtině.
61
62
h2. Programové a dokumentační konvence
63
64
Názvy proměnných, tříd a komentáře jsou vedeny v angličtině.
65
Komentáře jsou uvedeny u všech metod/funkcí, kde mají smysl (funkčnost není na první pohled jasná).
66 12 Adam Šmucr
Code review dělá pokaždé někdo jiný než kdo danou funkci naprogramoval.
67 13 Adam Šmucr
68 14 Adam Šmucr
Dokumentace pro *zadavatele* je vedena v *ANGLIČTINĚ*.
69
Dokumenty *týkající se procesu* jsou v *ČEŠTINĚ*.
70
71
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.