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 comprendere le capacità dei tuoi strumenti e i loro limiti, in modo che soddisfino i tuoi requisiti funzionali.

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. Sviluppare autonomamente queste funzionalità richiede sviluppo e un impegno continuo in manutenzione che potrebbe rivelarsi più costoso rispetto all'investimento in Ambienti gestiti.

Utilizzare strumenti di intelligenza artificiale quando possibile. Gli strumenti IA possono rivelarsi utili riguardo a sviluppo, revisione e ottimizzazione del codice.

Stabilire un quadro di governance per lo sviluppo congiunto

Stabilire un quadro di governance efficace per lo sviluppo congiunto, per garantire coerenza e ripetibilità nei progetti definiti dai maker 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 gli sviluppatori e gli sprint stabilite in Implementa le pratiche Scrum per il tuo team in Azure Boards. I risultati dei test derivanti dalla richiesta pull possono assumere la forma di screenshot o video che illustrano la funzionalità in fase di sviluppo. 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 coerenza alzare di livello. Tutti gli aspetti delle operazioni del team traggono vantaggio dalla standardizzazione e dalla semplificazione, dalle attività di onboarding e dalle presentazioni di revisione delle storie 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: tempo necessario affinché un attività o una user story passino dal backlog alla distribuzione in produzione.
  • Tempo medio di risoluzione: tempo medio impiegato per correggere bug o difetti nel codice.
  • Tasso di errore delle modifiche: percentuale di modifiche che determinano 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 relative all'architettura per aiutare i team a mantenere una comprensione aggiornata 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 presi in considerazione, il motivo di una decisione e i requisiti funzionali e non funzionali 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 in atto per rimanere aggiornato sulle modifiche della piattaforma, sia sulle nuove funzionalità che sulle deprecazioni, e lavora su un piano d'azione su come affrontare i cambiamenti nel tuo carico di lavoro.

Ad esempio, una funzionalità del prodotto potrebbe diventare deprecata o essere sostituita con una versione diversa. Il team addetto al 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 col tempo diventerà parte della piattaforma. Il tuo team addetto al carico di lavoro deve passare a quella funzionalità della piattaforma, il che riduce il debito tecnico e manutenzione del tuo carico di lavoro.

Utilizza modelli di progettazione delle applicazioni collaudati 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:

  • Scrivere i 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, anche in 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.
  • Si consideri la proprietà del test, che si basa sulla proprietà del carico di lavoro. Il tuo team addetto al carico di lavoro è responsabile dei propri test e non dovrebbe affidarsi ad altri team per testare il proprio codice.
  • Automatizzare 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 seguire queste pratiche senza eccezioni. Per saperne di più, consulta Raccomandazioni per proteggere il ciclo di vita dello 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, fornendo a chiunque visualizzi la richiesta di distribuzione o registri un contesto sufficiente per comprendere cosa fa la soluzione e cosa contiene.

Gli strumenti di creazione di Microsoft Power Platform per Azure DevOps possono essere utilizzati per automatizzare attività comuni di compilazione e distribuzione correlate alle app create in Power Platform.

Le azioni GitHub consentono agli sviluppatori di creare flussi di lavoro automatizzati per il ciclo di vita dello sviluppo software. Power Platform 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.

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 Power Platform soluzioni, nonché l'impacchettamento e la decompressione da Power Platform file sorgente delle soluzioni. PAC CLI è disponibile come strumento da 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 bacheche Kanban, report, dashboard e altre funzioni.

Governance dello sviluppo congiunto

Passaggi successivi