Životní cyklus vývoje softwaru pro malé týmy
Životní cyklus vývoje softwaru (SDLC) má sedm fází. U každé si ukážeme, jaký je její výstup a jak jej přidat do AboutTheApp.
Shrnutí a kontext
Životní cyklus vývoje softwaru (SDLC, software development life cycle) popisuje kroky od nápadu přes návrh, vývoj, testování a nasazení až k údržbě. Každá fáze vytváří jiné výstupy a ty pravděpodobně skončí v různých službách: v Confluence, v repozitáři, na boardu nebo v nástroji pro testování. V článku projdeme sedm fází a u každé ukážeme, kam výstup uložit a jaký odkaz si k aplikaci přidat v AboutTheApp.
1. Sedm fází a kam s jejich výstupy
Úkoly se v malém týmu často prolínají a jeden člověk může pracovat na více fázích. Přehled ukazuje, co každá fáze produkuje, v jaké podobě je výsledný výstup a do které kategorie v AboutTheApp patří jeho odkaz.
| Fáze | Co vzniká | Kde výstup obvykle je | Kategorie v AboutTheApp |
|---|---|---|---|
| Analýza a požadavky | Zadání, požadavky, PRD | Confluence, Google Docs, sdílený dokument | Analýzy a plánování |
| Návrh architektury | Diagramy, záznamy o rozhodnutích | Mermaid v repozitáři, Draw.io | Zdrojový kód a architektura |
| Plánování | Backlog, sprinty, odhady | Jira, YouTrack, GitHub Projects, Azure DevOps | Sledování úkolů |
| Implementace | Kód, větve, pull requesty | Git repozitář, Azure DevOps | Zdrojový kód a architektura |
| Testování | Testovací plán, výsledky testů | Nástroj pro testování | Monitoring a kvalita |
| Nasazení a vydání | Verze, poznámky k vydání, záznam nasazení | CI/CD, složka s poznámkami | DevOps a infrastruktura |
| Provoz a údržba | Plán údržby, kontakty, monitoring | Dokumentace, dashboard poskytovatele | Monitoring a kvalita, Podpora |
2. Analýza požadavků: do AboutTheApp uložte odkazy k dokumentům
Analýza požadavků odpovídá na otázku, co aplikace má umět a pro koho. Výstupem bývá zadání, seznam požadavků nebo PRD, které se sdílí s týmem, ale i klientem. Jakmile dokument existuje, založte si aplikaci a přidejte k ní první odkaz. Aplikace v AboutTheApp je projekt, na kterém pracujete, proto si udržujte od začátku rozcestník na veškeré materiály na jednom místě. Jak strukturovat PRD popisuje článek šablona PRD.
- 1
Přidejte odkaz na zadání
V dashboardu AboutTheApp otevřete editaci aplikace, přejděte na záložku Odkazy a zdroje a klikněte na Přidat odkaz. Vyberte kategorii Analýzy a plánování a do popisku napište například „Zadání v Confluence“.
- 2
Označte citlivé dokumenty jako soukromé
Zadání se smluvními podmínkami nebo interními informacemi označte jako soukromé. Soukromý odkaz uvidí jen přihlášení členové týmu a ti, kdo zadají odemykací kód.
3. Návrh architektury: diagramy a schémata
Architektura popisuje, z jakých částí se aplikace skládá a jak spolu komunikují. Diagramy, které jdou verzovat spolu s kódem, zapisujete třeba ve formátu Mermaid. Výhoda diagramu v repozitáři je v tom, že jej udržujete spolu se zdrojovým kódem.
Rozhodnutí o technologiích zapisujte jako krátké záznamy přímo v repozitáři, u každého uveďte datum, důvod a zapisujte i důvody, proč jste se pro nějakou variantu nerozhodli. V případě problémů pak uvidíte, proč se tým rozhodl tak, jak se rozhodl.
- 1
Přidejte odkaz na diagramy
Do kategorie Zdrojový kód a architektura přidejte odkaz na složku s diagramy nebo na soubor s architekturou. Do popisku uveďte, co odkaz obsahuje, například „Architektura (Mermaid, docs/architecture)“.
4. Plánování vývoje: odkaz na board a backlog
Z architektury a zadání vzniká backlog úkolů, který tým plánuje ve sprintech nebo průběžně. Který přístup si vybrat popisuje článek Kanban vs. Scrum a odhady náročnosti úkolů řeší článek story pointy. Obsah boardu se mění každý den, proto do AboutTheApp ukládejte odkaz na board, ne jeho aktuální stav.
- 1
Přidejte board nebo backlog
V kategorii Sledování úkolů přidejte odkaz na sprint board nebo backlog. Pokud máte více boardů, například pro vývoj a podporu, přidejte každý zvlášť a popisek upravte podle účelu boardu.
5. Implementace: repozitář a přístupy ke službám
Zdrojový kód umístěte do repozitáře, způsob organizace začleňování změn do zdrojového kódu popisuje článek strategie větvení v Gitu. Do repozitáře nepatří hesla ani API klíče. Ukládejte je do správce hesel nebo do tajných proměnných CI, více k tomu najdete v článku soubor .env a API klíče.
- 1
Přidejte odkaz na repozitář
Do kategorie Zdrojový kód a architektura přidejte odkaz na hlavní větev repozitáře. Pokud je repozitář soukromý, označte odkaz jako soukromý.
- 2
Veďte seznam služeb u aplikace
Služby, ke kterým aplikace přistupuje, uveďte ve zdrojích aplikace s odkazem na jejich správu. Klíče do AboutTheApp nezapisujte, ty mají své místo ve správci hesel nebo v tajných proměnných. Postup popisuje článek seznam služeb a API klíčů.
6. Testování: prostředí a testovací plán
Testy ověřují, že se aplikace po změnách chová podle zadání. Většina týmů je spouští na samostatném prostředí, které se od produkce liší. Základní kontrolu popisuje smoke testing a pro testování na předprodukčním prostředí si zařiďte staging prostředí. Testovací plán a výsledky testů patří k akceptačním kritériím a bývají v Confluence nebo v nástroji pro testování.
- 1
Sledujte testovací prostředí
Na záložce Prostředí a verze vidíte prostředí, ve kterých aplikace běží. U každého je uvedena verze, která je v něm nasazena.
- 2
Přidejte odkaz na výsledky testů
Odkaz na testovací plán nebo na výsledky testů uložte do kategorie Monitoring a kvalita.
7. Nasazení a vydání: verze a záznam nasazení
Vydání spojí předchozí fáze do jedné verze. Čísla verzí popisuje článek verzování aplikací a poznámky k vydání šablona poznámek k vydání. Pokud nasazení řídí CI/CD, GitHub Actions zapíše verzi a prostředí do AboutTheApp při každém nasazení a nemusíte je zapisovat ručně.
- 1
Přidejte poznámky k vydání
Poznámky k vydání zapište k příslušné verzi aplikace, anebo si je nechte zapisovat přímo z CI/CD.
- 2
Zkontrolujte záznam nasazení
Záznam o nasazení zůstává u aplikace na záložce Prostředí a verze.
8. Provoz a údržba: práce po vydání
Po vydání začíná údržba aplikace: opravy, aktualizace závislostí, monitoring a podpora. Plán údržby popisuje článek údržba softwaru, seznam aplikací, které tým provozuje, článek evidence aplikací. Logy a monitoring patří k aplikaci stejně jako repozitář, takže i jejich odkazy přidejte k aplikaci.
- 1
Přidejte monitoring a logy
Odkazy na monitoring a logy uložte do kategorie Monitoring a kvalita. Podpora pak nemusí hledat, kde hledat detailní informace k běžící aplikaci.
- 2
Uložte kontakty poskytovatelů
Kontakty na hosting, poskytovatele služeb a podporu přidejte do kategorie Podpora, aby byly po ruce při výpadku.
9. Co patří do AboutTheApp a co zůstane jinde
AboutTheApp nenahrazuje Confluence, Jiru ani repozitář. Dokumenty a kód zůstávají v nástrojích, ve kterých je tým používá. AboutTheApp udržuje odkazy v jednom místě u aplikace a případně také k zákazníkovi a prostředí, ke kterým patří. Když se nástroj změní, upravíte jen odkaz.
U každé fáze si položte jednu otázku: kde výstup najdu, až ho budu potřebovat? Pokud odpověď zní „v e-mailu“ nebo „u kolegy“, přidejte odkaz k aplikaci.
Časté otázky
Kolik fází má životní cyklus vývoje softwaru?
Modely se liší, nejčastěji se uvádí pět až sedm fází: analýza, návrh, implementace, testování, nasazení a údržba. Tento článek používá sedm, aby každá fáze měla vlastní výstup a místo, kam ho uložit.
Je životní cyklus vývoje totéž co Scrum?
Ne. Životní cyklus popisuje fáze, kterými aplikace prochází. Scrum a Kanban popisují, jak tým v rámci těchto fází plánuje práci. Scrum je jedna z metod, kterými se fáze provádějí.
Musím mít všech sedm fází zdokumentovaných?
Ne. Malý tým potřebuje u každé fáze jeden výstup a jeden odkaz. Podrobnosti přidávejte tam, kde je budete skutečně potřebovat, typicky u nasazení a údržby.
Kde mít odkazy na výstupy jednotlivých fází?
U konkrétní aplikace v AboutTheApp, v kategoriích podle fází: Analýzy a plánování, Zdrojový kód a architektura, Sledování úkolů, Monitoring a kvalita, DevOps a infrastruktura a Podpora. Soukromé odkazy uvidí jen přihlášený tým.
Ve zkratce
Každá fáze vytváří výstup a každý výstup patří na jedno místo. Pokud má každý z nich odkaz u aplikace, tým i podpora vědí, kde hledat.
Chcete mít výstupy všech fází u jedné aplikace?
Založte si zdarma aplikaci v AboutTheApp a přidejte k ní odkazy na zadání, repozitář, board, prostředí a monitoring.