Il framework Rational Unified Process (RUP) rappresenta una linea guida per tutta una serie di principi di
progettazione software. Questa metodologia è applicabile a progetti di diverse dimensioni e complessità, così come a
diversi ambienti di sviluppo e domini. Vale a dire, che nessun singolo progetto o organizzazione può trarre vantaggio
dall'utilizzo integrale di RUP. L'applicazione integrale di RUP, potrebbe generare, con molta probabilità, un
ambiente progettuale inefficiente, dove i team avranno difficoltà a concentrare la propria attenzione sui compiti
importanti e sull'identificazione dell'insieme corretto di informazioni. Si raccomanda, pertanto, di personalizzare RUP
per offrire le linee guida appropriate ed adattate alla metodologia da seguire per lo sviluppo del software.
Questa guida fornisce un riepilogo ad alto livello del concetto di Personalizzazione del RUP.
La personalizzazione del processo può avvenire a due livelli:
-
A livello organizzativo, dove i progettisti del processo modificano, migliorano o configurano un processo
comune utilizzato in tutta l'organizzazione. La personalizzazione a livello organizzativo prende in considerazione
problematiche quali il dominio dell'applicazione, le pratiche per il riutilizzo e le tecnologie essenziali
padroneggiate dall'azienda. Un'organizzazione può avere più di un processo in atto, ciascuno adattato a un diverso
tipo di sviluppo. In alcuni casi, la configurazione classica predefinita di RUP funge da processo utilizzato in
tutta l'organizzazione.
-
A livello di progetto, dove i progettisti del processo modificano, migliorano o configurazione un processo
comune utilizzato da un progetto specifico. Quando esiste un processo utilizzato in tutta
l'organizzazione, la personalizzazione a livello di progetto si verifica quando lo stesso processo viene
ulteriormente perfezionato per un dato progetto. La personalizzazione a livello di progetto prende in
considerazione le dimensioni del progetto, il riutilizzo delle risorse dell'azienda, il tipo di ciclo di vita dello
sviluppo(nuovo sviluppo vs. evoluzione) e così via.
Qualunque sia il livello nell'organizzazione per cui il processo viene personalizzato, l'approccio complessivo
del RUP è lo stesso, sebbene le considerazioni siano diverse. L'approccio complessivo per la
personalizzazione di un processo è il seguente:
-
Identificare l'ambito dell'impegno di personalizzazione. Identificare il contenuto del
metodo da aggiungere o perfezionato nel RUP. identificare le risorse del metodo esistenti che è possibile
aggiungere. Ad esempio, le indicazioni, le maschere, gli esempi specifici per l'organizzazione/il
progetto selezionare i processi, i ruoli, i compiti, i prodotti di lavoro, le indicazioni, ecc. da
personalizzare. Per ulteriori informazioni sulla definizione dell'ambito dell'impegno di personalizzazione,
vedereGuida: Personalizzazione del RUP.
-
Selezionare il livello di personalizzazione da eseguire. RUP propone diversi livelli di
personalizzazione, ciascuno con un "costo" e un "vantaggio" associato. Per informazioni sui diversi livelli
di personalizzazione, vedere la sezione livelli di personalizzazione.
-
Personalizzare il processo. Personalizzare le componenti identificate del RUP utilizzando il
livello di personalizzazione selezionato.
Qualsiasi livello di personalizzazione si scelga, la metodologia prevede in genere tre
passaggi chiave (sebbene alcuni passaggi siano opzionali in base al livello di personalizzazione):
-
-
Sviluppare gli elementi del
metodo. Ciò include lo sviluppo di nuovo contenuto e/o il perfezionamento del
contenuto esistente.
-
Configurare il contenuto del metodo. Ciò
prevede decidere quale contenuto includere e quale escludere, così come offrire le viste appropriate per
detto contenuto (ad esempio, viste basate su un ruolo o domini specifici). La configurazione del
contenuto del metodo corrisponde a dimensionare il processo in modo appropriato affinché corrisponda con le
esigenze di una specifica organizzazione o un singolo progetto.
-
Sviluppare il processo per la configurazione. Ciò prevede selezionare
un tipo di ciclo di vita dello sviluppo (ad esempio, waterfall vs. iterativo) e definire un processo che
sia ottimizzato per adattarsi alle esigenze precise dell'organizzazione o del progetto. Il processo
risultante servirà quale input diretto per la pianificazione di un progetto.
-
Rendere il processo disponibile. Ciò prevede la pubblicazione della
configurazione, e relativo processo, come sito Web del processo e/o l'esportazione del processo in un tool
di pianificazione progetti.
Quanto del processo si decide di personalizzare, così come il livello di personalizzazione da intraprendere, dipende da
una serie di fattori, descritti inGuida:
Discriminanti del processo. Si consiglia anche di familiarizzare con RUP in termini di contenuto e supporto
per la personalizzazione. Per ulteriori informazioni, vedereIntroduzione al RUP.
La personalizzazione del processo è solo una parte dell'implementazione dello stesso per un progetto. Una volta
il processo è stato personalizzato, il responsabile progetto lo avvia e lo esegue per un dato progetto. Un processo
"Istanziato" rappresenta un piano adottabile per progetto/iterazione/attività (include attività effettive e prodotti di
lavoro per un progetto effettivo). L'istanziamento viene eseguito come componente della pianificazione del progetto.
Per ulteriori informazioni sulla pianificazione del progetto, vedere Compito: Fasi di pianificazione e iterazioni eCompito: Sviluppo del piano di iterazione.
La restante parte di questa guida descrive i diversi livelli di personalizzazione disponibili per
il RUP, seguiti dalla descrizione di alcuni scenari comuni di personalizzazione che riflettono
la diversità dei livelli.
Per ulteriori informazioni sulla personalizzazione del RUP, vedere quanto segue:
Di seguito sono riportati i livelli di personalizzazione attualmente disponibili in RUP, dal più semplice al più
complesso, dove ciascun livello include il livello precedente:
Livello 1
|
Documentare il processo personalizzato in un documento esterno che faccia riferimento a un processo
sottostante, così come qualsiasi risorsa del metodo personalizzato.
Questo livello è vantaggioso se, per qualche motivo, il processo da personalizzare non può essere
modificato (ad es., è sotto stretto controllo) oppure non si dispone l'accesso aRational Method Composer. La personalizzazione a questo
livello incide solo la presentazione sul sito Web, non sul contenuto sottostante.
|
Livello 2
|
Personalizzare un sito Web del processo esistente utilizzando My RUP e documenti esterni.
Questo livello è destinato ad essere utilizzato da individui su una copia personale del sito Web del
processo ed è in genere non consigliato per la personalizzazione del processo per un processo intero o
un'organizzazione. Tuttavia, la personalizzazione può essere un buon compromesso nei casi in cui
si desidera perfezionare la presentazione del sito Web e non è possibile accedere a Rational Method Composer. La personalizzazione a questo
livello incide solo la presentazione sul sito Web, non sul contenuto sottostante.
|
Livello 3
|
Configurare il sito Web di un processo da contenuto del metodo esistente utilizzandoRational Method Composer.
Questo livello è avvolte definito come sviluppo dellaConfigurazione di metodo .
|
Livello 4
|
Aggiungere Guida al framework del metodo esistente utilizzandoRational Method Composer.
Questo metodo è avvolte definito come sviluppo del Plugin di metodo "thin". I plugin thin aggiungono soloGuida (ad es., Concetti, Linee guida, Maschere, Esempi, Guida ai tool). I plugin 'thin' costituiscono un meccanismo che
le organizzazioni possono utilizzare per creare dei pacchetti di risorse, come delle maschere dei
prodotti di lavoro, delle linee guida, degli esempi ed altre risorse riutilizzabili in un progetto
individuale. La creazione di plugin 'thin' viene eseguita ad un costo molto ridotto e quindi è
facilmente applicabile ad un'organizzazione di qualsiasi dimensione e di solito può essere giustificata
all'interno del budget di un singolo progetto. Inoltre, la creazione di plugin thin non incide sui processi (Pattern di capacitàs e Processi di produzione) inclusi in una configurazione, in quanto non
viene aggiunto/perfezionato alcun ruolo, compito o prodotto del processo.
|
Livello 5
|
Sviluppare un nuovo Processo di produzione (basato preferibilmente sul Pattern di capacitàs) utilizzandoRational Method Composer.
Questo livello avvolte è definito come sviluppo del Processo di produzione .
|
Livello 6
|
Estendere il framework del metodo esistente con un nuovo contenuto del metodo (ad es., Compiti, Prodotti di lavoro, Ruoli) utilizzando Rational Method Composer.
Questo metodo è avvolte definito sviluppo del plugin "strutturale". Un plugin strutturale è un
plugin che estende il RUP aggiungendo/perfezionandoRuoli, Compiti e/o Prodotti di lavoro.
La creazione di plugin strutturali tende a gravare di più sulle risorse rispetto alla creazione di
plugin thin, poiché quando si aggiunge un ruolo, un compito e/o un prodotto di lavoro, potrebbe sorgere
l'esigenza di aggiungere altri elementi per il contenuto del metodo, così come
creare/perfezionare processi (Pattern di capacità e Processi di produzione) per inserire i nuovi elementi per il modello
del contenuto. Ad esempio, per aggiungere un nuovo prodotto di lavoro, potrebbe essere necessario
aggiungere un nuovo ruolo cui affidare la responsabilità del prodotto di lavoro e un compito per
generare il prodotto stesso. Per poi aggiungere un nuovo compito a un processo esistente oppure,
preferibilmente, creare un nuovo processo.
I plugin strutturali sono sviluppati di solito in organizzazioni i cui processi sono maturi e dove
l'attenzione è concentrata sull'utilizzo la sinergia dei processi tra progetti, in modo particolare nei
casi in numerosi progetti sono sviluppati utilizzando uno stesso dominio e tecnologia oppure ambienti
di sviluppo simili. Un progetto singolo in genere non si assume il compito di creare un plugin
strutturale per il RUP, tranne se le dimensioni del progetto sono sufficientemente grandi da
giustificare il costo di sviluppo di un plugin, mantenendosi nei limiti del budget. Un plugin
strutturale è simile a una risorsa riutilizzabile, nel senso che non ci si assumerà il costo di
renderlo riutilizzabile se non esiste il potenziale di riutilizzo oltre l'ambito del progetto stesso.
Riepilogando, la creazione di nuovi ruoli, compiti e così via, in un plugin riutilizzabile non è un
processo di scarso rilievo ed bene, in genere, ridurre al minimo l'impiego di questo tipo di
personalizzazione, concentrando l'attenzione solo sull'aggiunta degli elementi "mancanti" nel processo
di produzione (Livello 5), invece di tentare di ricalcolare, sostituire o rinominare i compiti, i ruoli
e i prodotti di lavoro di RUP. Tuttavia, l'aggiunta di compiti o attività nuove isolate a un processo
di produzione o alcuni pattern di capacità nuovi comporta un rischio piuttosto basso.
|
Si consiglia di personalizzare il RUP medianteRational Method
Composer (RMC). Facendo così, il sito Web del processo generato propone funzionalità e aspetto pari a
quelli proposti dal sito Web RUP classico. Inoltre, se si utilizza RMC, a Processo di produzione può essere istanziato, esportandolo da RMC e quindi
importandolo in un tool di gestione progetti (come Rational Portfolio Manager) dove i prodotti di lavoro effettivi
possono essere identificati, risorse effettive possono essere assegnate a ruoli, ecc. Per ulteriori
informazioni sull'esportazione dei processi di produzione, vedereGuida
ai tool: Processi di esportazione in un tool di pianificazione utilizzando Rational Method Composer.
Si consiglia di dedicare un po' di tempo alla ricerca di plugin esistenti prima di avviare un progetto di plugin e così
evitare ridondanze. developerWorks:IBM
Sponsored RUP Plug-Ins contiene un elenco completo di tutti i plugin che è possibile scaricare e inserire nella
propria configurazione RUP.
In questa sezione viene descritta una serie di scenari comuni per la personalizzazione del RUP. Ciascuno scenario, a
sua volta, descrive come eseguire i passaggi chiave della personalizzazione
utilizzando livelli diversi.
Gli scenari sono i seguenti:
Ciascuno di questi scenari viene esaminato di seguito.
Quando si personalizza RUP utilizzando un documento esterno, i passaggi chiave di personalizzazione sono da eseguirsi
come segue:
-
Sviluppare gli elementi del metodo quali maschere, linee guida ed esempi utilizzando qualsiasi tool in grado di
supportare lo sviluppo di contenuto.
-
Configurare il contenuto del metodo.
-
Sviluppare il processo per la configurazione, sviluppando un documento o una serie di documenti che descrivono
quale contenuto di RUP deve essere inserito nel processo personalizzato, come gli elementi del metodo sviluppato in
un passaggio precedente si inseriscono nel contesto e la relativa posizione nel ciclo di vita complessivo del
processo. Il documento può essere redatto in un editor di testo, un foglio di lavoro, un sito Web, ecc. Sviluppare
tutti i documenti necessari per fornire sufficienti viste nei diversi aspetti del processo.
-
Per rendere il processo disponibile, è sufficiente rendere il documento esterno e contenuto correlato disponibile
per gli utenti finali. Con questo scenario, non c'è altro da pubblicare e nulla da esportare.
Ad esempio, creando una serie di pagine HTML che descrivono il processo istanziato, è possibile renderle accessibili
dal sito Web dell'organizzazione/progetto da utilizzarsi per offrire i punti di ingresso iniziali per il sito Web RUP
sottostante (ad es., le pagine HTML si collegano al sito Web RUP per dettagli).
Quando si usa My RUP per personalizzare RUP, i passaggi chiave di personalizzazione sono da eseguirsi come segue:
-
Sviluppare gli elementi del metodo utilizzando un qualsiasi supporto di tool per lo sviluppo del contenuto (ad es.,
elaboratori di testi, fogli di lavoro, pagine HTML, ecc.).
-
Configurare il contenuto del metodo aggiungendo gli elementi del metodo sviluppato alle viste processi del
sito Web di RUP, creando nuove viste processi e o eliminando quelle esistenti.
-
Sviluppare il processo per la configurazione sviluppando un documento che offra una descrizione complessiva del
ciclo di vita di un processo, facendo riferimento, se necessario, al sito Web.
-
Per rendere il processo disponibile, è sufficiente rendere il documento esterno e contenuto correlato disponibile
per gli utenti finali. Con questo scenario, non c'è altro da pubblicare - poiché la la personalizzazione
viene eseguita sul sito Web pubblicato - e nulla da esportare.
Nota: questo scenario è molto simile a quello di Personalizzare RUP utilizzando un
documento esterno, tranne che i documenti esterni, in questo scenario, sono una componente del sito Web
pubblicato.
Per ulteriori informazioni su come personalizzare un sito Web RUP utilizzando My RUP, vedereGuida al tool: Personalizzare il sito Web RUP utilizzando Vista processi
personale o My RUP.
Quando si usaRational Method Composer (RMC) per configurare il contenuto del metodo
esistente, i passaggi chiave di personalizzazione sono:
-
Siccome si sta configurando il contenuto esistente, non è necessario eseguire lo sviluppo dell'elemento del metodo.
-
Per configurare il contenuto del metodo, creare unaConfigurazione di metodo che includa i pacchetti del contenuto rilevante
del framework di RUP e gli eventuali plugin di metodo presenti ed escludere i pacchetti di contenuto
irrilevanti, definendo viste nella configurazione a supporto delle diverse prospettive degli
stakeholder. Preferibilmente, utilizzare una delle configurazioni predefinite in RMC come punto di partenza
per la configurazione. Per ulteriori informazioni sulla creazione di una configurazione utilizzando RMC,
vedere Guida ai tool: Creazione di una configurazione di metodo utilizzando Rational Method
Composer.
-
Siccome si sta configurando il contenuto esistente, non è necessario eseguire lo sviluppo dell'elemento del metodo
(è possibile utilizzare uno dei Processi di produzione predefiniti).
-
Per rendere il processo disponibile, pubblicare la configurazione per produrre il sito Web del processo e/o
esportare il processo di produzione in un tool di pianificazione progetti. Per ulteriori informazioni,
vedereGuida ai tool: Pubblicazione della configurazione di metodo utilizzando Rational
Method Composer e Guida ai tool: Esportazione dei processi in un tool di pianificazione utilizzando
Rational Method Composer.
Quando si utilizzaRational Method
Composer (RMC) per aggiungere una Guida per configurare gli elementi del metodo esistente, i passaggi chiave di
personalizzazione sono da eseguirsi come segue:
-
Crea un Plugin di metodo per contenere le indicazioni. Il plugin di metodo
conterrà non solo le indicazioni, ma anche le associazioni tra le indicazioni e gli e;elementi del
metodo supportati. Un plugin che contiene solo indicazioni viene a volte denominato plugin "thin".
Per ulteriori informazioni sulla gestione dei plugin, vedere Guida ai tool: Creazione di un plugin di metodo utilizzando Rational Method
Composer e Guida ai tool: Sviluppo del contenuto del metodo utilizzando Rational Method
Composer.
-
Creare unaConfigurazione di metodo che contenga il plugin di metodo creato al punto
precedente. Quale punto di partenza, preferire una delle configurazioni RMC predefinite che contengono gli
elementi del metodo necessari. Perfezionare le viste della configurazione per inserire la nuova guida,
secondo necessità. Per ulteriori informazioni sulla gestione delle configurazioni, vedereGuida ai tool: Creazione di una configurazione di metodo utilizzando Rational Method
Composer.
-
Siccome è stata aggiunta solo le indicazioni agli elementi del metodo esistenti, non è necessario sviluppare alcun
processo (è possibile utilizzare i Processi di produzione predefiniti).
-
Per rendere il processo disponibile, pubblicare la configurazione per produrre il sito Web del processo e/o
esportare il processo di produzione in un tool di pianificazione progetti. Per ulteriori informazioni,
vedereGuida ai tool: Pubblicazione della configurazione di metodo utilizzando Rational
Method Composer e Guida ai tool: Esportazione dei processi in un tool di pianificazione utilizzando
Rational Method Composer.
Quando si utilizzaRational Method
Composer (RMC) per definire un nuovoProcesso di produzione, i passaggi chiave di personalizzazione sono da eseguirsi
come segue:
-
Siccome si sta creando un nuovo processo di produzione, è necessario creare unPlugin di metodo per contenere il processo stesso. Per ulteriori
informazioni vedere Creazione di un plugin di metodo utilizzando Rational Method Composer.
-
La configurazione del processo prevede la creazione di una Configurazione di metodo comprensiva del plugin creato al punto precedente
e di tutti gli altri plugin necessari (ad esempio, plugin contenenti gli elementi del metodo cui si fa
riferimento nel processo di produzione). Preferire una configurazione predefinita quale punto di partenza, in
modo specifico una configurazione che contiene un processo di produzione che è simile al processo di
produzione da definire. Per ulteriori informazioni, vedereGuida ai tool: Creazione di una configurazione di metodo utilizzando Rational Method
Composer.
-
Per sviluppare il processo per la configurazione, creare un nuovo processo di produzione, preferibilmente partendo
da da uno preesistente o unPattern di capacità esistente. Per ulteriori informazioni, vedereGuida ai tool: Sviluppo dei processi utilizzando Rational Method Composer.
Durante lo sviluppo del processo di produzione, se ci si rende conto che è necessario un altro contenuto del
metodo, è possibile il contenuto al plugin di metodo da inserire poi nella configurazione. Per ulteriori
informazioni, vedereCreazione di un plugin di metodo utilizzando Rational Method Composer e Guida ai tool: Sviluppo del contenuto del metodo utilizzando Rational Method
Composer.
-
Per rendere il processo disponibile, pubblicare la configurazione per produrre il sito Web del processo e/o
esportare il processo di produzione in un tool di pianificazione progetti. Per ulteriori informazioni,
vedereGuida ai tool: Pubblicazione della configurazione di metodo utilizzando Rational
Method Composer e Guida ai tool: Esportazione dei processi in un tool di pianificazione utilizzando
Rational Method Composer.
Quando si utilizzaRational Method
Composer (RMC) per aggiungere un nuovo elemento del metodo senza guida(Ruolo, Compito oppureProdotto di
lavoro), i passaggi chiave di personalizzazione sono da eseguirsi come segue:
-
Creare un Plugin di metodo per contenere il nuovo elemento del metodo e tutti gli
eventuali altri elementi del metodo. Ad esempio, per aggiungere un prodotto di lavoro, potrebbe essere
necessario aggiungere un ruolo cui affidare la responsabilità del prodotto di lavoro e un compito per
generare il prodotto stesso, ecc. Per ulteriori informazioni, vedere Creazione di un plugin di metodo utilizzando Rational Method Composer.
-
Configurare il contenuto del metodo creando una Configurazione di metodo comprensiva del plugin creato al punto precedente
e di tutti gli altri plugin necessari (ad esempio, plugin contenenti gli elementi del metodo cui si fa riferimento
nel nuovo elemento del metodo). Per ulteriori informazioni, vedereGuida ai tool: Creazione di una configurazione di metodo utilizzando Rational Method
Composer.
-
Per sviluppare il processo per la configurazione, creare un nuovoProcesso di produzione, preferibilmente partendo da un Pattern di capacità preesistente. Aggiungere il nuovo elemento del metodo
e tutti gli eventuali elementi del metodo correlati al processo di produzione. Per ulteriori informazioni,
vedereGuida ai tool: Sviluppo dei processi utilizzando Rational Method Composer.
-
Per rendere il processo disponibile, pubblicare la configurazione per produrre il sito Web del processo e/o
esportare il processo di produzione in un tool di pianificazione progetti. Per ulteriori informazioni,
vedereGuida ai tool: Pubblicazione della configurazione di metodo utilizzando Rational
Method Composer e Guida ai tool: Esportazione dei processi in un tool di pianificazione utilizzando
Rational Method Composer.
Come discusso in precedenza, un'opzione per personalizzare RUP consiste nel fornire informazioni di personalizzazione
in un documento esterno che fa riferimento al processo sottostante. Il Caso di sviluppo è un esempio di tale documento. Per
ulteriori informazioni sull'utilizzo di un caso di sviluppo nel processo di personalizzazione, vedere Compito: sviluppo del caso di sviluppo e la guida associata.
|