Mantis prakticky II. - workflow

Dnes bych navázal na článek věnující se instalaci bugtrackingového nástroje Mantis. Jednou z nejdůležitějších vlastností bugtrackingu je jeho schopnost pracovat s workflow. Jinak řečeno možnost konfigurovat stavy, kterými chyba při svém zpracování v nástroji prochází. A jak se k této problematice postavil Mantis?

Na začátku bychom si měli ujasnit, co nás vlastně na správě workflow zajímá, nebo ještě lépe, co by měl být schopný bugtrackingový nástroj dělat z hlediska správy workflow. Jde o následující činnosti:

  • Správa jednotlivých stavů - mělo by být možné vytvářet, editovat a rušit stavy tak, abychom byli schopni si workflow upravit podle našich potřeb (potřeb projektu).
  • Správa přechodu mezi stavy - nástroj by měl umožnit konfiguraci návaznosti jednotlivých stavů na sebe. Jinak řečeno v bugtrackingovém nástroji bychom měli být schopni sestavit sled stavů, ze kterého bude jasné z jakého stavu do jakého stavu může chyba přejít.
  • Správa přístupu uživatelských rolí k jednotlivým stavům - měli bychom být schopni určit, jaké uživatelské role mohou s chybou v daném stavu pracovat a do jakého stavu ji mohou posunout

Měli bychom si na rovinu řici, že právě tato konfigurace představuje největší problém z hlediska použití bugtrackingového nástroje. Tím myslím obecně u jakéhokoli nástroje. Problém je, že uživatel by potřeboval maximální míru konfigurovatelnosti nástroje a zároveň maximálně uživatelsky příjemnou a přehlednou formu této konfigurace. Což jsou požadavky, které jdou proti sobě. Čím více volitelných proměných máte a čím více jejich kombinací musíte ošetřit, tím složitější výsledná podoba konfigurace je.

Nicméně pojďme se podívat, jak se s tímto problémem vypořádali vývojáři u Mantisu. Hned na úvod si můžeme říct, že více méně se ctí až na jedno velké a jedno malé Ale. K tomu se teprve dostaneme. Začneme od začátku.

Konfigurace workflow je v Mantisu poměně skrytá. Najdeme ji v nabídce Správa a v podnabídce Správa konfigurace. Zde jsou dvě nabídky, jejichž kombinací je možné spravovat workflow. Jde o nabídku Hranice průběhu práce a Průběh práce.

-=Drobná vsuvka. V tomto článku používám české názvy nabídek a polí v podobě, v jaké je obsahuje česká verze Mantisu. Mohl bych samozřejmě používat anglickou verzi, ale přišlo mi škoda nevyužít skutečnosti, že Mantis umí češtinu. =-

Nabídka Hranice průběhu práce obsahuje konfiguraci vztahů mezi uživatelskými rolemi a operacemi v rámci nástroje.

Klikni pro větší obrázek

Nejde zde primárně o stavy (přestože tento dialog obsahuje i některé nastavení stavů, například výchozí stav nově zadané chyby). Tato konfigurace se zaměřuje na reálné operace, které mohou uživatelé v nástroji provádět. Jde například o nahlášení nové chyby, editaci již zadané chyby nebo její uzavření atd. U každé takové perace je možné nastavit, které role ji mohou provést.

Všimněte si, že konfigurační dialog má podobu jakési matice. To je poměrně typický případ, jak se vypořádat s konfigurací workflow u podobných nástrojů.

Jak už jsem uvedl, samotné workflow se nastavuje v nabídce Průběh práce (což je samozřejmě český překlad workflow).

Klikni pro větší obrázek

Zde nalezneme tři sekce sloužící k nastavení různých parametrů workflow. První sekce má název Hranice ovlivňující workflow. Zde se nastavují stavy, které vymezují tři klíčové body při zpracování chyby. Prvním je stav, ve kterém je nově zadaná chyba. Druhým je stav chyby při jejím vyřešení a třetím stav chyby, pokud vyřešena nebyla a došlo k jejím znovuotevření (tedy chyba byla před svým uzavřením vrácena jako nedořešená zpět. Nejde zde o případ, kdy se již jednou vyřešená a uzavřená chyba objeví znovu). Takto se tedy nastaví start, konec a "restart" workflow.

Druhou sekcí je samotná konfigurace Workflow. Má znovu podobu matice. V řádcíh matice je výchozí stav a ve sloupcích stav následný. Zaškrnutím checkboxů v řádku u příslušných sloupců říkáme, do jakého stavu může stav ze začátku daného řádku přejít. Z matice je mimojiné patrné, že stav nemůže přejit sám do sebe. Chyba ve stavu Nový nemůže být přepnuta opět do tohoto stavu. V matici je to zvýrazněno prázdnými buňkami pro tyto kombinace stavů. Je také zřejmé, že workflow nemusí a nebývá čistě lineární záležitostí. Z jednoho stavu můžeme nastavit přechod do více jak jednoho následného stavu. Pro každý stav je zde také možné nastavit výchozí budoucí stav. Tedy hodnotu, která se bude uživateli nabízet jako první v okamžiku, kdy bude chtít změnit stav chyby v daném stavu.

Třetí sekcí jsou Úrovně přístupu, které říkají, jakou minimální roli musí mít uživatel, aby mohl chybu do konkrétího stavu přepnout.

Při troše dobré vůle je možné tuto formu konfigurace poměrně rychle pochopit a používat. Jak už jsem řekl, jsou tu dvě Ale.

Tím menším Ale je fakt, že může být poměrně matoucí ono nastavování Hranic průběhu práce a Průběhu práce. Míchání reálných operací a stavů není úplně nejšťastnější. Například jako operaci zde najdeme Znovuotevření problému. Tedy vrácení chyby k dořešení, pokud nebyla správně opravena. To je ale zároveň přechod dvou stavů (například stav Vyřešený do stavu Reakce). Přičemž se může stát, že provedu nekonzistentní konfiguraci, kdy práva k přechodu těchto stavů bude mít jiná role než která má právo provést operaci znovuotevření.

Větším Ale je skutečnost, že Mantis neumožňuje jednoduchý způsob jak spravovat stavy. V rámci konfigurace prostřednictvím grafického rozhraní jde o konstanty, které není možné měnit. Pokud je ale upravit chcete, musíte to provést na úrovni konfiguračních souborů, tedy skoro ve "zdrojovém kódu". To není úplně příjemné.

 

Nejbližší události


Testování software, Powered by Joomla!; Joomla templates by SG web hosting