Softwarové inženýrství

Metodiky budování IS

Existují různé metodiky vývoje softwaru, které se liší ve svém přístupu a zaměření. Následující seznam přináší přehled některých z těchto metodik:

Rigorózní metodiky

Rigorózní metodiky se zaměřují na přesné specifikování požadavků a procesů předem a snaží se minimalizovat změny během vývoje. Klíčové charakteristiky rigorózních metodik zahrnují:

  • Detailní specifikace požadavků a procesů předem
  • Důraz na formalitu, dokumentaci a direktivní řízení
  • Používání standardních a velkých projektů
  • Příklady rigorózních metodik zahrnují OPEN, RUP a EUP

Agilní metodiky

Agilní metodiky kladou důraz na pružnost, spolupráci a dodávku provozuschopného softwaru s hodnotou pro zákazníka. Hlavní rysy agilních metodik zahrnují:

  • Individualita a pozitivní přístup ke změnám
  • Důraz na dodávku software a přidanou hodnotu pro zákazníka
  • Častá komunikace a spolupráce se zákazníkem
  • Využití silných stránek jednotlivců a osobní komunikace

Deset hlavních principů agilních metodik zahrnuje:

  1. Včasná a kontinuální dodávka softwaru s hodnotou pro zákazníka
  2. Možnost změny požadavků i během vývoje
  3. Denní spolupráce mezi uživateli a vývojáři
  4. Podpora motivovaných jedinců
  5. Důraz na osobní komunikaci
  6. Zaměření na fungující software
  7. Průběžné zlepšování a učení se
  8. Kvalitní technické řešení a návrh
  9. Jednoduchost řešení a minimalizace nevykonané práce
  10. Samoorganizující se týmy

Rigorózní a agilní metodiky jsou dva odlišné přístupy k řízení projektů a vývoji software. Zde jsou hlavní rozdíly mezi těmito metodikami:

Rigorózní metodiky:

  1. Vodopádový model: Vodopádový model je jedním z nejznámějších příkladů rigorózních metodik. Projekt je rozdělen do sekvenčních fází, jako je analýza, návrh, implementace, testování a nasazení. Každá fáze musí být dokončena, než se přejde na další.

    • Významné vlastnosti: Plánování a dokumentace jsou důležité, silná kontrola kvality, přísné dodržování plánu.
  2. Spiralový model: Spiralový model kombinuje aspekty vodopádu a prototypování. Projekt je rozdělen do opakujících se cyklů, které se nazývají spirály. Každá spirála zahrnuje činnosti analýzy rizik, vývoje, testování a hodnocení.

    • Významné vlastnosti: Zahrnuje analýzu a řízení rizik, iterativní přístup, silná kontrola a hodnocení.

Agilní metodiky:

  1. Scrum: Scrum je jednou z nejpopulárnějších agilních metodik. Projekt je rozdělen do krátkých iterací nazývaných "sprinty", které trvají obvykle 1-4 týdny. Na začátku každého sprintu je vytvořen backlog úkolů a tým pracuje na jejich splnění.

    • Významné vlastnosti: Flexibilita, silná komunikace a spolupráce, adaptabilita na změny.
  2. Kanban: Kanban je založen na vizuálním zobrazení práce na "kanbanové desce". Úkoly jsou reprezentovány kartami a posouvají se po fázích desky (např. "čeká na zpracování", "v procesu", "hotovo").

    • Významné vlastnosti: Vizuální sledování práce, omezení pracovního postupu, pružnost v prioritizaci úkolů.

Hlavní rozdíly mezi rigorózními a agilními metodikami:

  1. Přístup k plánování: Rigorózní metodiky se zaměřují na předem stanovený plán a dodržování jeho fází, zatímco agilní metodiky klade důraz na flexibilitu a schopnost reagovat na změny.

  2. Flexibilita: Rigorózní metodiky mají tendenci být méně flex

ibilní, zatímco agilní metodiky se přizpůsobují měnícím se podmínkám a požadavkům.

  1. Spolupráce a komunikace: Agilní metodiky kladou důraz na týmovou spolupráci a komunikaci, zatímco rigorózní metodiky se více zaměřují na individuální úkoly a dodržování postupů.

  2. Změnový management: Agilní metodiky jsou lépe vybaveny pro řízení změn a rizik, zatímco rigorózní metodiky se spíše zaměřují na minimalizaci rizik a dodržování plánu.

Je důležité si uvědomit, že existuje mnoho různých metodik v rámci každé kategorie, a každá z nich má své vlastní specifické vlastnosti a přístupy k řízení projektů a vývoji software.

Dynamic Systems Development Method (DSDM)

DSDM kombinuje přístup rychlého vývoje aplikací (RAD) s objektově orientovaným vývojem. Metodika DSDM je postavena na devíti principech, které zahrnují:

  • Aktivní zapojení uživatele
  • Tým s rozhodovací pravomocí
  • Časté dodávky produktů
  • Podpora podnikových cílů jako klíčového kritéria pro přijetí dodávky
  • Iterativní a inkrement

ální vývoj

  • Změny v průběhu vývoje
  • Definice požadavků na hrubé úrovni
  • Testování v průběhu celého životního cyklu

Adaptive Software Development (ASD)

ASD představuje filosofické zázemí pro agilní metodiky a je silně ovlivněna teorií komplexních adaptivních systémů. Klíčové rysy ASD zahrnují:

  • Přizpůsobení se změnám a adaptace na ně
  • Dynamický cyklus "Speculate-Collaborate-Learn" s důrazem na učení

Lean Development (LD)

LD aplikuje principy známé z Lean Manufacturing a Total Quality Management na vývoj softwaru. Klíčové prvky LD jsou:

  • Schopnost rychle a efektivně reagovat na požadavky
  • Vytváření stabilních a neustále se zlepšujících vnitřních procesů
  • Tolerance ke změnám s minimálním vynaložením zdrojů

Feature Driven Development (FDD)

FDD je agilní metodika, která zdůrazňuje modelování a procesní řízení ve vývoji. Hlavní rysy FDD zahrnují:

  • Iterativní vývoj řízený funkcemi (feature-driven)
  • Důraz na detailní modelování produktu

Crystal metodiky

Crystal metodiky jsou rodinou metodik určených pro různé typy projektů. Výběr konkrétní metodiky z rodiny Crystal závisí na velikosti projektu, důležitosti systému a dalších hlediscích, jako je produktivita nebo trasovatelnost. Jednotlivé metodiky jsou pojmenovány podle barev.

Scrum

Scrum je framework pro řízení projektů. Na rozdíl od přesně definovaných procesů, je Scrum empirickým procesem, který vyžaduje pravidelnou inspekci a adaptaci. Klíčové role v Scrumu zahrnují Product Ownera, Team a ScrumMastera. Průběh Scrumu zahrnuje vytvoření product backlogu, plánování sprintu, denní Scrum meeting, review a retrospektivu sprintu.

Previous
Návrhové vzory