Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro toto doporučení kontrolního seznamu provozní efektivity architektury Azure Well-Architected Framework:
| OE:03 | Formalizace procesů v celém životním cyklu vývoje softwaru od ideace po doručení a zajištění jejich transparentnosti pro tým a zúčastněné strany. |
|---|
Vývoj softwaru je víc než jen vytváření kódu. Vývojáři musí jasně pochopit, co vytvořit a proč, zatímco vlastníci produktů a manažeři udržují přehled o tom, jaká práce se dělá a jak postupuje. Díky vytvoření konzistentních postupů mohou týmy poskytovat kvalitní výsledky, včas identifikovat rizika, řídit očekávání a sledovat pokrok.
Tato příručka obsahuje doporučení, jak spouštět vývoj softwaru strukturovaným, předvídatelným a spolupracujícím způsobem.
Stanovení standardů pro správu změn
Při vývoji softwaru se každá jednotka práce mění. Dokonce i nové funkce představují posun z neexistujícího stavu na implementovaný.
Při zahájení práce na požadované změně postupujte takto:
Spolupracujte. Týmy by měly spolupracovat místo izolace. Většina změn ovlivňuje více než jednu komponentu nebo roli. Zapojte vývojáře, testery, operace a účastníky produktů včas, abyste měli jistotu, že důležité podrobnosti nezmeškáte a že všichni chápou dopad na svou oblast. Vede také k přesnějším odhadům úsilí, protože lidé s relevantními zkušenostmi mohou přispět k jejich perspektivě.
Udržujte cíle spolupráce jednoduché. Odsouhlaste rozsah změny, identifikujte závislosti a rozdělte práci na jasné, spravovatelné úkoly a dokumentujte je v backlogu.
Komunikujte. Standardizujte, jak tým komunikuje o verzích interně i externě. Definujte, jaké informace by se měly sdílet s externími cílovými skupinami (jako jsou zákazníci), příslušnou úroveň podrobností, požadovanou onboardingovou nebo podpůrnou dokumentaci a časovou osu komunikace. Například upozorněte účastníky dva týdny před vydáním a pošlete připomenutí 24 hodin před nasazením.
Retrospektiva. Pravidelně kontrolujte každý vývojový cyklus a zjistěte, co fungovalo, co nebylo a co se dá zlepšit. Udržujte tyto recenze konstruktivní a zaměřené na učení.
Pomocí této příležitosti můžete zkontrolovat, jestli jsou platné standardní postupy. Například jestli byly úkoly vývojářů jasně definované, odhady času byly přesné a procesy fungují podle očekávání.
Sestavy. Standardizujte zprávy o změnách produktu. Udržujte sestavy zaměřené na růst produktů, nikoli na produktivitu jednotlivých vývojářů. Je například vhodné, aby zúčastněné strany sledovaly:
- Růst adopce
- Vylepšení výkonu
- Čas onboardingu
- Četnost incidentů
Volba osvědčených nástrojů v oboru
Místo vynalézání vlastního procesu používejte osvědčené procesy, jako jsou Agile, Scrum a Kanban.
Používání osvědčených přístupů šetří čas, snižuje úsilí a usnadňuje členům týmu, protože většina z nich by už měla být obeznámená s těmito nástroji. Standardní nástroje také zjednodušují onboarding nových zaměstnanců a zlepšují spolupráci napříč týmy.
Kompromis: Agilní metodologie může být příliš pevná, pokud je příliš preskriptivní. Snažte se o rovnováhu mezi dobře definovanými standardy a inovacemi.
Standardizace způsobu zaznamenávání vývoje
Standardizujte šablonu pro zachycení diskrétní jednotky práce. Měla by být napsána z pohledu uživatele a měla by se řídit těmito principy:
- Nezávislý. Jeden příběh by neměl záviset na druhém, aby nedocházelo k překrývání práce.
- Lze sjednat. Buďme otevření diskusi a upřesnění, protože práce musí být realistická z pohledu vývoje a v souladu s obchodními cíli.
- Cenné. Musí jasně zlepšovat uživatelskou zkušenost.
- Odhadnutelné. Tým může s jistotou odhadnout úsilí, aby funkce byla doručena včas. Upřednostněte malé položky, které je možné dokončit během několika týdnů nebo méně.
- Testovatelné. Existuje jasný způsob, jak ověřit funkčnost a nasazení funkce.
Poznámka:
Všechny vývojové prostředky v produkčním prostředí by měly být trasovatelné zpět na kód, testy, kritéria přijetí a položky backlogu. Sledování podporuje kontrolu kvality, zjednodušuje ladění a pomáhá splňovat požadavky na dodržování předpisů v regulovaných prostředích.
Standardizujte také šablonu pro kritéria přijetí, aby tým a účastníci věděli, že práce je dokončená. Každou jednotkou práce by měla být kritéria přijetí, která nejsou nejednoznačná a je možné ji ověřit pomocí testů.
Ujistěte se, že všichni souhlasí s tím, co znamená "hotovo" pro vývojový cyklus. To by mělo zahrnovat dokončený kód, dokončené testování, aktualizovanou dokumentaci a vyřešenou přístupnost. Jasné definice brání v nahromadění nedokončené práce.
Příležitost k umělé inteligenci: Psaní popisů práce a kritérií přijetí lze na základě zásad organizace šablonovat. Pomocí Copilotu můžete z těchto šablon vygenerovat počáteční koncepty. AI může také vynucovat standardy ověřováním dokumentů v těchto šablonách. V případě pokročilých scénářů využijte agenty AI uzemněné ve standardních šablonách k využívání výstupů z kontrol kódu a analýz původní příčiny a pak automaticky vytvářet vyhovující pracovní položky pro identifikované vady a vylepšení.
Standardizace postupů kódování
Postupy kódování definují konvence a pokyny, které vývojáři při psaní kódu a spolupráci na nich sledují. Tyto postupy stanoví, jak se kód strukturuje, dokumentuje a kontroluje v rámci týmů i napříč týmy. Pomáhá také zrychlit onboarding vývojářů a snížit vady způsobené variací implementace.
Vývojové prostředí a nástroje. Standardizujte konfigurace ide, vývojové nástroje a schválené nástroje pro generování kódu napříč týmy. Vynucujte používání běžných knihoven, architektur a standardů správy balíčků, aby bylo možné propagovat opakované použití, zajistit konzistenci a dodržovat požadavky na zabezpečení organizace.
Konvence kódování Definujte a dokumentujte kódovací standardy, které se týkají konvencí pojmenování, struktury kódu a formátování. Doporučuje se vynucovat standardy v blocích kódu, které zpracovávají výjimky a instrumentaci. Jasné konvence usnadňují čtení, pochopení a údržbu kódu a pomáhají týmům konzistentně pracovat napříč funkcemi a komponentami. Ujistěte se, že jsou tyto pokyny přístupné všem vývojářům a pravidelně se aktualizují při vývoji základu kódu. Pomocí editorConfig v prostředí sady Visual Studio můžete například vynutit styly kódování.
Úložiště kódu. Vytvořte a vynucujte standardizované strategie větvení, jako je Gitflow, GitHub Flow nebo Trunk-Based Vývoj ve všech úložištích, abyste zajistili konzistentní postupy integrace a vydávání kódu.
Partnerské recenze. Definujte standardy žádostí o přijetí změn, které určují přijatelnou velikost žádosti o přijetí změn, požadované formáty názvu a popisu a povinné požadavky na kontrolu. Vyžadujte kontroly kódu pro každou změnu, aby byly dodrženy standardy. Definujte model spolupráce pro kontroly žádostí o přijetí změn, který nastavuje očekávání pro zodpovědnosti, zpětnou vazbu a schválení.
Šablony pro běžné artefakty Popisy žádostí o přijetí změn, zprávy o provedení a jednotkové testy jsou klasické příklady, které lze šablonovat. Ujistěte se, že dokumentace obsahuje účel, kontext a testovací kroky.
Pokrytí testy. Vyžaduje testy jednotek pro všechny nové kódy a významné změny stávajícího kódu. Testy by měly dodržovat schválené vzory a obsahovat smysluplné kontrolní výrazy pro ověření funkčnosti.
Příležitost AI: Nástroje AI můžou automatizovat opakující se ruční úlohy při psaní kódu a kontrole procesů. GitHub Copilot může generovat standardizované bloky kódu, testy jednotek a popisy žádostí o přijetí změn, což snižuje úsilí vynaložené na rutinní práci.
Nástroje, jako je SonarQube nebo Copilot Labs, můžou automaticky identifikovat odchylky od programovacích standardů, chybějící pokrytí testů a běžných anti-vzorů. Přesměrováním těchto opakovaných ověřovacích úkolů na AI se týmy uvolní, aby se zaměřily na práci s vyšší hodnotou. Lidský přezkum však zůstává nezbytný, protože vývojové postupy jsou nezbytné pro správnou implementaci obchodní logiky a celkové kvality úloh.
Standardizace postupů integrace
Integrace odkazuje na automatizované procesy a konvence používané k ověření, zabezpečení a zabalení kódu při procházení životního cyklu vývoje. To zahrnuje, jak se změny kódu vytvářejí, testují, skenují a připravují k nasazení jako součást kanálů kontinuální integrace.
Standardizace integračních postupů je nezbytná k ověření kódu proti definovaným požadavkům na kvalitu a zabezpečení a také k rychlejší smyčce zpětné vazby pro vývojáře.
- Sestavování automatizace a integrovaného testování: Standardizujte automatizované buildy, které běží na každém nabízeném kódu, a vynucujte automatizované testování jednotek a integrace s definovanými prahovými hodnotami pokrytí, pokud je to možné.
- Analýza kvality kódu: Pomocí schválených nástrojů použijte statickou analýzu kódu a brány pro zvýšení kvality, abyste zajistili, že kód před povýšení splňuje definované standardy kvality.
- Správa závislostí: Nepřetržitě prohledávat závislosti na zastaralých nebo ohrožených komponentách a integrovat kontrolu zabezpečení, včetně SAST, DAST a detekce tajných kódů.
- Správa artefaktů: Standardizujte zásady správy verzí balíčků a artefaktů, úložiště a uchovávání, abyste zajistili sledovatelnost a reprodukovatelnost.
- Sledování a vytváření zpráv: Shromážděte a monitorujte metriky sestavení a pipeline za účelem sledování kvality, výkonu a dodržování předpisů.
Příležitost AI: Zvažte pracovní postupy řízené AI k automatizaci opakovaných úloh integrace, jako je generování konfigurací kanálů CI/CD, vytváření testovacích uživatelského rozhraní a zjišťování problémů se sestavením nebo testováním, jako jsou chybějící testy nebo problémy se závislostmi. I když AI zrychluje nastavení procesu, zajistěte, aby se zachovala lidská kontrola a ověřila důležitá rozhodnutí.
Usnadnění Azure
Azure Boards je webová služba, která týmům umožňuje plánovat, sledovat a diskutovat o práci napříč celým procesem vývoje. Je vhodný pro agilní vývojové postupy.
GitHub Projects je přizpůsobitelný nástroj pro správu projektů, který umožňuje organizovat projekty a integrovat je pomocí problémů a žádostí o přijetí změn na GitHubu.
Související odkazy
Komunitní odkazy
Kontrolní seznam pro efektivitu provozu
Projděte si kompletní sadu doporučení.