Vysvětleny fáze životního cyklu agilního softwaru
#On startups
Metodika vývoje agilního softwaru je jedním z nejjednodušších a přitom efektivních způsobů, jak dodat skvělý produkt na trh. A přesto, někde na cestě, to lidé začali opravdu překomplikovat. Správně implementovaný Agile je rychlý, flexibilní, odolný proti chybám a prostě lepší způsob, jak řídit vývojové týmy softwaru. V tomto článku vysvětlíme fáze životního cyklu vývoje softwaru Agile a jak začlenit principy Agile.
Obsah
Klíčové principy agilního rozvoje
Hlavní myšlenky Agile vývoj byl načrtnut v původním Manifestu pro agilní vývoj softwaru. Jsou-li shrnuty, jsou to:
- Změna je nevyhnutelná. Projekt se mu musí přizpůsobit, spíše než jej ignorovat;
- Poskytování výsledků je důležitější než zavedené procesy a nástroje;
- Potřeby skutečných zákazníků mají přednost před požadavky rozvojových plánů.
Tyto myšlenky jsou dále popsány v Klíčových zásadách agilního vývoje softwaru.
Agile se zaměřuje na spokojenost koncových uživatelů. Všechny úkoly, které přímo nepracují na jeho zlepšení, jsou druhoradé. A zatímco vývojové týmy Agile stále pracují na vytváření procesů, psaní dokumentace a sledování plánů, tyto úkoly lze odložit nebo provést na minimální přijatelné úrovni, pokud ohrožují efektivitu vývoje.
Agilní metodika Vysvětleno
Hlavním nástrojem agilního vývoje je iterace. Iterace je proces, při kterém se sada akcí opakuje v pořadí, dokud není splněna podmínka.
Různé metody agilního vývoje dosahují iterace různými způsoby. Scrum například implementuje Sprinty. Sprinty jsou pevná časová období – obvykle 1–2 týdny – během nichž vývojový tým dokončí určitou část funkčnosti a dosáhne předem stanovených cílů.
Potřebujete pomoc s vývojem softwaru?
Relevant poskytuje služby vývoje softwaru pro celý cyklus od průzkumu trhu a obchodních analýz až po návrh, vývoj a uvedení na trh. Můžeme vám pomoci sestavit váš produkt od A do Z. Kontaktujte nás a získejte nabídku.
Získejte nabídku zdarma
Zde je příklad pracovního postupu v rámci jednoho Scrum Sprint:
- Vlastník produktu – ten, kdo je odpovědný za jeho dokončení – zkontroluje neúplné úkoly v produktovém backlogu. Zastaralé úkoly budou odebrány, zatímco budou přidány nové;
- Vlastník produktu stanoví rozsah nového Sprintu a cíl, kterého chce dosáhnout.
- Vlastník produktu má plánování Setkání s vývojovým týmem. Vytvářejí uživatelské příběhy, které se rozkládají na úkoly pro určitý Sprint uložený v Backlogu.
- Vývojový tým pořádá každodenní schůzky, během nichž se průběžně informuje o pokroku jednotlivých členů týmu;
- Jakmile vyprší časový rámec Sprintu, Sprint je považován za úplný. Nedokončené úkoly jsou přesunuty zpět do produktového backlogu; Ve výjimečných případech může vlastník produktu změnit konečné datum Sprintu.
- Vlastník produktu pořádá demonstraci pro zákazníka a ukazuje práci odvedenou během Sprintu.
- Vlastník produktu pořádá setkání s vývojovým týmem, kde jsou výsledky Sprintu přezkoumáno. Tým stanoví, co bylo provedeno dobře a jaké procesy lze zlepšit v příštím sprintu. Tato recenze se nazývá Sprint Retrospective.
- Další Sprint začíná.
Pravidelná kontrola nevyřízených položek pomáhá udržovat relevanci funkcí nevyřízených položek. Omezený rozsah Sprintů a jejich předem stanovené cíle pomáhají vývojářům dokončit smysluplnou práci včas. Kontinuální vitríny nových funkcí udržují zákazníka spokojeného a schopného poskytovat zpětnou vazbu. Celkově se vývoj stává efektivnějším.
POZNÁMKA. Scrum je pouze jednou z agilních metodik z mnoha. Například Kanban nemá žádný ekvivalent Sprintu a místo toho si udržuje svou relevanci prostřednictvím neustále aktualizované fronty priorit úloh.
Stáhnout ebook
Klíčové fáze životního cyklu agilního vývoje softwaru
Když to rozdělíte na základní koncepty, agilní vývoj není tak obtížný. A i když se to může zdát zbytečné s počtem zúčastněných schůzek šetří spoustu času optimalizací vývojových úkolů a snížením chyb ve fázích plánování.
Fáze 1: Požadavky
Než může vlastník produktu vůbec začít navrhovat projekt, musí vytvořit počáteční dokumentaci, ve které budou uvedeny počáteční požadavky. Jsou to:
- Konečný výsledek, kterého projekt dosáhne. Například textový editor;
- Funkce, které bude podporovat. Například různé velikosti písma;
- Funkce, které původně nebude podporovat. Například přidání animací do textu nebo schopnost vložit video;
Obecným doporučením je tyto počáteční požadavky co nejsnadněji snížit přidáním pouze nezbytně nutných funkcí a ignorováním těch, které nebude používán často. Vývojáři na nich mohou pracovat později, jakmile je aplikace nasazena a základní funkce budou fungovat dobře.
POZNÁMKA: Pokud se vývojáři rozhodnou tuto fázi ignorovat, jsou náchylní k dotvarování funkcí – situace, kdy nové nepodstatné funkce se do projektu neustále přidávají, čímž vývojářům odpadá čas důležitých úkolů.
Při dalších iteracích klient a vlastník produktu zkontrolují požadavky a učiní je relevantnějšími.
Fáze 2: Návrh
Existují dva způsoby přístupu design ve vývoji softwaru – jeden je vizuální design a druhý je architektonická struktura aplikace.
Softwarový design
Během první iterace sestaví vlastník produktu svůj vývojový tým a představí požadavky vytvořené během předchozí fáze. Tým poté diskutuje o tom, jak tyto požadavky řešit, a navrhuje nástroje potřebné k dosažení nejlepšího výsledku. Například tým definuje programovací jazyk, rámce a knihovny, které projekt bude používat.
Při dalších iteracích vývojáři diskutují o implementaci funkcí a vnitřní struktuře přijde.
UI / UX Design
Během této fáze SDLC návrháři vytvářejí hrubý model uživatelského rozhraní. Pokud je produkt spotřebitelské úrovně, je nejdůležitější uživatelské rozhraní a uživatelská zkušenost. Obecně je tedy dobrý nápad zkontrolovat možné konkurenty, aby zjistili, co dělají správně – a zejména co dělají špatně.
Další iterace se vynakládají na zdokonalení původního návrhu a / nebo jeho přepracování tak, aby vyhovovalo nové funkce.
Fáze 3. Vývoj a kódování
Fáze vývoje spočívá v psaní kódu a převodu návrhové dokumentace na skutečný software v rámci procesu vývoje softwaru. Tato fáze SDLC je obecně nejdelší, protože je páteří celého procesu.
Mezi iteracemi zde není mnoho změn.
Fáze 4. Integrace a testování
Tato fáze se věnuje zajištění toho, aby byl software bez chyb a kompatibilní se vším ostatním, co vývojáři napsali dříve. Tým Quality Assurance provádí řadu testů, aby zajistil, že je kód čistý a jsou splněny obchodní cíle řešení.
Během dalších iterací této fáze SDLC se testování více zapojuje a neúčtuje pouze pro testování funkčnosti, ale také pro integraci systémů, interoperabilitu a testování přijatelnosti uživatelů atd.
Fáze 5. Implementace a nasazení
Aplikace je nasazena na serverech a je poskytována zákazníky – buď pro ukázku, nebo pro skutečné použití. Další iterace aktualizují již nainstalovaný software, zavádějí nové funkce a řeší chyby.
Stáhněte si dokument
Fáze 6. Recenze
Jakmile jsou dokončeny všechny předchozí fáze vývoje, vlastník produktu znovu shromáždí vývojový tým a zkontroluje pokrok směrem k splnění požadavků. Tým představí své myšlenky na řešení problémů, které vznikly během předchozích fází, a vlastník produktu vezme v úvahu jejich návrhy.
Poté začnou fáze životního cyklu vývoje softwaru Agile znovu – buď s novou iterací, nebo přechodem do další fáze.
Začlenění obecných principů Lean do agilní metodiky
Mezi principy Lean patří:
- Eliminujte odpad;
- Vytvářejte kvalitu;
- Vytvářejte znalosti;
- Ukažte odpovědnost;
- Doručujte rychle;
- Respect People;
- Optimize As A Whole.
Celkově tyto hodnoty docela dobře odpovídají metodice Agile a lze je použít k doplnění, pokud se vyskytnou otázky .
Závěr
Vývoj softwaru je strukturovaný iterativní proces. Neexistuje však jediný „správný“ způsob, jak dělat Agile – jsou jen takové, které se hodí nebo nehodí pro konkrétní tým.Každá společnost má svou vlastní představu o tom, co představuje agilní vývoj, a každá z nich má své výhody. Na konci dne je důležitý cenný finální produkt dodávaný včas.
A takto my ve společnosti Relevant Software vyvíjíme aplikace šité na míru, které splňují obchodní potřeby našich klientů. Agilní paradigmata používáme pro všechny naše projekty a neustále přinášíme vynikající výsledky.