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 zahrnuje více než vytváření kódu. Vývojáři musí jasně pochopit, co vytvořit a proč. Vlastníci a manažeři produktů udržují přehled o tom, co se dělá a jak postupuje. Díky vytvoření konzistentních postupů můžou týmy poskytovat kvalitní software, včas nakládat rizika a ří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ě mějte na paměti tyto aspekty:
Spolupracovat. 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ů na začátku, abyste měli jistotu, že důležité podrobnosti nebudou vynechány a že všichni chápou dopad na jejich oblast. Spolupráce také vede 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.
Zpětný pohled. 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. Zkontrolujte například, jestli byly úlohy vývojářů jasně definované, odhady času byly přesné a procesy fungují podle očekávání.
Zprávy. 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 vymýšlení vlastních procesů používejte osvědčené procesy, jako jsou Agile, Scrum a nástěnky 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 s těmito nástroji obeznámená. 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í samostatných jednotek práce. Měla by být napsána z pohledu uživatele a dodržovat tyto zásady:
Nezávislé. Aby nedocházelo k překrývání práce, nemělo by jedno sdělení záviset na jiném.
Obchodovatelné. Práce by měla být otevřená pro diskuzi a upřesnění, protože práce musí být realistická z hlediska vývoje a sladěná s obchodními cíli.
Cenné. Práce musí být pro uživatele jasně přínosná.
Odhadnutelné. Tým musí být schopný s jistotou odhadnout úsilí, aby bylo možné funkci včas doručit. Upřednostněte malé položky, které je možné dokončit během několika týdnů nebo méně.
Prověřitelný. Musí existovat jasný způsob, jak ověřit funkčnost a nasazení této 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á týmům 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ždá jednotka práce by měla být kritériem přijetí, která nejsou nejednoznačná a mohou být ověřena testy.
Ujistěte se, že všichni souhlasí s tím, co znamená "hotovo" pro vývojový cyklus. Požadavky by měly 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 umělé inteligence: Na základě zásad organizace můžete šablonovat popisy práce a kritéria přijetí. K vygenerování počátečních konceptů ze šablon použijte Copilot. AI může také vynucovat standardy ověřováním dokumentů proti šablonám. V případě pokročilých scénářů používejte agenty AI, které jsou založené na 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. Také urychlují onboarding vývojářů a snižují vady způsobené variantami 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é pokrývají konvence vytváření názvů, strukturu kódu a formátování. Doporučujeme vynucovat standardy v blocích kódu, které zpracovávají výjimky a implementují 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 k těmto pokynům mají přístup všichni vývojáři a pravidelně se aktualizují s tím, jak se vyvíjí základ kódu. Můžete například použít EditorConfig v Visual Studio k vynucení stylů kódování.
Úložiště kódu. Vytvořte a vynucujte standardizované strategie větvení, jako je Gitflow, GitHub Flow nebo vývoj založený na kmenech, napříč všemi úložišti, abyste zajistili konzistentní postupy integrace a vydávání kódu.
Partnerské recenze. Definujte standardy pro pull requesty (PR), které stanoví přijatelnou velikost PR, požadované formáty názvu a popisu a povinné požadavky na revizi. Vyžadujte u každé změny kódu kontrolu kolegou, aby bylo zajištěno dodržování standardů. 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, potvrzení zpráv a testy jednotek jsou klasickými příklady artefaktů, které je možné šablonovat. Ujistěte se, že dokumentace obsahuje účel, kontext a testovací kroky.
Test pokrytí. 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 umělé inteligence: Nástroje AI můžou automatizovat opakované 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 a Copilot Labs, můžou automaticky identifikovat odchylky od programovacích standardů, chybějícího 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 důležité pro správnou implementaci obchodní logiky a celkové kvality úloh.
Standardizace postupů integrace
Integrace se týká automatizovaných procesů a konvencí používaných k ověřování, zabezpečení a zabalení kódu při procházení životního cyklu vývoje. Zahrnuje, jak jsou změny kódu sestavovány, testovány, skenovány a připravovány k nasazení jako součást pipeline kontinuální integrace.
Standardizované integrační postupy jsou 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: Použijte statickou analýzu kódu a brány kvality pomocí schválených nástrojů, abyste zajistili, že kód před povýšením splňuje definované standardy kvality.
Správa závislostí: Nepřetržitě kontrolovat závislosti na zastaralých nebo ohrožených komponentách a integrovat kontrolu zabezpečení, včetně testování zabezpečení statických aplikací (SAST), dynamického testování zabezpečení aplikací (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 umělé inteligence: Zvažte použití pracovních postupů založených na umělé inteligenci k automatizaci opakovaných úloh integrace, jako je generování konfigurací kanálů CI/CD, vytváření vygenerovaných testů 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. Přestože AI urychluje nastavení pipeline, zachovejte lidskou kontrolu, abyste ověřili zásadní 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í.