Vývoj softwaru na základě V-modelu
Procesy založené na V-modelu jsou velmi často vyžadovány většími korporátními společnostmi, které potřebují přísně předvídatelné a sledovatelné plány rozdělené na jasně definované části práce.
Procesy založené na V-modelu:
Definice požadavků
Náš tým inženýrů vestavěného softwaru shromáždí požadavky zákazníka, zkontroluje je a objasní případné nedostatky ve specifikaci.
Návrh systému
Při návrhu systému rozvíjíme myšlenky a zvažujeme, jak budou funkce rozděleny mezi hardwarové a softwarové prostředky. Následně předem definujeme rozhraní a datové vztahy.
Architektura Design
V této fázi analyzujeme a vyhodnocujeme různé přístupy na vysoké úrovni, které vedou k nejjednoduššímu a nejrychlejšímu vývoji a nejnižším nákladům. Návrh systému rozdělíme na jednotlivé moduly v závislosti na jejich funkční diferenciaci.
Návrh modulu
Návrh modulu nebo jednotky je podrobná definice vnitřního návrhu na nízké úrovni se zaměřením na kompatibilitu mezi moduly.
Kódování
V závislosti na dohodě se zákazníkem se řídíme buď pokyny pro osvědčené postupy, nebo standardními pokyny zákazníka. Nevyhnutelnou součástí této fáze jsou také revize kódu a jeho optimalizace.
Modulové testy
Během tohoto procesu se implementují a provádějí skripty modulových nebo jednotkových testů. Ty odhalí maximum chyb již v rané fázi.
Integrační testování
Integrační testování ověřuje koexistenci a vzájemnou komunikaci modulů.
Testování systému
Testování systému ověřuje funkčnost celého systému a komunikaci mezi systémem a externími systémy. V této fázi se také kontroluje kompatibilita hardwaru a softwaru.
Akceptační testování
Celý softwarový produkt je testován na základě obchodních požadavků v předfinálním uživatelském prostředí. Zde se konečně testuje jak uživatelské prostředí, tak výkon systému.
Vývoj softwaru založený na agilním přístupu
Agilní vývoj softwaru je přístup založený na evoluci, který se dělí na mnoho vertikálních integračních kampaní. Podporuje neustálé zlepšování prováděné samoorganizujícím se týmem (týmy), který úzce spolupracuje s týmem zákazníka nebo koncovými uživateli.
Ve velké míře používáme jeden ze dvou frameworků pro vývoj softwaru:
- Scrum - rámec založený na krátkých sprintech (každý z nich se provádí obvykle za dva týdny), nebo
- Kanban - rámec s kontinuálním pracovním postupem. V prvním kroku se backlog naplní epikami/příběhy/problémy/úkoly a všechny položky se odhadnou.
Typické události Scrumu v našem týmu jsou:
Sprint
Časové okno obvykle dvou týdnů, během nichž vývojový tým dokončí použitelný nebo uvolnitelný produkt (nebo jeho rozlišitelnou část).
Plán Sprint
Činnost prováděná celým týmem, která realizuje proveditelnou část práce pro sprint.
Denní Scrum
Každodenní stand-up meeting, na kterém má tým možnost vzájemně diskutovat o tom, jaký je stav, zda se někdo v něčem zasekl a na jaké problémy tým narazil.
Sprint recenze
Schůzka na konci sprintu, kde se členové týmu podělí o své nedávné zkušenosti s projektem, zhodnotí práci, která nebyla dokončena, a pohovoří se zainteresovanými stranami.
Retrospektiva sprintu
Příležitost pro týmové sebezdokonalování.
Zajímavé externí zdroje
Realizované projekty
Řešení na míru a případové studie