SDLC – Modello Agile

Pubblicità

Il modello SDLC agile è una combinazione di modelli di processo iterativi e incrementali con particolare attenzione all’adattabilità del processo e alla soddisfazione del cliente mediante consegna rapida del prodotto software funzionante. I metodi agili suddividono il prodotto in piccole build incrementali. Queste build sono fornite in iterazioni. Ogni iterazione dura tipicamente da una a tre settimane circa. Ogni iterazione coinvolge team interfunzionali che lavorano simultaneamente su varie aree come –

  • Pianificazione
  • Analisi dei requisiti
  • Progettazione
  • Codifica
  • Test unitari e
  • Test di accettazione.

Alla fine dell’iterazione, un prodotto funzionante viene mostrato al cliente e alle parti interessate importanti.

Cos’è Agile?

Il modello Agile ritiene che ogni progetto debba essere gestito in modo diverso e che i metodi esistenti debbano essere adattati per soddisfare al meglio i requisiti del progetto. In Agile, le attività sono suddivise in time box (piccoli intervalli di tempo) per fornire funzionalità specifiche per un rilascio.

Viene adottato un approccio iterativo e viene fornita la build del software funzionante dopo ogni iterazione. Ogni build è incrementale in termini di funzionalità; la build finale contiene tutte le funzionalità richieste dal cliente.

Ecco un’illustrazione grafica del modello Agile –

L’Agile il processo di pensiero era iniziato all’inizio dello sviluppo del software e ha iniziato a diventare popolare nel tempo grazie alla sua flessibilità e adattabilità.

I metodi Agile più popolari includono Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development e Dynamic Systems Development Method (DSDM) (1995). Questi sono ora indicati collettivamente come Metodologie Agile, dopo che il Manifesto Agile è stato pubblicato nel 2001.

Di seguito sono riportati i principi del Manifesto Agile –

  • Individui e interazioni – Nello sviluppo Agile, l’auto-organizzazione e la motivazione sono importanti, così come le interazioni come la co-locazione e la programmazione in coppia.

  • Software funzionante: il software funzionante dimostrativo è considerato il miglior mezzo di comunicazione con i clienti per comprendere le loro esigenze, invece di dipendere solo dalla documentazione.

  • Collaborazione con il cliente – Poiché i requisiti non possono essere raccolti completamente all’inizio del progetto a causa di vari fattori, l’interazione continua con il cliente è molto importante per ottenere i requisiti del prodotto adeguati.

  • Rispondere al cambiamento – Lo sviluppo agile si concentra su risposte rapide al cambiamento e sviluppo continuo.

Agile vs modelli SDLC tradizionali

Agile si basa sul software adattivo metodi di sviluppo, mentre i modelli SDLC tradizionali come il modello a cascata si basano su un approccio predittivo. I team predittivi nei modelli SDLC tradizionali di solito lavorano con una pianificazione dettagliata e hanno una previsione completa delle attività e delle funzionalità esatte da fornire nei prossimi mesi o durante il ciclo di vita del prodotto.

I metodi predittivi dipendono interamente da l’analisi dei requisiti e la pianificazione effettuata all’inizio del ciclo. Qualsiasi modifica da incorporare passa attraverso una rigorosa gestione del controllo delle modifiche e assegnazione delle priorità.

Agile utilizza un approccio adattivo in cui non esiste una pianificazione dettagliata e c’è chiarezza sulle attività future solo per quanto riguarda le funzionalità che devono essere sviluppate . È previsto uno sviluppo basato sulle funzionalità e il team si adatta dinamicamente ai requisiti del prodotto in evoluzione. Il prodotto viene testato molto frequentemente, attraverso le iterazioni di rilascio, riducendo al minimo il rischio di eventuali guasti importanti in futuro.

L’interazione con il cliente è la spina dorsale di questa metodologia Agile e la comunicazione aperta con documentazione minima sono le caratteristiche tipiche Ambiente di sviluppo agile. I team Agile lavorano in stretta collaborazione tra loro e si trovano nella maggior parte dei casi nella stessa posizione geografica.

Modello Agile – Pro e Contro

I metodi Agile sono ampiamente accettati nel software mondo di recente. Tuttavia, questo metodo potrebbe non essere sempre adatto a tutti i prodotti. Ecco alcuni pro e contro del modello Agile.

I vantaggi del modello Agile sono i seguenti:

  • È un approccio molto realistico allo sviluppo del software.

  • Promuove il lavoro di squadra e il cross training.

  • La funzionalità può essere sviluppata rapidamente e dimostrata.

  • I requisiti di risorse sono minimi.

  • Adatto a requisiti fissi o mutevoli

  • Fornisce soluzioni di lavoro parziali iniziali .

  • Buon modello per ambienti che cambiano costantemente.

  • Regole minime, documentazione facilmente utilizzabile.

  • Consente lo sviluppo e la consegna simultanei all’interno di un contesto pianificato generale.

  • Poca o nessuna pianificazione richiesta.

  • Facile da gestire.

  • Offre flessibilità agli sviluppatori.

Gli svantaggi di il modello Agile sono i seguenti:

  • Non adatto per la gestione di dipendenze complesse.

  • Maggiori rischi di sostenibilità, manutenibilità ed estensibilità.

  • Un piano generale, un leader agile e una pratica agile di PM sono un must senza i quali non funzionerà.

  • Rigido la gestione delle consegne determina l’ambito, la funzionalità da fornire e gli adeguamenti per rispettare le scadenze.

  • Dipende fortemente dall’interazione con il cliente, quindi se il cliente non è chiaro, il team può essere guidato nella direzione sbagliata.

  • Esiste una dipendenza individuale molto elevata, poiché viene generata una documentazione minima.

  • Trasferimento di tecnologia per i nuovi membri del team può essere piuttosto difficile lenging per mancanza di documentazione.

Pubblicità

Write a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *