Projekt

Obecné

Profil

« Předchozí | Další » 

Revize b6218b32

Přidáno uživatelem HarryHeres před asi 2 roky(ů)

Updated document Interní směrnice

Zobrazit rozdíly:

doc/internal/doc.tex
60 60

  
61 61
\section{Verzovací systém Git}
62 62
\paragraph{} Tato sekce se týká verzovacího systému Git (potažmo repozitáře Gitlab).
63
Vzhledem k faktu, že je již od začátku aplikace vyvíjena pro české pacienty, terapeuty, \dots (a z důvodu zachování již zaběhlých konvencí) budou veškeré komentáře, názvy a komunikace popsány v \textbf{českém} jazyce.
63

  
64 64

  
65 65
\subsection{Tvorba vývojových větví (\textit{branches})}
66 66
\paragraph{} V rámci projektu existuje hlavní vývojová větev \textbf{master}.
67 67
V této větvi budou dostupné veškeré \textbf{funkční a otestované} verze projektu ve formě otagovaných \textbf{releases}.
68
Nadále bude existovat větev \textbf{development (dev)}, na které bude dostupná \textbf{poslední} upravená, fuknční a neotestovaná verze.
69
Ve chvíli, kdy bude verze na development větvi otestována, může být vytvořen merge request do hlavní větve (za předpokladu, že jsou splněny všechny požadavky na novou verzi).
68
Nadále bude existovat větev \textbf{development (dev)}, na které bude dostupná \textbf{poslední upravená, funkční a otestovaná}(na dev prostředí) verze, jež nebyla ještě otestována na produkčním prostředí.
69
Ve chvíli, kdy bude verze na development větvi otestována i na produkčním prostředí, může být vytvořen merge request do hlavní větve (za předpokladu, že jsou splněny všechny požadavky na novou verzi).
70 70
Pro nové \textit{features} nebo pro \textit{change requests} bude vždy vytvořena \textbf{nová} separátní větev z development větve.
71 71
Workflow mezi jednotlivými větvemi je vyobrazen na obrázku \ref{fig:branches_workflow}.
72 72

  
......
78 78
\end{figure}
79 79

  
80 80

  
81
\subsection{Tvorba a správa úkolů (\textit{Tickets and Issues})}
82
\paragraph{} Každý úkol bude mít svůj \textit{ticket} (v případě, že je tak obsáhlý, že se bude muset dále dělit na podúkoly).
83
Pokud bude úkol ,,jednoduchý'' (tj. nebude vyžadovat žádnou, případně velice minimální dekompozici), bude k němu adresována daná \textit{issue}.
81
\subsection{Tvorba a správa úkolů napříč používanými nástroji}
82

  
83
\subsubsection{Issues}
84
\paragraph{} Issue je základní plánovací jednotka v systému řízení projektu (zde konkrétně nástroj \textbf{Jira}).
85
Tato jednotka bude vždy svázána s konkrétní \textit{issue} na repozitáři Gitlab, tzn. v rámci \textit{issue} bude \textbf{vždy} k dispozici odkaz na danou \textit{issue} v repozitáři. Jejich vazba by tedy vždy měla být 1:1.
86

  
87
\subsubsection{Ticket}
88
\paragraph{} Ticket je běžný základní úkol.
89
V rámci každé issue bude k dispozici výčet všech podúkolů (\textit{task}) které je nutné v rámci daného ticketu splnit.
90
V rámci \textit{issue} bude taktéž možné specifikovat, zda-li úkol čeká na dokončení jiného, či naopak.
91

  
92
\subsubsection{Feature}
93
\paragraph{} Feature je typ \textit{issue} využívaný k označení implementace nové funkcionality do aplikace.
94

  
95
\subsubsection{Bug}
96
\paragraph{} Bug je typ, kterým se označují úkoly spojené s odstraněním nových vzniklých chyb během vývoje.
97

  
98
\subsubsection{Change request}
99
\paragraph{} Tímto type se označují úkoly, které jsou spojené se změnou nějaké již implementované funkcionality (feature), nicméně během vývoje došlo ke změnám priorit zákazníka a je potřeba tuto funkčnost upravit/změnit.
84 100

  
85
\subsubsection{Issues (Tickets)}
86
\paragraph{} Ticketem se rozumí takový úkol, který je nutné dekomponovat do menší, ideálně atomických podúkolů.
87
Samotný ticket bude reprezentován v repozitáři jakožto \textit{issue}, nicméně v rámci jeho popisů (\textit{Tasks}) bude výčet všech úkolů (volně popsaných), které je nutné splnit.
88
V rámci Ticketu bude využito i sekce \textit{Linked Items}, kde budou linknuté konkrétní podúkoly ve formě jednotlivých \textit{issues} (přesná korelace mezi sekcí \textit{Tasks a Linked Items} je tedy zřejmá).
89
\par Z pragmatického hlediska bude tedy Ticket pouze speciální issue, která agreguje veškeré logicky související podúkoly.
101
\subsubsection{Epic}
102
\paragraph{} Epicy jsou velké logické celky agregující jednotlivé, logicky spjaté \textit{issues}.
103
V rámci jedné iterace je možné mít naplánováno více Epiců a jeden Epic může být součástí více iterací.
90 104

  
91
\subsubsection{Issues (Tasks)}
92
\paragraph{} Jak bylo již řečeno výše, \textit{issue} bude buďto jednoduchý úkol, který je součástí daného \textit{tasku}.
93
Pravidla pro vytváření těchto úkolů:
105
\subsubsection{Obecná pravidla pro vytváření \textit{issues}}
94 106
\begin{itemize}
95 107
    \item Každá \textit{issue} bude obsahovat krátký, nicméně dostatečně deskriptivní popis, čeho konkrétně se týká
