Condividi tramite


Implementare le attività di sviluppo

Un'attività di sviluppo è una piccola parte di un lavoro di sviluppo che scaturisce da un requisito. L'implementazione di un'attività di sviluppo comporta l'aggiunta al software delle nuove funzionalità appropriate. Dopo avere completato un'attività di sviluppo, è necessario sottoporla a unit test e a operazioni di revisione, analisi del codice e integrazione nella codebase esistente.

In questo argomento

Stima

Documenti di progettazione

Revisione della progettazione

Unit test

Analisi codice

Processo di revisione del codice

Refactoring del codice

Integrazione delle modifiche

Stima

La stima del costo delle attività di sviluppo è utile per controllare l'ambito delle funzionalità e pianificare il lavoro di sviluppo. È consigliabile completare le stime dei costi per tutte le attività di sviluppo e risolvere eventuali problemi prima della riunione relativa al piano di iterazione. Se il costo totale delle attività di sviluppo è maggiore rispetto a quanto possibile in un'iterazione, è necessario rinviare o riassegnare un'attività. Dopo aver scelto un'attività di sviluppo, lo sviluppatore deve stimarne il costo.

Creare un elemento di lavoro attività per ogni attività di sviluppo scelta e collegarlo al requisito da cui è stato creato. A tale scopo, utilizzare la scheda Implementazione nell'elemento di lavoro attività o requisito. Basare le stime sul tempo richiesto per completare attività simili e assicurarsi di inserire nel calcolo il costo della scrittura di unit test. Per ogni attività, immettere la stima nel campo Stima originale dell'elemento di lavoro attività.

Il form per elementi di lavoro attività determina l'archiviazione dei dati nei campi e nelle schede mostrati nelle illustrazioni seguenti:

Form dell'elemento di lavoro attività CMMI

Dopo aver creato e stimato le attività, utilizzare la query Suddivisione lavoro per visualizzare la suddivisione di tutti i requisiti e le attività. Per ulteriori informazioni, vedere Query condivise (CMMI).

Documenti di progettazione

I documenti di progettazione devono includere informazioni sufficienti per descrivere a uno sviluppatore come scrivere codice per implementare il requisito nel prodotto.

I documenti di progettazione possono essere una raccolta di specifiche, elementi di lavoro requisito e altri documenti, a seconda del processo del team.

Prendere in considerazione l'utilizzo di modelli di progettazione, progettazione orientata a oggetti, modelli strutturali, linguaggi di modellazione, modelli di relazione di entità e altre tecniche nelle linee guida per la progettazione per il team. È inoltre consigliabile documentare la logica alla base delle principali decisioni prese. Nel caso, ad esempio, di un effetto significativo su costo, pianificazione o prestazioni tecniche, documentare il motivo delle decisioni alla base di tali effetti e includere tali informazioni nella progettazione.

Dopo avere creato i documenti di progettazione necessari, archiviarli in una posizione in cui i membri del team possano condividerli. Per ulteriori informazioni, vedere Gestire documenti e raccolte documenti.

Revisione della progettazione

La revisione della progettazione viene utilizzata per garantire che la progettazione nuova o rivista sia tecnicamente accurata, completa, testabile e di qualità elevata e che implementi correttamente il requisito. Le revisioni della progettazione rappresentano un importante metodo per garantire la qualità fin dalle prime fasi, identificando i problemi prima che vengano riscontrati nel codice. Le revisioni della progettazione consentono inoltre di comprendere in modo più approfondito la progettazione di altri sviluppatori.

Lo sviluppatore responsabile per la creazione della progettazione deve organizzare la revisione della progettazione identificando i revisori, pianificando la revisione e distribuendo la progettazione a tutti i revisori.

Alla revisione devono partecipare tutte le parti interessate coinvolte nella progettazione. In genere, tra le parti interessate vi sono il responsabile del progetto, il responsabile dello sviluppo e il tester per l'area di progettazione. Anche tutti gli sviluppatori che fanno parte del team dello sviluppatore di cui viene rivisto il codice devono partecipare alla revisione.

