hledat

Začněte vyhledáváním výše

  1. Domů
  2. Články
  3. Ukaž to na příkladu: Jak agilní řízení projektů může pomoci vývojářům

Ukaž to na přík­ladu: Jak agilní řízení pro­jek­tů může pomo­ci vývojářům

Karel Smutný
Ukaž to na příkladu: Jak agilní řízení projektů může pomoci vývojářům

Druhý díl ser­iálu o agilním řízení, který se zaměřu­je na tech­niky, jež dokážou proměnit velké týmy a složité pro­jek­ty v efek­tivní a spolupracu­jící sys­témy. Jako první přichází na řadu meto­da spec­i­fi­ca­tion by example.

Tradiční přís­tupy k vývo­ji soft­waru čas­to trpí celou řadou nedostatků. Jeden z nejčastějších prob­lémů spočívá ve složitém pro­ce­su předávání infor­ma­cí mezi různý­mi role­mi v týmu – ana­lytiky, designéry, pro­gramá­to­ry a testery. Každý z těch­to článků má ten­den­ci si infor­ma­ce inter­pre­to­vat po svém, což vede ke komu­nikační­mu šumu, nejas­nos­tem a někdy i k nes­plnění očekávání uži­vatele. Výsled­kem jsou pro­jek­ty, které se zpožďu­jí, překraču­jí rozpočet nebo nenaplňu­jí skutečné potře­by klientů.

Spec­i­fi­ca­tion by exam­ple nabízí řešení toho­to prob­lé­mu. Namís­to obec­ných a mno­hdy nejed­noz­načných speci­fikací se zaměřu­je na jas­né a konkrét­ní přík­la­dy, které propo­ju­jí celý tým s uži­vatelem již od samého počátku pro­jek­tu. Ten­to příst­up nejenže min­i­mal­izu­je nedorozumění, ale také umožňu­je rych­le­jší, efek­tivnější a kval­it­nější výsledky.

Menší pros­tor pro chyby

Je to metodi­ka, která pracu­je s konkrét­ní­mi přík­la­dy. Ty slouží jako zák­lad pro návrh, vývoj i testování soft­waru. Namís­to tradičního mod­elu, kde speci­fikace obsahu­jí obec­né a čas­to nejas­né poža­davky, se při spec­i­fi­ca­tion by exam­ple vše doku­men­tu­je prostřed­nictvím scénářů. Tyto scénáře popisu­jí konkrét­ní situ­ace: vstup­ní data, akce a očeká­vané výs­tupy. Napřík­lad: Pokud uži­va­tel zadá hod­no­tu X a stiskne tlačítko Y, sys­tém provede akci Z.“ Ten­to příst­up elimin­u­je pros­tor pro chy­by a rozdíl­né interpretace.

Hlavní výhodou je porozumění. Všich­ni člen­ové týmu – bez ohle­du na jejich roli – mají ste­j­nou před­stavu o tom, jak má funkčnost vypa­dat a jak se má cho­vat. Navíc se díky konkrét­ním přík­ladům snáze iden­ti­fiku­jí možné prob­lémy už během návrhu. Speci­fikace for­mou přík­ladů také výrazně usnadňu­je testování, pro­tože scénáře lze autom­a­ti­zo­vat a použít jako zák­lad testo­vacích případů.

Nezmeške­jte žád­né novinky ITT

Elim­i­no­vat šum

Jak to vypadá v praxi? Všech­no začíná u samot­ného uži­vatele. Celý tým – od ana­lytiků přes designéry až po testery a pro­gramá­to­ry – se účast­ní schůzek s cílem pocho­pit potře­by a očekávání klien­ta. Ten­to společný dia­log elimin­u­je komu­nikační šum a zajišťu­je, že všich­ni člen­ové týmu sdíle­jí ste­j­nou vizi výsled­ného pro­duk­tu.
Po této fázi přichází na řadu tvor­ba konkrét­ních scénářů. Ty obsahu­jí přes­ně defi­no­vané vstup­ní hod­no­ty, akce, které mají být prove­de­ny, a očeká­vané výsledky. 

Napřík­lad: Uži­va­tel zadá hod­no­tu 100 do pole A a stiskne tlačítko Odes­lat. Sys­tém násled­ně zobrazí zprávu: Oper­ace byla úspěšně dokonče­na.“ Tak­to jas­ně defi­no­vané scénáře slouží nejen jako doku­men­tace, ale i jako zák­lad pro autom­a­ti­zo­vané testy.

Dalším krokem je imple­men­tace těch­to scénářů do testo­vacího prostředí. Scénáře jsou převe­de­ny do podo­by, kter­ou lze autom­a­ti­zo­vat pomocí nástro­jů, jako je Cucum­ber nebo Fit­Nesse. Autom­a­ti­zo­vané testy umožňu­jí průběžně ověřo­vat správnost sys­té­mu při každé změně kódu, což min­i­mal­izu­je riziko chyb a zrych­lu­je celý vývo­jový proces.

Nes­pornou výhodou toho­to přís­tupu je, že speci­fikace, testy a doku­men­tace jsou slouče­ny do jed­iného arte­fak­tu. To zna­mená, že jakékoli změny ve scénářích se okamžitě promít­nou do všech těch­to oblastí, což zajišťu­je aktuál­nost a konzis­ten­ci celého procesu.

V závěru této fáze se tes­tu­jí speci­fické pří­pady, které nelze pokrýt autom­a­ti­zo­vaný­mi scénáři. Tato for­ma tzv. exploratorního testování se zaměřu­je na hledání neob­vyk­lých situ­ací a chyb, které neby­ly pře­dem zohled­něny. Výsled­kem je pro­dukt, který odpovídá očekávání uži­vatele a je zároveň robust­ní a kvalitní.

Mohlo by vás také zajímat

Ukaž to na příkladu: Jak agilní řízení projektů může pomoci vývojářům