Uno schema ALM fornisce le funzioni di sicurezza, governabilità,
tracciabilità e gestione flusso di lavoro.
Lo schema ALM si basa su alcuni tipi di record correlati principali per assicurare che le richieste per la modifica siano valutate, assegnate, tracciate, lavorate e risolte con un processo che assicura una tracciabilità completa.
I tipi di record principali sono ALMRequest, ALMTask e ALMActivity. Un record ALMRequest
rappresenta una richiesta per alcuni tipi di modifica. Un record ALMTask gestisce
una richiesta e facilita la gestione di attività che sono le unità di lavoro per completare
l'operazione.
Un record ALMTask può essere utilizzato da un responsabile o responsabile del team per gestire il lavoro che deve essere eseguito e le risorse da assegnare per tutte le attività.
Ogni tipo di record di lavoro ALM ha un campo Type che può essere utilizzato
per descrivere un tipo di lavoro (come difetto, potenziamento e requisito release).
Sebbene i package ALM includano valori Type forniti che sono comuni per le procedure ottimali di sviluppo software, non si è limitati a questi ed è possibile crearne di propri.
Le relazioni tra i tipi di record possono risultare utili nel facilitare i processi
per la gestione delle modifiche tra più ruoli. Ad esempio, quando viene eseguita l'azione CreateTask di un record richiesta, è possibile creare una o più
operazioni. Se per questa richiesta sono già state create
operazioni, è possibile specificare che lo stesso insieme o un diverso insieme di una o più operazioni venga creato con tipi di operazioni uguali ai tipi di richiesta o diversi. Quando viene eseguita l'azione CreateActivity di un record operazione (Task), è possibile creare una o più
attività di diversi tipi. Se per tale operazione esistono già
attività, è possibile creare un insieme diverso di
attività. La flessibilità di personalizzare il processo di lavoro è disponibile ma facoltativa.
Ogni tipo di lavoro può avere ruoli utente specifici associati ad esso (ad esempio, associare il ruolo
Test con l'attività Test). Ogni ruolo elenca i membri del team
che sono abilitati ad eseguire tale tipo di lavoro.
Un processo di lavoro ALM inizia con una richiesta:
- Un utente inoltra una richiesta. La richiesta di modifica potrebbe descrivere una richiesta di
potenziamento, un requisito di release o un difetto.
- Un team di selezione o un responsabile di controllo della modifica esamina la richiesta e decide se accettarla o rifiutarla. Se viene accettata, il team o il responsabile creano un'operazione, cioè una descrizione molto particolareggiata
del lavoro da eseguire per implementare la richiesta. Il record richiesta (Request)
include un collegamento al record operazione (Task) e l'operazione è assegnata a un progetto.
- Uno sviluppatore principale o altro responsabile del team esamina l'operazione e quindi la attiva. L'attivazione dell'operazione crea attività per completare l'operazione. Il responsabile del team assegna queste attività ai membri del team. Esempi di attività sono attività
di sviluppo, attività di test e attività di documentazione (Doc).
Il record operazione (Task) include collegamenti ai record attività (Activity) e questi
hanno collegamenti all'operazione.
- I responsabili Developer (Sviluppatore), Test e Doc assegnano le attività ai membri del team che aggiornano i record attività in modo da riflettere lo stato del lavoro. Una volta terminato il lavoro, essi consegnano le modifiche e contrassegnano le
attività come complete.
- Un tecnico del release integra ed esegue la build delle modifiche consegnate e crea baseline.
- Un tester esegue il test delle modifiche nelle baseline. Il responsabile test contrassegna un'operazione di test come completa dopo che le attività di test
sono state eseguite e completate.
- L'utente che ha inoltrato la richiesta esamina l'operazione e le relative attività
e, se soddisfatto, la contrassegna come completa.
Questo processo facilita la tracciabilità da una richiesta utente iniziale a tutte le attività
necessarie per soddisfare la richiesta.
I tipi comuni di ruoli per uno schema ALM sono:
- Submitter (mittente). Poiché non è un ruolo ALM definito, un mittente può essere chiunque,
ad esempio, qualsiasi tecnico di supporto, sviluppatore, tester, scrittore tecnico o responsabile. Un mittente può:
- Inoltrare richieste.
- Verificare lo stato della richiesta.
- Responsabili progetto o sviluppo oppure responsabili team. Questi ruoli possono selezionare le richieste e individuare
destinazioni del release. Un responsabile può:
- Verificare lo stato della richiesta ed eseguire la chiusura come appropriato.
- Verificare se il carico di lavoro per gli sviluppatori è bilanciato appropriatamente.
- Eseguire report (metriche della richiesta, ricerche, chiusure, arrivi, stato del release).
- Doc Assessor (addetto alla valutazione della documentazione), Tester e Developer (sviluppatore). Questi ruoli possono:
- Trovare richieste a loro assegnate.
- Lavorare su e risolvere richieste.
- Responsabile prodotto o supporto. Questi ruoli possono:
- Eseguire report (metriche della richiesta, ricerche, chiusure, arrivi, stato del release).
- Verificare lo stato del release e la richiesta.
Mentre un utente può ricoprire più ruoli in qualsiasi momento, uno schema ALM consente una transizione tra i ruoli definita più chiaramente. Ad esempio, lo stesso utente, con ruolo di sviluppatore, può inoltrare una richiesta e poi assegnare a se stesso un'attività associata
e risolverla. In questo esempio, lo stesso utente
riveste i ruoli di Submitter (mittente), Developer (capo sviluppatore), Developer (sviluppatore) e Tester.