Implementare le attività di sviluppo
Un'attività di sviluppo è una piccola parte del lavoro di sviluppo scaturito da un requisito. L'implementazione di un'attività di sviluppo prevede l'aggiunta di nuove e appropriate funzionalità al proprio software. Dopo aver completato un'attività di sviluppo, è necessario eseguirne lo unit test, la revisione, l'analisi del codice e l'integrazione nella codebase esistente.
Contenuto dell'argomento
Stima
Documenti di progettazione
Revisione della progettazione
Unit test
Analisi codice
Processo di revisione del codice
Refactoring
Integrare le modifiche
Stima
La stima dei costi delle attività di sviluppo consente di controllare l'ambito delle funzionalità e di pianificare il lavoro di sviluppo. Le stime dei costi per tutte le attività di sviluppo devono essere completate ed eventuali problemi risolti prima della riunione di pianificazione dell'iterazione. Se il costo totale delle attività di sviluppo supera il limite per una singola iterazione, un'attività deve essere posticipata o riassegnata. Dopo aver scelto un'attività di sviluppo, il calcolo delle attività è responsabilità dello sviluppatore.
Creare un elemento di lavoro dell'attività per ogni attività di sviluppo scelta, quindi collegarlo al requisiti da cui è stato creato. Per farlo, usare la scheda Implementazione nell'elemento di lavoro dell'attività o del requisito. Basare le stime sul tempo richiesto per completare attività simili e assicurarsi di includere il costo della scrittura degli unit test. Per ogni attività immettere la stima nel campo Stima originale dell'elemento di lavoro dell'attività.
Il form per gli elementi di lavoro attività archivia i dati nei campi e nelle schede visualizzati nelle seguenti illustrazioni:
Dopo aver creato e stimato le attività, usare la query Suddivisione lavoro per visualizzare la suddivisione di tutti i requisiti e le attività. Per altre informazioni, vedere Query condivise (CMMI).
Documenti di progettazione
I documenti di progettazione devono includere le informazioni necessarie per spiegare a uno sviluppatore come scrivere il codice per implementare il requisito nel prodotto.
I documenti di progettazione possono essere una raccolta di specifiche, elementi di lavoro del requisito e altri documenti, a seconda del processo del team.
Prendere in considerazione l'uso di modelli di progettazione, della progettazione orientata agli oggetti, dei modelli strutturali, dei linguaggi di modellazione, dei modelli di relazione di entità e delle altre tecniche descritte nelle linee guida per la progettazione determinate per il proprio team. È anche opportuno documentare la logica alla base delle decisioni chiave che vengono prese. Ad esempio, se gli effetti su costi, pianificazione o prestazioni tecniche sono significativi, documentare il motivo per cui è stata presa una specifica decisione e includere queste informazioni nella progettazione.
Dopo aver creato i documenti di progettazione necessari, archiviarli in una posizione da cui i membri del team possano condividerli. Per altre informazioni, vedere Gestire documenti e raccolte documenti.
Revisione della progettazione
Una revisione della progettazione viene usata per garantire che una progettazione nuova o rivista sia tecnicamente accurata, testabile e di alta qualità e che implementi correttamente il requisito. Le revisioni della progettazione rappresentano un metodo chiave per garantire la qualità identificando i problemi prima che vengano visualizzati nel codice. Le revisioni della progettazione forniscono anche informazioni dettagliate sulla progettazione di altri sviluppatori.
Lo sviluppatore responsabile della creazione della progettazione deve organizzare la revisione della progettazione identificando i revisori, pianificando la revisione e distribuendo la progettazione a tutti i revisori.
Tutte le parti interessate coinvolte o interessate alla progettazione devono partecipare alla revisione. In genere, vengono inclusi i project manager, lo sviluppatore responsabile e il tester dell'area di progettazione. Alla revisione devono prendere parte anche tutti gli sviluppatori del team dello sviluppatore che ha creato il codice sottoposto a revisione.
Pianificare la riunione di revisione e distribuire tempestivamente i documenti di progettazione in modo che tutti i revisori dispongano del tempo necessario per leggerli. Pianificare la durata della riunione di revisione in base al tempo necessario per rivedere tutti i dettagli tecnici.
Verificare la qualità
Verificare che la progettazione sia testabile. Il codice compilato può essere verificato o convalidato in modo adeguato? In caso contrario, non è possibile garantire la qualità del codice e la progettazione deve essere rielaborata. Esaminare i documenti di progettazione per problemi che portano a errori di codice. Cercare descrizioni di interfaccia non corrette, errori di progettazione o confusione nell'assegnazione dei nomi. Confrontare i documenti di progettazione con i criteri esistenti, ad esempio gli standard dell'interfaccia operatore, gli standard di sicurezza, i vincoli per la produzione, le tolleranze di progettazione o gli standard relativi alle parti. Creare elementi di lavoro del bug che descrivono gli eventuali difetti trovati nei documenti di progettazione e assegnarli allo sviluppatore responsabile.
Creare un elemento di lavoro della revisione per la progettazione
Un elemento di lavoro della revisione viene creato per documentare i risultati della revisione della progettazione. Il team di revisione deve stabilire i passaggi successivi per la progettazione, che dipendono dall'entità delle modifiche necessarie. Se non sono necessarie modifiche, impostare lo stato dell'elemento di lavoro su Chiuso, il motivo su Accettato (nello stato attuale) e indicare che è possibile avviare la codifica nella progettazione. Se sono necessarie modifiche non essenziali, impostare lo stato dell'elemento di lavoro su Risolto e il motivo su Accettato con modifiche non essenziali. Ciò indica che la codifica può essere avviata dopo aver implementato le modifiche non essenziali nella progettazione. Se sono necessarie modifiche essenziali, impostare lo stato dell'elemento di lavoro su Risolto e il motivo su Accettato con modifiche essenziali. È necessario rielaborare la progettazione ed eseguire un'altra revisione della progettazione prima di poter avviare la codifica nella progettazione.
Unit test
Gli unit test verificano la corretta implementazione di un'unità del codice. La scrittura e l'esecuzione di unit test consentono di avviare i bug prima di avviare i test e quindi di ridurre il costo dei controlli di 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 altre informazioni, vedere Eseguire unit test del codice.
Analisi codice
L'analisi codice controlla il codice in base a un set di regole che consente di applicare delle linee guida di sviluppo. L'obiettivo dell'analisi codice consiste nel verificare che non siano presenti violazioni o avvertenze. L'analisi codice può verificare la presenza di oltre 200 problemi potenziali all'interno del codice, nell'ambito delle convenzioni di denominazione, della progettazione di librerie, della localizzazione, della sicurezza e delle prestazioni.
Se l'analisi codice viene avviata tempestivamente nel ciclo di sviluppo, è possibile ridurre al minimo le violazioni e le avvertenze su base continuativa.
Tuttavia, se l'analisi codice viene eseguita su un codice esistente mai verificato in precedenza, è possibile che vengano riscontrate diverse violazioni delle regole. In questo caso, è opportuno creare un set di base di regole critiche che il codice deve superare, quindi espandere il set di regole man mano che i problemi critici vengono risolti. In questo modo, un team può passare alle nuove funzionalità migliorando al tempo stesso la codebase esistente.
Per altre 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
Lo sviluppatore responsabile deve organizzare la revisione del codice identificando i revisori, pianificando la revisione del codice e inviando il codice da rivedere a tutti i revisori. Per preparare la revisione del codice, usare la procedura seguente:
Creare un elemento di lavoro della revisione per tenere traccia delle decisioni prese durante la revisione. Se non sono necessarie modifiche, impostare lo stato dell'elemento di lavoro su Chiuso, il motivo su Accettato (nello stato attuale) e indicare che è possibile avviare la codifica nella progettazione. Se sono necessarie modifiche non essenziali, impostare lo stato dell'elemento di lavoro su Risolto e il motivo su Accettato con modifiche non essenziali. In questo modo viene indicato che la codifica può essere avviata dopo aver implementato le modifiche non essenziali. Se sono necessarie modifiche essenziali, impostare lo stato dell'elemento di lavoro su Risolto e il motivo su Accettato con modifiche essenziali. È necessario rielaborare la progettazione ed eseguire un'altra revisione della progettazione prima di poter avviare la codifica nella progettazione.
Determinare chi partecipa alla revisione del codice. In genere è opportuno che partecipino almeno lo sviluppatore responsabile e l'architetto responsabile dell'area del codice.
Pianificare una riunione di revisione con i revisori, lasciando loro abbastanza tempo prima della riunione per leggere e comprendere il codice. Pianificare la durata della riunione di revisione in base al tempo necessario per rivedere la quantità effettiva di codice.
Revisione del codice
Una revisione del codice viene usata per garantire che il codice nuovo o modificato soddisfi un determinato livello di qualità prima di essere integrato nella compilazione giornaliera. Le considerazioni sulla qualità corrispondo a standard di codifica, conformità all'architettura e alla progettazione, prestazioni, leggibilità e sicurezza. Le revisioni del codice forniscono anche informazioni aggiuntive su come scrivere il codice fornite da altri sviluppatori.
Verificare la pertinenza del codice |
Il codice in revisione è rilevante per le attività per le quali è stato scritto il codice. Non devono essere consentite modifiche al codice che non interessano la funzionalità implementata o corretta. |
Verificare l'estendibilità |
In base allo scopo previsto, il codice viene scritto per esser esteso o riusato in altre aree del sistema. Le costanti di stringa usate nel codice vengono inserite correttamente nelle risorse che è possibile internazionalizzare. |
Verificare la complessità del codice minima |
Il codice ripetuto può essere semplificato in funzioni comuni. Una funzionalità simile viene inserita in una procedura o funzione comune. |
Verificare la complessità algoritmica |
Il numero di percorsi di esecuzione nel codice rivisto viene ridotto. |
Verificare la sicurezza del codice |
Il codice viene controllato per la protezione delle risorse, i livelli dei privilegi e l'uso dei dati nei punti di ingresso. |
Refactoring del codice
Il refactoring del codice viene eseguito in seguito a una revisione del codice in cui è stato stabilito che è necessario apportare delle modifiche per risolvere problemi relativi a qualità, prestazioni o architettura del codice.
Leggere le note dell'elemento di lavoro della revisione del codice per determinare come eseguire il refactoring del codice.
Applicare il refactoring in modo incrementale, una modifica alla volta. Modificare il codice e tutti i riferimenti nell'area modificata, secondo necessità.
Eseguire gli unit test in modo che l'area rimanga semanticamente equivalente dopo il refactoring. Correggere gli unit test non funzionanti. Eseguire l'analisi codice e correggere le avvertenze. Eseguire di nuovo gli unit test se le modifiche al codice sono state apportate in seguito all'analisi codice.
Integrare le modifiche
Il passaggio finale prevede l'integrazione delle modifiche archiviandole nel controllo della versione. Prima di archiviare il codice, eseguire eventuali test richiesti dal processo. Per altre informazioni su come controllare il 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 corrisponde a uno scenario o a un requisito di qualità del servizio di cui non si è proprietari, comunicare al proprietario che le modifiche sono state completate. Impostare l'elemento di lavoro dell'attività su Risolto e assegnarlo a uno dei tester che ha creato i test case per l'elemento di lavoro.
Se l'elemento di lavoro associato alle modifiche è un bug, impostare elemento di lavoro del bug su Risolto e assegnarlo alla persona che l'ha creato in origine.