Tvoříme digitální svět a bojujeme za lepší grafiku a web!

Než objednáte software "na míru"

Než se rozhodnete objednat vývoj softwaru na míru dle požadavků vaší firmy, měli byste se zamyslet nad tím, jak celý proces tvorby softwaru bude probíhat, protože to bude mít velký vliv na výsledek i míru investice. Existuje více metod vývoje softwaru, my se budeme zabývat ve zkratce pouze dvěma v současnosti nejrozšířenějšími, a to WaterfallAgilní vývoj SCRUM.

Waterfall

Vodopádový model je jeden z nejběžněji používaných procesů vývoje softwaru. Prochází jednotlivými fázemi: analýzou, kdy se sepisují a připravují všechny požadavky, návrhem designuprogramovánímtestováním, nasazenímúdržbou. Přitom jednotlivé kroky na sebe vodopádově navazují a další nezačne, dokud není předchozí zcela dokončen.

waterfall-vyvojovy-proces

Základní role metodiky:

Zákazník dodává požadavky project managerovi či jiné pověřené osobě u dodavatele.

Project manager řídí celý proces vývoje a zpracovává požadavky zákazníka pro tým, může být doplněno dalšími pozicemi.

Tým zpracovává požadavky dle vytvořeného projektového zadání.

Výhody:

  1. Dostatečně kvalitní analýza ušetří následné náklady na opravy či úpravy softwaru díky detailní specifikaci.
  2. Díky analýze lze lépe odhadnout celkové náklady a ty zafixovat.
  3. Každá část je detailně zpracována dle návrhu.

Nevýhody:

  1. Změny v zadání bývají problematické a jejich implementace vyžaduje delší analýzu.
  2. Software nelze používat, dokud není zcela dokončen.
  3. Termín dodání se může často prodlužovat, jelikož se musí finálně dokončit vždy každý vývojový krok, než se začne zpracovávat další.
  4. Po dokončení softwaru máme přesně to, co jsme chtěli, nikoliv potřebovali, software se po použití v praxi začne upravovat, aby naplnil požadavky uživatelů, což vede ke zvýšení nákladů.

Agil » Scrum

Agilní metodika scrum umožňuje rychlý vývoj a používání softwaru. V tomto procesu se nevytváří návrh a tvorba celého softwaru, ale postupuje se po menších částech, které se postupně zpracovávají a nasazují na produkci. V tomto modelu vývoje na projektu pracuje celý tým najednou v tzv. sprintech, ty se opakují ve stanovených intervalech, obvykle 1-4 týdny. Každý sprint obsahuje sadu menších úkolů, jež se vždy po dokončení nasazují zákazníkovi.

Role metodiky

Vlastník produktu (product owner) stanovuje požadavky za zákazníka a přidává jednotlivé úkoly, seřazené dle priorit, do backlogu (seznam úkolů). Úkoly pak přiděluje týmu. Product owner může být jak na straně zákazníka, tak externě, či přímo u dodavatele. Jeho zodpovědností je, aby zákazník dostal to, co skutečně potřebuje a v pořadí, jaké je pro něj důležité.

Vývojový team zpracovává jednotlivé tasky/issue (úkoly/požadavky) z backlogu. Tým je složen z jednotlivců, kteří mají na starost jednotlivé části jako design, kód, test atd. podle svého zařazení. Tým zpracovává jednotlivé požadavky společně, aby dodal do konce sprintu všechny požadavky funkční.

Scrum master se stará o fungování týmu a zajišťuje vše potřebné, aby tým mohl úspěšně dokončit sprint. Dohlíží na průběh procesu a zodpovídá, že bude vše dodrženo tak, jak bylo dohodnuto a naplánováno.

Výhody

  1. Umožňuje snadněji zpracovat změny v požadavcích.
  2. Software lze používat mnohem dříve, alespoň v omezené formě.
  3. Díky možnosti používat dříve jednotlivé části softwaru, lze rychleji odhadnout potřebné změny a ty zapracovat.
  4. Na konci vývoje zákazník používá software, jaký potřebuje, nikoliv jaký objednal v první fázi návrhu.

Nevýhody

  1. Vstupní analýza nebývá tak podrobná a některé pozdější požadavky mohou výrazně zdražit jejich úpravu.
  2. Konečná cena vývoje softwaru není dopředu známá a zákazník musí mít připravený budget, který je ochotný do vývoje investovat, aniž by měl jistotu, že bude obsahovat všechny plánované části.

scrum-vyvojovy-proces

Waterfall vs. Agil

Waterfall je nejběžnější postup softwarového vývoje, ale často bývá nahrazován agilními metodami tam, kde se snaží zefektivnit celý proces vývoje. Waterfall je vhodný pro menší aplikace a scrum se často nasazuje na náročnější či dlouhodobé projekty.

Obě metody lze aplikovat na cokoliv, nejen software development, ale třeba i na stavbu domu, kdy se rozhodneme, jestli připravíme projekt a následně budeme čekat na jeho realizaci nebo postavíme jen část domu, brzy bydlíme a postupně přistavujeme to, co nejvíce potřebujeme, přičemž přitom měníme své představy.


Doporučený dodavatel:

www.SOLARIS.media


Doporučujeme navštívit Wiki: Vodopádový model Agilní metodikyScrum

Zpátky na začátek stránky