96 108
    \item Každá \textit{issue} bude \textbf{jednoznačně identifikovatelná} za pomocí tzv. \textbf{labelů} (specifikováno dále)
97 109
    \item Každá \textit{issue}, která bude v jiné, než \textbf{Backlog} fázi (specifikováno dále) bude \textbf{jednoznačně přiřazena} danému vývojáři (případně testerovi či zákazníkovi, bude-li třeba)
98
    \item Každá \textit{issue} bude označena jednou z možností \textbf{,,urgentnosti''} (viz dále)
99
    \item U každé issue, které je ve fázi ,,In progress'', či dále, bude jednoznačně stanoveno datum, kdy by měl být úkol dokončen (neměl by přesáhnout koncové datum iterace, v rámci které je úkol řešen)
110
    \item Každá \textit{issue} bude označena jednou z možností \textbf{,,priority''} (viz dále)
111
    \item U každé issue, které je ve fázi ,,In progress'', či dále, by měl být stanoven časový odhad potřebné práce k dokončení.
100 112

  
101 113
\end{itemize}
102 114

  
103
\paragraph{Jednotlivé fáze úkolů}
115
\subsubsection{Možné fáze \textit{issues}}
104 116
\begin{itemize}
105 117
    \item Backlog - analogie s TODO
106 118
    \item In progress
107
    \item To test (dev) - testování \textbf{vždy provádí jiný vývojář/tester!}
119
    \item To test (dev) - testování \textbf{vždy provádí jiný vývojář(tester)!}
108 120
    \item Code review
109 121
    \item To deploy (dev) - funkcionalita implementována, nicméně je nutné funkční verzi \textit{deploynout} na testovací prostředí k umožnění testování
110 122
    \item To test (prod) - otestování na produkčním prostředí
......
125 137
    \item Change request - vyžádaná změna od zákazníka/uživatele, která byla již dříve implementována
126 138
\end{itemize}
127 139

  
128
\paragraph{Typy priority/urgentnosti}
140
\paragraph{Typy priority}
129 141
\begin{itemize}
142
    \item \textbf{Lowest}
130 143
    \item \textbf{Low} - nevyžaduje velkou pozornost (příkladem mohou být nekritické části aplikace, ,,nice to have(s)''),
131 144
    \item \textbf{Medium} - vyžaduje vyšší míru pozornosti - již by neměly zůstávat nedokončeny v rámci přiřazené iterace (v krajních případech je možné posunout do další),
132 145
    \item \textbf{High} - vysoká priorita vyžadujicí privilegované řešení,
133
    \item \textbf{Severe} - maximální důležitost - vyžaduje okamžité řešení (například v případech, kdy tyto problémy způsobují nestabilitu či přímo rozbíjí produkční prostředí)
146
    \item \textbf{Highest (Severe)} - maximální důležitost - vyžaduje okamžité řešení (například v případech, kdy tyto problémy způsobují nestabilitu či přímo rozbíjí produkční prostředí)
134 147
\end{itemize}
135 148

  
136 149
\paragraph{} V rámci jakýchkoliv úkolů \textbf{není potřeba} vést časové údaje a odhady. Tato činnost bude probíhat v systému \textbf{Jira}.

Také k dispozici: Unified diff