26 |
26 |
\begin{document}
|
27 |
27 |
|
28 |
28 |
\begin{titlepage}
|
29 |
|
\title{
|
30 |
|
\vspace{-4cm}\hspace{-10cm}
|
31 |
|
\includegraphics[width=8cm]{assets/logo.png} \\
|
32 |
|
\vspace{5cm}
|
33 |
|
\begingroup
|
34 |
|
\setstretch{4}\fontsize{30}{10}\selectfont\fontdimen2\font=0.8ex
|
35 |
|
\parbox{13.3cm}{
|
36 |
|
\centering{\textbf{ASWI - Neurorehablitační systém BrainIn}\\
|
37 |
|
\fontsize{24}{10}\selectfont\centering{{Interní týmové předpisy a dokumentace}}
|
38 |
|
}}
|
39 |
|
\endgroup}
|
40 |
|
\date{}
|
41 |
|
\author{}
|
42 |
|
\maketitle \thispagestyle{empty}
|
43 |
|
\vspace{3cm}
|
44 |
|
\hspace{0cm}\parbox[b][5cm][b]{8cm}{{\setstretch{1.5}
|
45 |
|
Autor: Bc. Jan Hereš\\
|
46 |
|
Datum: 27.02.2023\\
|
47 |
|
Poslední úprava: \today\\}}
|
|
29 |
\title{
|
|
30 |
\vspace{-4cm}\hspace{-10cm}
|
|
31 |
\includegraphics[width=8cm]{assets/logo.png} \\
|
|
32 |
\vspace{5cm}
|
|
33 |
\begingroup
|
|
34 |
\setstretch{4}\fontsize{30}{10}\selectfont\fontdimen2\font=0.8ex
|
|
35 |
\parbox{13.3cm}{
|
|
36 |
\centering{\textbf{ASWI - Neurorehablitační systém BrainIn}\\
|
|
37 |
\fontsize{24}{10}\selectfont\centering{{Interní týmové předpisy a dokumentace}}
|
|
38 |
}}
|
|
39 |
\endgroup}
|
|
40 |
\date{}
|
|
41 |
\author{}
|
|
42 |
\maketitle \thispagestyle{empty}
|
|
43 |
\vspace{3cm}
|
|
44 |
\hspace{0cm}\parbox[b][5cm][b]{8cm}{{\setstretch{1.5}
|
|
45 |
Autor: Bc. Jan Hereš\\
|
|
46 |
Datum: 27.02.2023\\
|
|
47 |
Poslední úprava: \today\\}}
|
48 |
48 |
\end{titlepage}
|
49 |
49 |
\newpage
|
50 |
50 |
|
... | ... | |
56 |
56 |
\paragraph{} Tento dokument slouží jakožto analogie ,,interních směrnicí'' pro sjednocení a ustálení vývojových procesů napříč celým týmem.
|
57 |
57 |
|
58 |
58 |
\section{Interní management}
|
59 |
|
\paragraph{} V rámci řízení projektu bylo ustanoveno, že se tým bude \textbf{pravidelně} scházet v on-site/online formě \textbf{každé úterý od 13:00 do 14:00} (tzv. \textit{weekly-standups; případně každý čtvrtek v závislosti na možnostech všech zúčastněných)}. V rámci těchto schůzek bude probrána odvedená a naplánovaná práce, případně jakákoliv nastávající problematika. Z těchto meetingů bude \textbf{vždy} vytvořen ,,záznam ze schůzky dne XXX'', který bude součástí dokumentu se všemi takovými záznamy.
|
|
59 |
\paragraph{} V rámci řízení projektu bylo ustanoveno, že se tým bude \textbf{pravidelně} scházet v on-site/online formě každý týden (konkrétní den bude vždy určen s předstihem dle možností jednotlivých zúčastněných). V rámci těchto schůzek bude probrána odvedená a naplánovaná práce, případně jakákoliv nastávající problematika. Z těchto meetingů bude \textbf{vždy} vytvořen ,,záznam ze schůzky dne XXX'', který bude součástí dokumentu se všemi takovými záznamy.
|
60 |
60 |
|
61 |
61 |
\section{Verzovací systém Git}
|
62 |
|
\paragraph{} Tato sekce se týká verzovacího systému Git (potažmo repozitáře Gitlab).
|
|
62 |
\paragraph{} Tato sekce se týká verzovacího systému Git (potažmo repozitáře Gitlab).
|
63 |
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.
|
64 |
64 |
|
65 |
65 |
\subsection{Tvorba vývojových větví (\textit{branches})}
|
... | ... | |
80 |
80 |
|
81 |
81 |
\subsection{Tvorba a správa úkolů (\textit{Tickets and Issues})}
|
82 |
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}.
|
|
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}.
|
84 |
84 |
|
85 |
85 |
\subsubsection{Issues (Tickets)}
|
86 |
86 |
\paragraph{} Ticketem se rozumí takový úkol, který je nutné dekomponovat do menší, ideálně atomických podúkolů.
|
87 |
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 |
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.
|
|
89 |
\par Z pragmatického hlediska bude tedy Ticket pouze speciální issue, která agreguje veškeré logicky související podúkoly.
|
90 |
90 |
|
91 |
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}.
|
|
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 |
93 |
Pravidla pro vytváření těchto úkolů:
|
94 |
94 |
\begin{itemize}
|
95 |
95 |
\item Každá \textit{issue} bude obsahovat krátký, nicméně dostatečně deskriptivní popis, čeho konkrétně se týká
|
... | ... | |
97 |
97 |
\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 |
98 |
\item Každá \textit{issue} bude označena jednou z možností \textbf{,,urgentnosti''} (viz dále)
|
99 |
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)
|
100 |
|
|
|
100 |
|
101 |
101 |
\end{itemize}
|
102 |
102 |
|
103 |
103 |
\paragraph{Jednotlivé fáze úkolů}
|
104 |
104 |
\begin{itemize}
|
105 |
105 |
\item Backlog - analogie s TODO
|
106 |
106 |
\item In progress
|
107 |
|
\item To test (dev) - testování \textbf{vždy provádí jiný vývojář/tester!}
|
108 |
|
\item Code review
|
|
107 |
\item To test (dev) - testování \textbf{vždy provádí jiný vývojář/tester!}
|
|
108 |
\item Code review
|
109 |
109 |
\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 |
110 |
\item To test (prod) - otestování na produkčním prostředí
|
111 |
111 |
\item To deploy (prod) - končí schválením merge requestu do \textbf{masteru}
|
112 |
|
\item Done - Issue hotova, uzavřena
|
|
112 |
\item Done - Issue hotova, uzavřena
|
113 |
113 |
\end{itemize}
|
114 |
114 |
|
115 |
|
\paragraph{} Poznámka: Ze stavu ,,To deploy (dev)'' lze přejít do stavu ,,Done'', pokud není žádoucí ovlivňovat produkční prostředí (zejména pro malé změny, které budou součástí větší úpravy).
|
|
115 |
\paragraph{} Poznámka: Ze stavu ,,To deploy (dev)'' lze přejít do stavu ,,Done'', pokud není žádoucí ovlivňovat produkční prostředí (zejména pro malé změny, které jsou součástí většího zásahu do projektu).
|
116 |
116 |
|
117 |
117 |
|
118 |
118 |
\paragraph{Typy issues}
|
... | ... | |
122 |
122 |
\item Ticket - jakýkoliv další úkol, který implicitně není novou funkcionalitou, spíše například vytvoření obsáhlejší dokumentace, případně nových tříd či struktur
|
123 |
123 |
\item Task - základní úkol (ideálně atomický); využití na rozdělení ticketu do menších podúkolů
|
124 |
124 |
\item Bug - Chyba, kterou je nutno opravit
|
125 |
|
\item Change request - vyžádaná změna od zákazníka/uživatele, která byla již dříve implementována
|
|
125 |
\item Change request - vyžádaná změna od zákazníka/uživatele, která byla již dříve implementována
|
126 |
126 |
\end{itemize}
|
127 |
127 |
|
128 |
128 |
\paragraph{Typy priority/urgentnosti}
|
Updated document Plán iterací