Concetto: Personalizzazione del RUP
Questa guida descrive il processo integrale per la personalizzazione del Rational Unified Process (RUP), il cui obiettivo è di offrire linee guida appropriate ed adattate per la metodologia da seguire per lo sviluppo del software.
Relazioni
Descrizione principale

Introduzione

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:

  1. 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.
  2. 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.
  3. 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):
    1. Sviluppare gli elementi del metodo.   Ciò include lo sviluppo di nuovo contenuto e/o il perfezionamento del contenuto esistente.
    2. 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.
    3. 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.    
    4. 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:


Livelli di personalizzazione

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.

Scenari di personalizzazione

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.


Personalizzare RUP utilizzando un documento esterno

Quando si personalizza RUP utilizzando un documento esterno, i passaggi chiave di personalizzazione sono da eseguirsi come segue:

  1. Sviluppare gli elementi del metodo quali maschere, linee guida ed esempi utilizzando qualsiasi tool in grado di supportare lo sviluppo di contenuto.
  2. Configurare il contenuto del metodo.
  3. 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.
  4. 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).


Personalizzare RUP utilizzando My RUP

Quando si usa My RUP per personalizzare RUP, i passaggi chiave di personalizzazione sono da eseguirsi come segue:

  1. 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.).
  2. 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.  
  3. 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. 
  4. 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.


Personalizzare RUP configurando il contenuto esistente

Quando si usaRational Method Composer (RMC) per configurare il contenuto del metodo esistente, i passaggi chiave di personalizzazione sono:

  1. Siccome si sta configurando il contenuto esistente, non è necessario eseguire lo sviluppo dell'elemento del metodo.
  2. 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.
  3. Siccome si sta configurando il contenuto esistente, non è necessario eseguire lo sviluppo dell'elemento del metodo (è possibile utilizzare uno dei Processi di produzione predefiniti).  
  4. 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.

Personalizzare RUP aggiungendo indicazioni agli elementi del metodo esistenti

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:

  1. 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.
  2. 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.
  3. Siccome è stata aggiunta solo le indicazioni agli elementi del metodo esistenti, non è necessario sviluppare alcun processo (è possibile utilizzare i Processi di produzione predefiniti).  
  4. 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.

Personalizzare RUP definendo un nuovo processo di produzione

Quando si utilizzaRational Method Composer (RMC) per definire un nuovoProcesso di produzione, i passaggi chiave di personalizzazione sono da eseguirsi come segue:

  1. 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.
  2. 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.
  3. 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.
  4. 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
     

Personalizzare RUP aggiungendo un nuovo elemento del metodo senza guida

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.