Qual è la differenza tra modelli di processi di sviluppo agili e incrementali

2

Come suggerisce il titolo, qual è la differenza tra questi due concetti? Secondo la mia comprensione, il processo software Agile utilizza incrementi, in cui alcuni requisiti vengono prima implementati e controllati. Lo stesso per lo sviluppo incrementale.

    
posta Ahmed Mohamed 14.10.2018 - 21:33
fonte

2 risposte

3

"Agile" è un insieme di valori . Uno di questi: "abbiamo imparato a valutare: [...] rispondere al cambiamento dopo aver seguito un piano". Ciò suggerisce che i modelli di sviluppo a cascata possono essere inappropriati. In pratica, molti flussi di lavoro agili sono incrementali, ad esempio Scrum.

Sebbene vi sia una significativa sovrapposizione tra modelli "agili" e "iterativi", possono esserci anche modelli agili non incrementali o modelli incrementali non agili.

In particolare, i valori agili non sono molto prescrittivi. Un team agile può decidere un flusso di lavoro incrementale o non incrementale a seconda di ciò che funziona per loro. Per esempio. per un breve progetto, può essere perfettamente agile per non dividere il lavoro in incrementi. Esistono anche molte pratiche nello spazio agile-ish senza incrementi di tempo chiari, ad esempio Kanban (che è più un flusso di attività che la consegna in incrementi) o una consegna continua.

Al contrario, un gruppo di lavoro incrementale specifico può essere imposto a una squadra anche al di fuori di un'impostazione agile, ad es. perché lo sviluppo incrementale consente una migliore gestione dei rischi o perché gli incrementi devono essere integrati in un treno di rilascio.

    
risposta data 14.10.2018 - 22:00
fonte
1

Molti approcci Agile inclusi Scrum e XP promuovono un approccio Iterativo, Incrementale e Adattivo. Ho incluso una breve descrizione di ciascuno di seguito. Per rispondere alla tua domanda, è possibile affrontare lo sviluppo incrementale con tutti e tre questi o con solo uno ed è quello che direi che la differenza nell'approccio è.

Iterativo : il lavoro viene eseguito in periodi di tempo fissi, creando un ciclo che può essere utilizzato per fare previsioni e migliorare in modo più efficace il processo.

Incrementale : ogni iterazione, il team completa un incremento del prodotto. Ogni incremento è un prodotto autonomo e funzionale. Naturalmente, questa versione del prodotto potrebbe non essere valida sul mercato, ma è autonoma.

Adattivo : ogni iterazione, il team rivaluta qual è la giusta direzione per la successiva iterazione. Avere un incremento completo alla fine di ogni iterazione abilita questo. Quando si lavora dal backlog, di solito c'è un flusso da un incremento a un altro e il lavoro di ogni iterazione generalmente funziona lungo il backlog. Tuttavia, essendo adattivo, non è necessario. Se dovesse nascere qualche nuova comprensione del prodotto, è ipoteticamente possibile che l'intero arretrato possa essere sostituito.

Nella mia esperienza, la maggior parte degli approcci di sviluppo incrementali include solo incrementali o incrementali e iterativi, ma non sono a conoscenza di nulla che impedisca che gli approcci incrementali tradizionali siano anche adattivi - semplicemente non è comune.

    
risposta data 15.10.2018 - 05:56
fonte

Leggi altre domande sui tag