Pianificare la riunione di revisione e distribuire i documenti di progettazione con un anticipo adeguato per consentire a ogni revisore di disporre di tempo sufficiente per la lettura. Pianificare la durata della riunione di revisione in base alla quantità di dettagli tecnici da rivedere.

Verifica della qualità

Assicurarsi che la progettazione sia testabile. Valutare se viene compilato codice che non è possibile verificare o convalidare in modo ragionevole. In tal caso, non è possibile garantire la qualità del codice ed è necessario modificare la progettazione. Esaminare i documenti di progettazione per individuare eventuali problemi che comporterebbero errori nel codice. Cercare descrizioni dell'interfaccia non corrette, errori di progettazione o nomi che potrebbero provocare confusione. Confrontare i documenti di progettazione con i criteri esistenti, ad esempio standard di interfaccia dell'operatore, standard di sicurezza, vincoli di produzione, tolleranze di progettazione o standard per le parti. Creare elementi di lavoro bug che descrivono eventuali difetti rilevati nei documenti di progettazione e assegnarli allo sviluppatore responsabile.

Creare un elemento di lavoro revisione per la progettazione

Un elemento di lavoro revisione viene creato per documentare i risultati della revisione della progettazione. Il team che si occupa della revisione deve definire i passaggi successivi per la progettazione, che dipendono dall'entità delle modifiche necessarie. Se non è necessaria alcuna modifica, impostare lo Stato dell'elemento di lavoro come Chiuso, impostare il Motivo come Accettato (nello stato attuale) e indicare che è possibile avviare la codifica nella progettazione. Se sono necessarie modifiche di poco conto, impostare lo Stato dell'elemento di lavoro come Risolto e impostare il Motivo come Accettato con modifiche non essenziali. Ciò indica che è possibile avviare la codifica dopo l'implementazione delle modifiche non essenziali nella progettazione. Se sono necessarie modifiche importanti, impostare lo Stato dell'elemento di lavoro come Risolto e impostare il Motivo come Accettato con modifiche essenziali. È necessario modificare la progettazione ed eseguire un'altra revisione della progettazione prima di avviare la codifica nella progettazione.

Unit test

Gli unit test consentono di verificare la corretta implementazione di un'unità di codice. Tramite la scrittura e l'esecuzione di unit test è possibile identificare i bug prima dell'avvio dei test e, di conseguenza, di ridurre i costi correlati al controllo della qualità. Gli sviluppatori devono scrivere unit test per tutto il codice che verrà scritto come parte dell'implementazione di un'attività di sviluppo o della correzione dei bug. Per ulteriori informazioni, vedere Verifica del codice tramite unit test.

Analisi codice

L'analisi del codice consente di controllare il codice rispetto a un set di regole che permettono di applicare le linee guida di sviluppo. L'obiettivo dell'analisi del codice è quello di verificare che non vi siano avvisi o violazioni dell'analisi stessa. L'analisi del codice consente di verificare la presenza nel codice di oltre 200 potenziali problemi relativi a convenzioni di denominazione, progettazione della libreria, localizzazione, sicurezza e prestazioni.

Se si inizia a eseguire l'analisi del codice nelle fasi iniziali del ciclo di sviluppo, è possibile ridurre al minimo le violazioni e gli avvisi nel corso dello sviluppo.

Se invece si esegue l'analisi del codice su codice esistente che non è stato controllato prima, potrebbero risultare numerose violazioni delle regole. In questo caso, potrebbe essere utile creare un set di base di regole critiche che il codice deve soddisfare e quindi espandere il set di regole man mano che i problemi più critici vengono risolti. In questo modo, un team può passare a una nuova funzionalità man mano che la codebase esistente viene migliorata.

Per ulteriori informazioni, vedere Analisi della qualità dell'applicazione tramite gli strumenti di analisi del codice e Miglioramento della qualità del codice con i criteri di archiviazione del progetto team.

Processo di revisione del codice

