Je celkem obvyklé, že se vývoj neprovádí "velkým třeskem", kdy se najednou nasadí kompletně celý systém. Většinou to je postupné nasazování po jednotlivých ucelených modulech. Takže nastává situace, kdy něco už je nasazené na produkci a už nějakou dobu funguje, něco dalšího se teprve vyvíjí a některé části jsou třeba zatím stále ve fázi analýzy.
Z části, která je na produkci přijde produkční incident - něco se pokazilo a nefunguje to. Co s tím? Kdo to má začít řešit?
Podle mě by to mělo fungovat následujícím způsobem:
- Vývojový tým vyvine například určitý modul. Tento modul je nasazen na testovací prostředí, kde jsou zahájeny testy.
- V testech jsou identifikovány chyby u kterým je přiřazena závažnost dopadu. Tyto chyby jsou řešeny vývojovým týmem.
- Po provedení testů je za stanovaných podmínek (např. 0 nevyřešených závažných chyb) je provedeno nasazení na produkci. Tým podpory produkce je seznámen s funkcionalitou daného modulu a přebírá dokumentaci.
- Vývojový tým je po nasazení k dispozici pro případné řešení produkčních chyb. Tato podpora ze strany vývojového týmu je časově omezená, obvykle v řádu jednotek dní.
- Poté už jsou chyby záležitostí podpory produkce, který by měl vyřešit většinu problémů a je zodpovědný za jejich řešení. Samozřejmě může konzultovat problémy s vývojovým týmem, ale neměl by na to spoléhat. Po dokončení posledního modulu a po jeho předání do produkce je vývojový tým rozpuštěn a nebo přechází na jiný projekt.
Situace, kdy tým podpory netuší, jak řešit produkční chyby a úkoluje vývojový tým požadavky na urgentní vyřešení aktuálního problému je akceptovatelná pouze do několika málo dní po nasazení nové funkcionality za předpokladu, že se problém týká a nebo souvisí s nově nasazenou funkcionalitou. Rozhodně by to neměl být standardní způsob řešení problémů funkční podporou.
Žádné komentáře:
Okomentovat