Doporučení pro standardizaci nástrojů a procesů
Platí pro toto doporučení kontrolního seznamu provozní dokonalosti pro Power Platform Well-Architected:
OE:04 | Optimalizujte procesy vývoje softwaru a zajišťování kvality dodržováním osvědčených postupů pro vývoj a testování. Pro jednoznačné určení rolí standardizujte postupy napříč komponentami, jako jsou použité nástroje, správa zdrojového kódu, vzory návrhu aplikací, dokumentace a průvodci stylem. |
---|
Tento průvodce popisuje doporučení pro definování standardů vývojových nástrojů a procesů. Definování konzistentních postupů vede k efektivnímu týmu pro úlohu a vysoce kvalitní práci. Vysoce výkonné týmy používají osvědčené nástroje a procesy k minimalizaci zbytečného úsilí a potenciálních chyb v kódu.
Klíčové strategie návrhu
Prvním krokem k optimalizaci vývojových postupů je standardizace nástrojů a procesů. Kdykoli je to možné, používejte osvědčená řešení namísto vývoje vlastních. U všech standardizovaných nástrojů a procesů poskytněte školení, abyste zajistili, že je vaše týmy dokážou efektivně používat.
Chcete-li definovat standardy, které vám pomohou optimalizovat vaše vývojové postupy, zvažte následující doporučení.
Používejte nástroje dostupné pro platformu
Upřednostněte používání Power Platform Tools a jinak používejte dobře známé a vyspělé běžně dostupné nástroje a standardizujte jejich použití. Vysoce efektivní inženýrské týmy používají ty nejlepší nástroje ve své třídě. Nevyvíjejte řešení pro plánování, vývoj, testování a spolupráci. Zvolte nástroje, které splňují požadavky vaší úlohy.
Nástroje by měly poskytovat následující funkce:
- Plánování práce a správa nevyřízených položek
- Správa verzí a úložiště
- Kanály nasazení
- Testování
- Vývoj a kontrola kódu
V některých případech může jeden nástroj nebo sada nástrojů poskytovat několik funkcí. Ujistěte se, že rozumíte možnostem vašich nástrojů a jejich omezením, aby splňovaly vaše požadavky napříč funkcemi.
Rozhodněte se, zda byste měli investovat do prémiových funkcí platformy nebo prémiových verzí nástrojů. Zvažte čas a úsilí při vývoji vlastních řešení v porovnání s funkcemi, které poskytují prémiové nástroje. Zvažte jednorázové náklady versus opakující se náklady. Ve většině případů poskytují vašemu týmu vyšší hodnotu běžně dostupné nástroje. Například spravovaná prostředí nabízí přednastavené funkce pro nastavení onboardingové zprávy tvůrce nebo proaktivní omezení sdílení. Vytváření těchto funkcí sami vyžaduje vývoj a průběžnou údržbu, která se může ukázat jako nákladnější než investice do spravovaných prostředí.
Když je to praktické, používejte nástroje s AI. Nástroje s AI mohou pomoci s vývojem kódu, kontrolou a optimalizací.
Vytvoření rámce řízení pro společný vývoj
Vytvořte efektivní rámec řízení společného vývoje, který zajistí konzistenci a opakovatelnost v projektech definovaných tvůrci a fúzních týmech.
Standardizujte systém a postupy správy zdrojového kódu
Zaveďte systému správy zdrojového kódu, jako je Azure DevOps. Azure DevOps poskytuje vývojářské služby týmům podpory, určené k plánování práce, spolupráci při vývoji kódu a vytváření a nasazování aplikací. Exportujte řešení z vývojového prostředí obsahující vaše aplikace a přizpůsobení, rozbalte řešení a uložte komponenty do systému řízení zdrojového kódu.
Ujistěte se, že je správa verzí řešení přesná, dodržujte pokyny pro sprint a vývojáře uvedené v části Implementace postupů Scrum pro váš tým v Azure Boards. Výsledky testů z žádosti o přijetí změn můžou mít podobu snímků obrazovky nebo videí, která znázorňují vytvářené funkce. Automatizace procesu zásad správného řízení pro žádostí o přijetí změn pomáhá zajistit kvalitu kódu, aniž by bylo nutné ručně kontrolovat základní kontroly, například ohledně verzí řešení.
Vytvářejte šablony, které zajistí efektivitu a podpoří konzistenci. Všechny aspekty provozu týmu těží ze standardizace a zjednodušení, od úkolů onboardingu a prezentací přezkumu příběhů až po šablony pracovních položek navržené tak, aby šetřily čas a poskytovaly týmům pokyny při definování uživatelských scénářů, funkcí, chyb a úkolů.
Vyhodnoťte metriky pro kvantifikaci účinnosti
Týmy pro vývoj a zajištění kvality se mohou zlepšovat pouze tehdy, když kvantifikují svou efektivitu. Aby mohli kvantifikovat efektivitu, musí identifikovat metriky, které měří rychlost vývojáře a definovat klíčové ukazatele výkonnosti (KPI).
Zde jsou některé takové metriky:
- Doba realizace: Doba, za kterou úkol nebo příběh uživatele přejde z nevyřízených položek do provozního nasazení.
- Střední doba do vyřešení: Průměrná doba strávená opravou chyb nebo defektů v kódu.
- Míra selhání změn: Procento změn, které vedou k selhání.
Chcete-li účastníkům a týmu úlohy pomoci snadno sledovat rychlost, vizualizujte ukazatele KPI pomocí řídicích panelů nebo jiných nástrojů pro vykazování.
Standardizujte, jak tým úlohy zapisuje, kontroluje a dokumentuje kód
Standardizujte, jak tým úlohy zapisuje, kontroluje a dokumentuje kód použitím průvodce stylem. Standardní styl usnadňuje spolupráci a pomáhá s nabíráním nových vývojářů. Aby noví vývojáři pracovali efektivně, potřebují vědět, jak tým úlohy funguje. Průvodce stylem s jasně definovanými standardy může usnadnit jejich proces školení.
Průvodce stylem by měl zahrnovat:
- Konvence vytváření názvů pro řešení, artefakty, ovládacích prvky, akce, prostředí, větve a sestavení
- Standardy pro zpracování chyb
- Běžné vzorce nebo knihovny
Sledujte rozhodnutí o architektuře, abyste týmům pomohli udržet si nové porozumění zátěži a umožnili novým členům týmu dozvědět se o rozhodnutích o návrhu učiněných během životního cyklu úlohy. Do dokumentu o rozhodnutích architektury zahrňte nástroje a technologie, které byly zvažovány, důvod rozhodnutí a funkční a nefunkční požadavky, které byly zohledněny při rozhodování. Zaznamenávejte rozhodnutí, abyste je nemuseli opakovaně vysvětlovat nebo opakovat diskuse s novými členy nebo účastníky.
Implementujte standardy a pokyny pro řešení technického dluhu
Platforma a technologie se rychle mění a pravidelně jsou zaváděny nové funkce a možnosti. Osvojte si přístup, že technický dluh je nezbytnou součástí výstupů vašeho týmu pro úlohu. Tento způsob myšlení motivuje váš tým, aby pravidelně zvažoval a řešil technický dluh a nedocházelo k jeho akumulaci. Řešte technický dluh jako pravidelně se opakující úkol v nevyřízených položkách. Ujistěte se, že máte zavedené procesy, které vám umožní zůstat aktuální se změnami platformy, a to jak s novými funkcemi, tak s vyřazením, a pracujte na akčním plánu, jak řešit změny ve vašich úlohách.
Funkce produktu může být například zastaralá nebo nahrazená jinou verzí. Tým úloh musí upřednostnit dokončení přechodu na novou funkci, aby nedošlo k ovlivnění úlohy. Tým může vytvořit vlastní řešení nebo ovládací prvek, který se v průběhu času stane součástí platformy. Váš tým úloh musí přejít na tuto funkci platformy, což snižuje technický dluh a údržbu vašich vlastních úloh.
Používejte osvědčené vzorce návrhu aplikací, abyste zajistili, že vaše aplikace bude spolehlivá, výkonná a bezpečná. Pomocí těchto vzorců ušetříte čas a námahu, které by vás stál vývoj vlastních řešení pro vaši aplikaci. Zvolte vzorce, které prospívají vaší úloze. Pravidelně kontrolujte vzorce návrhů, abyste se ujistili, že používáte správné vzorce podle toho, jak se vaše úloha vyvíjí.
Implementujte testování v brzké fázi
Implementujte testování v brzké fázi, takže provádějte testování jednotek brzy a často v průběhu vývojového procesu. Časté testování v každém vývojovém prostředí pomáhá vývojářům získat důvěru ve své aplikace.
Chcete-li pomoci vytvořit strategii testování v brzké fázi, zvažte následující zásady:
- Napište testy na nejnižší možné úrovni. Upřednostňujte testy s nejmenším počtem externích závislostí a spouštějte je jako součást sestavení.
- Napište testy jednou a spusťte je všude, včetně provozu. Napište testy, které můžete spustit v každém vývojovém prostředí bez zohlednění faktorů, které jsou specifické pro jedno prostředí, jako jsou šifrované tajné klíče nebo konfigurace.
- Navrhněte svou úlohu pro testování. Když vyvíjíte svou aplikaci, počítejte s testovatelností.
- Zvažte vlastnictví testu, které je založeno na vlastnictví úlohy. Váš tým úloh vlastní testování a neměl by se při testování kódu spoléhat na jiné týmy.
- Co nejvíce testy automatizujte. Automatizovaný kód zbavuje váš tým pro úlohu zátěže a prosazuje konzistentní kvalitu.
Požadujte, aby tým úlohy rozuměl bezpečnostním postupům souvisejícím s vývojem a zajišťováním kvality. Členové týmu musí tyto postupy bez výjimky dodržovat. Další informace najdete v Doporučení pro zabezpečení životního cyklu vývoje.
Usnadnění dáky Power Platform
Kanály v Power Platform mají za cíl demokratizovat správu životního cyklu aplikací (ALM) pro zákazníky Power Platform a Dynamics 365 tím, že do služby přináší automatizaci ALM a kontinuální integraci a průběžné doručování (CI/CD).
Poznámky k nasazení vygenerované nástrojem Copilot v kanálech vygenerují souhrn řešení a předvyplní pole poznámek k nasazení, což každému, kdo si prohlíží žádost o nasazení nebo záznam, poskytne dostatek kontextu, aby pochopil, co řešení dělá a co obsahuje.
Microsoft Power Platform Build Tools pro Azure DevOps lze použít pro automatizaci běžných úkolů sestavení a nasazení souvisejících s aplikacemi sestavenými v Power Platform.
Nástroj GitHub Actions pro Power Platformumožňuje vývojářům vytvářet automatizované pracovní postupy životního cyklu vývoje softwaru. Pomocí GitHub Actions pro Microsoft Power Platform můžete ve svém úložišti vytvářet pracovní toky pro sestavování, testování, balení, vydávání a nasazování aplikací, provádět automatizaci nebo spravovat roboty a další vestavěné komponenty na Power Platform.
Webové rozhraní API pro Power Apps Checker poskytuje mechanismus pro spouštění kontrol statické analýzy proti přizpůsobení a rozšíření platformy Microsoft Dataverse.
Test Studio vám umožňuje vytvářet ucelené testy uživatelského rozhraní pro vaše aplikace plátna.
Automatizace testů s Azure Pipelines
Nástroj Power CAT Code Review umožňuje provádět kontroly kódu.
Konfiguraci agentů a testů vám umožňuje Sada Power CAT Copilot Studio Kit. Spusťte jednotlivé testy pro rozhraní API Copilot Studio (Direct Line) a vyhodnoťte odpovědi agenta oproti očekávaným výsledkům.
ALM Accelerator je nástroj s otevřeným zdrojovým kódem, který se skládá ze sady aplikací, skriptů a kanálů navržených k automatizaci procesu kontinuální integrace / průběžného doručování.
Microsoft Power Platform CLI (PAC: CLI) je nástroj příkazového řádku, který podporuje import a export Power Platform řešení a balení do a rozbalení ze zdrojových souborů řešení Power Platform. PAC CLI je k dispozici jako samostatný nástroj příkazového řádku nebo jako rozšíření pro Visual Studio Code.
Mezi další nástroje a služby, které vám mohou pomoci standardizovat vaše vývojové postupy, patří:
Azure DevOps, což je soubor služeb, které můžete použít k vytvoření společného, efektivního a konzistentního vývojového postupu. Azure DevOps zahrnuje následující řešení:
- Azure Pipelines, což je cloudová služba, která poskytuje služby sestavení a vydání pro podporu CI/CD vašich aplikací.
- Azure Boards, což je webový nástroj pro správu práce, který podporuje pružné postupy, jako je Scrum a Kanban.
- Azure Repos, což je nástroj pro správu verzí, který podporuje distribuovaný systém správy verzí Git a systém správy verzí Team Foundation.
- Azure Test Plans, což je řešení pro správu testů v prohlížeči, které poskytuje funkce potřebné pro plánované ruční testování, testování přijetí uživateli, průzkumné testování a získávání názorů od účastníků.
GitHub Projects, což je nástroj pro správu práce, který můžete použít k vytváření panelů Kanban, sestav, řídicích panelů a dalších funkcí.