logo

Modello Agile

Il significato di Agile è rapido o versatile.' Modello di processo agile ' si riferisce ad un approccio di sviluppo software basato sullo sviluppo iterativo. I metodi agili suddividono le attività in iterazioni più piccole oppure le parti non implicano direttamente la pianificazione a lungo termine. L'ambito e i requisiti del progetto vengono stabiliti all'inizio del processo di sviluppo. I piani riguardanti il ​​numero di iterazioni, la durata e l'ambito di ciascuna iterazione sono chiaramente definiti in anticipo.

Ciascuna iterazione è considerata come un 'intervallo' di tempo breve nel modello di processo Agile, che in genere dura da una a quattro settimane. La divisione dell'intero progetto in parti più piccole aiuta a minimizzare il rischio del progetto e a ridurre i tempi di consegna complessivi del progetto. Ciascuna iterazione coinvolge un team che lavora lungo l'intero ciclo di vita dello sviluppo del software, compresa la pianificazione, l'analisi dei requisiti, la progettazione, la codifica e il test prima che un prodotto funzionante venga dimostrato al cliente.

Modello Agile

Fasi del modello Agile:

Di seguito sono riportate le fasi del modello Agile:

  1. Raccolta dei requisiti
  2. Progettare i requisiti
  3. Costruzione/iterazione
  4. Test/Garanzia di qualità
  5. Distribuzione
  6. Feedback

1. Raccolta dei requisiti: In questa fase è necessario definire i requisiti. Dovresti spiegare le opportunità di business e pianificare il tempo e gli sforzi necessari per costruire il progetto. Sulla base di queste informazioni è possibile valutare la fattibilità tecnica ed economica.

delizia soleggiata

2. Progettare i requisiti: Una volta identificato il progetto, collaborare con le parti interessate per definire i requisiti. Puoi utilizzare il diagramma di flusso dell'utente o il diagramma UML di alto livello per mostrare il funzionamento delle nuove funzionalità e mostrare come si applicherà al tuo sistema esistente.

metodi astratti

3. Costruzione/iterazione: Quando il team definisce i requisiti, il lavoro inizia. Designer e sviluppatori iniziano a lavorare sul loro progetto, che mira a distribuire un prodotto funzionante. Il prodotto subirà varie fasi di miglioramento, quindi include funzionalità semplici e minime.

4. Test: In questa fase, il team di controllo qualità esamina le prestazioni del prodotto e cerca il bug.

5. Distribuzione: In questa fase, il team rilascia un prodotto per l'ambiente di lavoro dell'utente.

6. Feedback: Dopo aver rilasciato il prodotto, l'ultimo passaggio è il feedback. In questo, il team riceve feedback sul prodotto e lavora attraverso il feedback.

Metodi di test agili:

  • Mischia
  • Cristallo
  • Metodo di sviluppo software dinamico (DSDM)
  • Sviluppo basato sulle funzionalità (FDD)
  • Sviluppo software snello
  • Programmazione estrema (XP)

Mischia

SCRUM è un processo di sviluppo agile focalizzato principalmente sulle modalità di gestione delle attività in condizioni di sviluppo basate sul team.

eredità in Java

Ci sono tre ruoli al suo interno e le loro responsabilità sono:

    Maestro di mischia:Lo Scrum può costituire il team principale, organizzare la riunione e rimuovere gli ostacoli al processoProprietario del prodotto:Il proprietario del prodotto crea il backlog del prodotto, dà priorità al ritardo ed è responsabile della distribuzione delle funzionalità su ogni ripetizione.Squadra di mischia:Il team gestisce il proprio lavoro e organizza il lavoro per completare lo sprint o il ciclo.

Programmazione estrema (XP)

Questo tipo di metodologia viene utilizzata quando le richieste o i requisiti dei clienti cambiano costantemente o quando non sono sicuri delle prestazioni del sistema.

Cristallo:

Ci sono tre concetti di questo metodo:

  1. Chartering: in questa fase sono coinvolte molteplici attività, come la creazione di un team di sviluppo, l'esecuzione di analisi di fattibilità, lo sviluppo di piani, ecc.
  2. Erogazione ciclica: sotto questa consistono altri due cicli, questi sono:
    • Il team aggiorna il piano di rilascio.
    • Il prodotto integrato offre agli utenti.
  3. Conclusione: in base all'ambiente dell'utente, questa fase esegue la distribuzione e la post-distribuzione.

Metodo di sviluppo software dinamico (DSDM):

DSDM è una strategia di sviluppo rapido di applicazioni per lo sviluppo di software e offre una struttura di distribuzione del progetto agile. Le caratteristiche essenziali di DSDM sono che gli utenti devono essere attivamente connessi e ai team è stato concesso il diritto di prendere decisioni. Le tecniche utilizzate in DSDM sono:

  1. Boxe del tempo
  2. Regole di Mosca
  3. Prototipazione

Il progetto DSDM prevede sette fasi:

myflixer
  1. Pre-progetto
  2. Studio di fattibilità
  3. Studio aziendale
  4. Iterazione del modello funzionale
  5. Progettare e costruire l'iterazione
  6. Implementazione
  7. Post-progetto

Sviluppo basato sulle funzionalità (FDD):

Questo metodo si concentra sulle funzionalità di 'Progettazione e costruzione'. A differenza di altri metodi intelligenti, FDD descrive i piccoli passaggi del lavoro che dovrebbero essere ottenuti separatamente per funzione.

Sviluppo software snello:

La metodologia di sviluppo software snella segue il principio della 'produzione just in time'. Il metodo snello indica la crescente velocità di sviluppo del software e la riduzione dei costi. Lo sviluppo snello può essere riassunto in sette fasi.

  1. Eliminazione dei rifiuti
  2. Amplificare l'apprendimento
  3. Differire l'impegno (decidere il più tardi possibile)
  4. Consegna anticipata
  5. Dare potere alla squadra
  6. Costruire l'integrità
  7. Ottimizza il tutto

Quando utilizzare il modello Agile?

  • Quando sono necessari cambi frequenti.
  • Quando è disponibile un team altamente qualificato ed esperto.
  • Quando un cliente è pronto per avere sempre un incontro con un team di software.
  • Quando la dimensione del progetto è piccola.

Vantaggio (pro) del metodo Agile:

  1. Consegna frequente
  2. Comunicazione faccia a faccia con i clienti.
  3. Design efficiente e soddisfa i requisiti aziendali.
  4. In qualsiasi momento le modifiche sono accettabili.
  5. Riduce il tempo totale di sviluppo.

Svantaggi (contro) del modello Agile:

  1. A causa della carenza di documenti formali, si crea confusione e le decisioni cruciali prese durante le varie fasi possono essere interpretate erroneamente in qualsiasi momento dai diversi membri del team.
  2. A causa della mancanza di documentazione adeguata, una volta che il progetto viene completato e gli sviluppatori vengono assegnati a un altro progetto, il mantenimento del progetto finito può diventare una difficoltà.