Sono confuso riguardo al modello di processo unificato e allo sviluppo agile. Quando leggo di UP, sto solo comprendendo che si tratta di un miglioramento iterativo. Qualcuno può chiarire questo?
Sia UP che Agile sono approcci iterativi. Se dovessimo disegnare uno spettro di requisiti di documentazione per i processi di sviluppo, quindi Waterfall rappresenterebbe un estremo, Agile sarebbe posto dall'altra parte. UP esiste nel mezzo tra Waterfall e Agile e può assumere molti slot in quello spettro a seconda di come è implementato.
Nessuna documentazione come modello di sviluppo sarebbe molto più lontano rispetto a Agile su quello spettro, quindi per favore non interpretare male il mio commento come indica che Agile è lontano dal "centro" come Waterfall. Agile può essere un approccio abbastanza ragionevole allo sviluppo.
UP è più documento (artefatto) più pesante di Agile. Esiste una gamma più ampia di artefatti che possono essere creati attraverso il processo di sviluppo e ci sono potenzialmente più fasi per la revisione. Agile si affida molto di più alla comunicazione diretta e alle brevi iterazioni per una convalida costante.
Essendo una generalizzazione , UP è più adatto per i team più grandi in progetti di grandi dimensioni in cui non si avranno sempre comunicazioni faccia a faccia. Agile funziona meglio su team più piccoli e progetti più piccoli. Ma quelle sono solo generalizzazioni, non regole dure e veloci.
IMO, ogni team dovrebbe esaminare i vari approcci di sviluppo, tra cui Waterfall, per comprendere i punti di forza dell'approccio e determinare se è appropriato per il team. Ho visto una serie di progetti Agile che potrebbero utilizzare una documentazione meglio definita. Ho visto progetti UP che si disconnettevano dalle reali esigenze del cliente perché sceglievano gli artefatti sbagliati su cui lavorare. Tutti i processi hanno i loro negativi, quindi assicurati che venga scelto il giusto approccio per il progetto e il team.
Processo unificato è un processo dettagliato e ben definito.
"Agile" non è affatto un processo, è semplicemente un modo per dire che si segue il manifesto Agile che, a sua volta, è solo un insieme di valori e pratiche.
Quindi, in breve, qualsiasi processo che segue il manifesto agile può essere considerato agile.
Quindi, ecco il problema, CMMI e RUP hanno ottenuto una cattiva reputazione perché sono stati associati a costosi progetti costosi di documentazione e costosi. Questo è il modo in cui è stato venduto dagli "esperti". Pensaci, quando chiedi a una società esterna di aiutarti a mettere in atto un processo software e poi a implementare un progetto pilota usando quel processo, la tentazione è molto alta perché quell'azienda possa rendere il processo il più elaborato e complicato possibile.
Il RUP non richiede di compilare tutti i documenti del catalogo, li fornisce come linee guida e modelli e ti incoraggia a prendere ciò di cui hai bisogno e persino GASP personalizzare il processo per adattarlo alla tua azienda .
Allo stesso modo, CMMI non richiede REM di documentazione. Sfortunatamente, molte delle aziende che eseguono le valutazioni CMMI sono le stesse che vendono RUP come processo a cascata. Non è necessario guardare lontano per vedere come gli interessi conflittuali di un revisore che è anche un appaltatore possono portare a un disastro (ad esempio Enron).
RUP è un framework e come hai riconosciuto è un processo iterativo. Ci sono framework agili che lo riconoscono (vedi eXtreme Unified Process).
Leggi altre domande sui tag agile rational-unified-process