Il responsabile dello sviluppo deve organizzare la revisione del codice identificando i revisori, pianificando la revisione e inviando il codice da rivedere a tutti i revisori. Per la preparazione della revisione del codice, effettuare i passaggi seguenti:

  1. Creare un elemento di lavoro revisione per tenere traccia delle decisioni prese durante la revisione. Se non è necessaria alcuna modifica, impostare lo Stato dell'elemento di lavoro come Chiuso, impostare il Motivo come Accettato (nello stato attuale) e indicare che è possibile avviare la codifica nella progettazione. Se sono necessarie modifiche di poco conto, impostare lo Stato dell'elemento di lavoro come Risolto e impostare il Motivo come Accettato con modifiche non essenziali, per indicare che è possibile avviare la codifica dopo l'implementazione delle modifiche non essenziali. Se sono necessarie modifiche importanti, impostare lo Stato dell'elemento di lavoro come Risolto e impostare il Motivo come Accettato con modifiche essenziali. È necessario modificare la progettazione ed eseguire un'altra revisione della progettazione prima di avviare la codifica nella progettazione.

  2. Determinare chi parteciperà alla revisione del codice. In genere, alla revisione partecipano almeno il responsabile dello sviluppo e l'architetto responsabile per l'area del codice.

  3. Pianificare una riunione di revisione con i revisori e fare in modo che ogni revisore disponga del tempo sufficiente per leggere e comprendere il codice prima della riunione. Pianificare la durata della riunione di revisione in base alla quantità di codice da rivedere.

Revisione del codice

La revisione del codice consente di garantire che il codice nuovo o modificato soddisfi un livello di qualità stabilito prima di essere integrato nella compilazione giornaliera. Le considerazioni relative alla qualità riguardano standard di codifica, conformità ad architettura e progettazione, prestazioni, leggibilità e sicurezza. Le revisioni del codice forniscono inoltre nozioni aggiuntive provenienti da altri sviluppatori relative al modo in cui il codice deve essere scritto.

Verifica della pertinenza del codice

Il codice che viene rivisto è pertinente all'attività per la quale è scritto. Non devono essere consentite modifiche al codice non relative alle funzionalità implementate o corrette.

Verifica dell'estensibilità

Il codice è scritto in modo da poter essere esteso, se lo si desidera, o essere riutilizzato in altre aree del sistema.

Le costanti stringa utilizzate nel codice sono inserite correttamente nelle risorse che possono essere internazionalizzate.

Verifica della complessità minima del codice

Il codice ripetuto può essere semplificato in funzioni comuni.

Funzionalità simili sono inserite in una funzione o una routine comune.

Verifica della complessità algoritmica

Il numero di percorsi di esecuzione nel codice rivisto è ridotto al minimo.

Verifica della sicurezza del codice

Il codice viene controllato per verificare la protezione delle risorse, i livelli di privilegi e l'utilizzo dei dati nei punti di ingresso.

Refactoring del codice

Il refactoring del codice viene effettuato dopo che tramite una revisione del codice è stata determinata la necessità di apportare modifiche per soddisfare i requisiti relativi ad architettura, prestazioni o qualità del codice.

Leggere le note relative all'elemento di lavoro revisione del codice per determinare in che modo effettuare il refactoring del codice.

Applicare il refactoring incrementalmente, una modifica per volta. Modificare il codice e tutti i riferimenti all'area modificata come necessario.

Eseguire unit test in modo che l'area rimanga semanticamente equivalente dopo il refactoring. Correggere eventuali unit test che non funzionano. Eseguire l'analisi del codice e correggere eventuali avvisi. Eseguire di nuovo gli unit test se vengono apportate modifiche al codice in seguito all'analisi del codice.

Integrazione delle modifiche

Il passaggio finale consiste nell'integrare le modifiche archiviandole nel controllo della versione. Prima di archiviare il codice, eseguire i test richiesti dal processo. Per ulteriori informazioni su come verificare la presenza di problemi nel codice prima dell'archiviazione, vedere Miglioramento della qualità del codice con i criteri di archiviazione del progetto team.

Se l'elemento di lavoro associato alle modifiche è uno scenario o un requisito di qualità del servizio di cui non si è proprietari, notificare al proprietario il completamento delle modifiche. Impostare l'elemento di lavoro attività come Risolto e assegnarlo a uno dei tester che hanno creato i test case per l'elemento di lavoro.

Se l'elemento di lavoro associato alle modifiche è un bug, impostare l'elemento di lavoro bug come Risolto e assegnarlo alla persona che lo creato inizialmente.