Raccomandazioni per la standardizzazione di strumenti e processi
Si applica a questa raccomandazione dell'elenco di controllo di Eccellenza operativa di Power Platform Well-Architected:
OE:04 | Ottimizza i processi di sviluppo software e di garanzia della qualità seguendo pratiche comprovate nel settore per sviluppo e test. Per una designazione univoca dei ruoli, standardizza le pratiche tra componenti quali strumenti, controllo del codice sorgente, modelli di progettazione delle applicazioni, documentazione e guide di stile. |
---|
Questa guida descrive le raccomandazioni per la definizione di standard per strumenti e processi di sviluppo. La definizione di pratiche coerenti conduce a un team del carico di lavoro efficiente e a un lavoro di alta qualità. I team ad alte prestazioni utilizzano strumenti e processi comprovati nel settore per ridurre al minimo sforzi inutili e potenziali errori di codice.
Strategie di progettazione chiave
Il primo passaggio per ottimizzare le pratiche di sviluppo è standardizzare strumenti e processi. Quando possibile, utilizza soluzioni comprovate nel settore invece di svilupparne. Fornisci formazione per tutti gli strumenti e processi standardizzati per garantire che i tuoi team possano utilizzarli in modo efficiente.
Per definire standard che aiutano a ottimizzare le pratiche di sviluppo, prendi in considerazione le seguenti raccomandazioni.
Utilizzare gli strumenti disponibili per la piattaforma
Dai la priorità all'utilizzo di Power Platform Tools, altrimenti utilizza strumenti noti pronti all'uso e standardizzane l'uso. Team di tecnici altamente efficienti adottano gli strumenti migliori della categoria. Evita di sviluppare soluzioni per pianificazione, sviluppo, test e collaborazione. Scegli strumenti che soddisfano i requisiti del tuo carico di lavoro.
Gli strumenti devono fornire le seguenti funzioni:
- Pianificazione del lavoro e gestione del backlog
- Controllo della versione e repository
- Pipeline di distribuzione
- Test in corso
- Sviluppo e revisione di codice
In alcuni casi, uno strumento o una suite di strumenti potrebbe fornire diverse funzioni. Assicurati di aver compreso le funzionalità dei tuoi strumenti e i loro limiti in modo che soddisfino i tuoi requisiti in tutte le funzioni.
Determina se investire in funzionalità premium della piattaforma o in versioni premium degli strumenti. Considera il tempo e l'impegno necessari per sviluppare le tue soluzioni rispetto alle funzionalità fornite dagli strumenti premium. Considera i costi una tantum rispetto ai costi ricorrenti. Nella maggior parte dei casi, gli strumenti pronti all'uso forniscono un valore maggiore al tuo team. Ad esempio, Ambienti gestiti offre funzionalità pronte all'uso per impostare un messaggio di onboarding del creatore o per limitare la condivisione in modo proattivo. La creazione autonoma di queste funzionalità richiede uno sviluppo e una manutenzione continua che potrebbero rivelarsi più costosi rispetto all'investimento in ambienti gestiti.
Utilizza gli strumenti IA quando sono una soluzione pratica. Gli strumenti IA possono rivelarsi utili riguardo a sviluppo, revisione e ottimizzazione del codice.
Stabilire un quadro di governance per il co-sviluppo
Definisci un framework di governance di co-sviluppo efficace per garantire coerenza e ripetibilità nei progetti definiti dagli autori e nei team di fusione.
Standardizzare il sistema e le pratiche di controllo del codice sorgente
Adotta un sistema di controllo del codice sorgente come Azure DevOps. Azure DevOps fornisce servizi di sviluppo per team di supporto per pianificare il lavoro, collaborare allo sviluppo di codice e creare e distribuire applicazioni. Esportare una soluzione dall'ambiente di sviluppo contenente app e personalizzazioni, decomprimere la soluzione e archiviare i componenti nel sistema di controllo del codice sorgente.
Assicurati che il controllo delle versioni della soluzione sia accurato, seguendo le linee guida per sprint e sviluppatori in Implementare pratiche Scrum per il team in Azure Boards. I risultati dei test della richiesta pull possono assumere la forma di screenshot o video che illustrano la funzionalità che si sta creando. L'automazione del processo di governance delle richieste pull aiuta a garantire la qualità del codice senza richiedere una revisione manuale dei controlli di base come le versioni della soluzione.
Crea modelli per garantire efficienza e promuovere la coerenza. Tutti gli aspetti delle operazioni del team traggono vantaggio dalla standardizzazione e dalla semplificazione, dalle attività di onboarding alle presentazioni di revisione delle storie, fino ai modelli di elementi di lavoro progettati per risparmiare tempo e fornire indicazioni ai team nella definizione di storie utente, funzionalità, bug e attività.
Valutare le metriche per quantificare l'efficacia
I team di sviluppo e controllo qualità possono migliorare solo quando quantificano la loro efficacia. Per quantificare l'efficacia, devono identificare le metriche che misurano la velocità dello sviluppatore e definire gli indicatori di prestazioni chiave (KPI).
Esempi di queste metriche includono:
- Lead time: il tempo necessario affinché un'attività o una storia dell'utente passi dal backlog a una distribuzione di produzione.
- Tempo medio di risoluzione: il tempo medio necessario per correggere bug o difetti nel codice.
- Tasso di errore di modifica: la percentuale di modifiche che comportano un errore.
Per aiutare gli stakeholder e il team del carico di lavoro a monitorare facilmente la velocità, visualizza gli indicatori KPI utilizzando dashboard o altri strumenti di reporting.
Standardizzare il modo in cui il team del carico di lavoro scrive, revisiona e documenta il codice
Standardizza il modo in cui il team del carico di lavoro scrive, revisiona e documenta il codice utilizzando una guida di stile. Uno stile standard semplifica la collaborazione e agevola l'onboarding di nuovi sviluppatori. Per lavorare in modo efficace, i nuovi sviluppatori devono sapere come opera il team del carico di lavoro. Una guida di stile con standard chiaramente definiti può facilitarne il processo di formazione.
La guida di stile deve coprire:
- Convenzioni di denominazione per soluzioni, artefatti, controlli, azioni, ambienti, rami e build
- Standard di gestione degli errori
- Modelli o librerie comuni
Tieni traccia delle decisioni sull'architettura per aiutare i team a mantenere una nuova comprensione del carico di lavoro e consentire ai nuovi membri del team di apprendere le decisioni di progettazione prese durante il ciclo di vita del carico di lavoro. Includere nel documento decisionale sull'architettura gli strumenti e le tecnologie che sono stati presi in considerazione, il motivo di una decisione e i requisiti funzionali e non funzionali che sono stati presi in considerazione nelle decisioni. Registra le decisioni per evitare di ripetere spiegazioni o rivisitare le discussioni con nuovi membri o stakeholder.
Implementare standard e linee guida per colmare il debito tecnico
La piattaforma e la tecnologia cambiano rapidamente, con nuove funzionalità e caratteristiche che vengono implementate regolarmente. Adotta un approccio secondo cui il debito tecnico è necessario per i risultati finali del team del carico di lavoro. Questo approccio spinge il tuo team a considerare e a colmare regolarmente il debito tecnico per evitarne l’accumulo. Colma il debito tecnico come attività ricorrente periodica nel backlog. Assicurati di disporre di processi per rimanere al passo con le modifiche alla piattaforma, sia nuove funzionalità che deprecate, e lavora a un piano d'azione su come affrontare le modifiche nel tuo carico di lavoro.
Ad esempio, una funzionalità del prodotto potrebbe diventare deprecata o essere sostituita con una versione diversa. Il team del carico di lavoro deve dare priorità al completamento della transizione alla nuova funzionalità per evitare di influire sul carico di lavoro. Il team potrebbe creare una soluzione o un controllo personalizzato, che nel tempo diventerà parte della piattaforma. Il tuo team del carico di lavoro deve passare a quella funzionalità della piattaforma, che riduce il debito tecnico e la manutenzione del tuo carico di lavoro.
Utilizza modelli di progettazione delle applicazioni comprovati nel settore per garantire che la tua applicazione sia affidabile, performante e sicura. Utilizza questi modelli per risparmiare tempo e fatica anziché sviluppare soluzioni personalizzate per la tua applicazione. Scegli i modelli che avvantaggiano il tuo carico di lavoro. Esamina regolarmente i modelli di progettazione per assicurarti di utilizzare quelli appropriati man mano che il carico di lavoro evolve.
Implementare un approccio di spostamento a sinistra per i test
Implementa un approccio di spostamento a sinistra per i test eseguendo test unitari nelle prime fasi e spesso durante il processo di sviluppo. I test frequenti in ogni ambiente di sviluppo aiutano gli sviluppatori ad acquisire fiducia nelle loro applicazioni.
Per aiutarti a creare la tua strategia di test con un approccio di spostamento a sinistra, considera i seguenti principi:
- Scrivi test al livello più basso possibile. Preferisci i test con il minor numero di dipendenze esterne ed eseguili come parte della build.
- Scrivi i test una volta ed eseguili ovunque, inclusa la produzione. Scrivi test che puoi eseguire in ogni ambiente di sviluppo senza tenere conto di fattori specifici di un ambiente, come segreti o configurazioni crittografati.
- Progetta il tuo carico di lavoro per i test. Quando sviluppi l'applicazione, fai in modo che la testabilità sia un requisito.
- Prendi in considerazione la proprietà dei test, che si basa sulla proprietà del carico di lavoro. Il team del carico di lavoro è proprietario dei test e non deve fare affidamento su altri team per testare il codice.
- Automatizza il più possibile i test. Il codice automatizzato agevola il lavoro del team del carico di lavoro e garantisce una qualità costante.
Assicurati che il team del carico di lavoro comprenda le pratiche di sicurezza relative allo sviluppo e al controllo della qualità. I membri del team devono seguire queste pratiche senza eccezioni. Altre informazioni in Elementi consigliati per proteggere un ciclo di vita di sviluppo.
Facilitazione di Power Platform
Le pipeline in Power Platform mirano a democratizzare la gestione del ciclo di vita delle applicazioni (ALM) per i clienti Power Platform e Dynamics 365 introducendo nel servizio le funzionalità di automazione ALM e di integrazione continua e recapito continuo (CI/CD).
Le note di distribuzione generate da Copilot nelle pipeline generano un riepilogo della soluzione e precompilano il campo delle note di distribuzione, offrendo a chiunque visualizzi la richiesta di distribuzione o il record un contesto sufficiente per comprendere le funzioni della soluzione e il suo contenuto.
Microsoft Power Platform Build Tools per Azure DevOps possono essere utilizzati per automatizzare attività comuni di compilazione e distribuzione correlate alle app create in Power Platform.
GitHub Actions per Power Platform consentono agli sviluppatori di creare flussi di lavoro SDLC (Software Development Life Cycle) automatizzati. Con GitHub Actions per Microsoft Power Platform puoi creare flussi di lavoro nel tuo repository per creare, testare, creare pacchetti, rilasciare e distribuire app; eseguire l'automazione; e gestire bot e altri componenti basati su Power Platform.
L'API Web di verifica di Power Apps fornisce un meccanismo per eseguire controlli di analisi statica in base a personalizzazioni ed estensioni della piattaforma Microsoft Dataverse.
Test Studio ti consente di creare test dell'interfaccia utente end-to-end per l'app canvas.
Automatizzare i test con Azure Pipelines.
Lo strumento di revisione di codice Power CAT ti consente di eseguire revisioni del codice.
Il kit Power CAT di Copilot Studio consente di configurare agenti e test. Eseguendo singoli test sulle API di Copilot Studio (Direct Line) e valuta le risposte agente rispetto ai risultati previsti.
Acceleratore ALM è uno strumento open source che include un set di applicazioni, script e pipeline progettati per automatizzare il processo di integrazione/recapito continui.
Microsoft Power Platform CLI (PAC CLI) è uno strumento da riga di comando che supporta l'importazione e l'esportazione di soluzioni Power Platform, nonché l'imballaggio e la decompressione dei file di origine delle soluzioni Power Platform. PAC CLI è disponibile come strumento dalla riga di comando autonomo o come estensione per Visual Studio Code.
Altri strumenti e servizi che possono aiutarti a standardizzare le pratiche di sviluppo includono:
Azure DevOps, una raccolta di servizi che puoi utilizzare per creare una pratica di sviluppo collaborativa, efficiente e coerente. Azure DevOps include le soluzioni seguenti:
- Azure Pipelines, un servizio cloud che fornisce servizi di creazione e rilascio per supportare CI/CD delle tue applicazioni.
- Azure Boards, uno strumento di gestione del lavoro basato sul Web che supporta pratiche Agile come Scrum e Kanban.
- Azure Repos, uno strumento di controllo della versione che supporta il sistema di controllo della versione distribuito da Git e il sistema di controllo della versione di Team Foundation.
- Azure Test Plans, una soluzione di gestione dei test basata su browser di facile utilizzo che fornisce le funzionalità necessarie per test manuali pianificati, test di accettazione degli utenti, test esplorativi e raccolta di feedback dagli stakeholder.
GitHub Projects, uno strumento di gestione del lavoro che puoi utilizzare per creare schede Kanban, report, dashboard e altre funzioni.
Informazioni correlate
Governance dello sviluppo congiunto