Esistono studi sull'efficienza / efficacia di Agile vs Waterfall [chiuso]


22

In una riunione dell'altro giorno è stato affermato che l'agile era solo il 60% più efficiente nei tempi di sviluppo rispetto alla cascata. Non sto cercando di convalidare o confutare questa affermazione. Sono interessante scoprire se ci sono stati studi che hanno confrontato le 2 metodologie.

Ci sono studi là fuori che confrontano i due?


4
Agile non significa fornire software migliore. Il software di qualità può essere spedito indipendentemente dalla metodologia. In genere Agile consiste nel fornire software di alta qualità aggiungendo software in meno tempo, rispondendo al contempo alle mutevoli esigenze del cliente.
Thomas Owens

6
Richiedi la fonte del reclamo.
Martin York,

Bene, se la persona originale ha una fonte, potrebbe includere collegamenti ad altri studi.
Martin York,

4
@Chad Perché non era il tuo posto? Chi lo stava dicendo? Se fosse un fornitore esterno, quale buona opportunità per capire la loro capacità di gestione del progetto prima di lavorare con loro.
Thomas Owens

1
@CHad: parafrasando Douglas Adams .... I refuse to prove that Agile is more efficient,dice Dio,for proof denies faith, and without faith Agile is nothing.
mattnz,

Risposte:


12

Il libro "Making Software: cosa funziona davvero e perché lo crediamo" contiene alcuni capitoli sui metodi Agile tra cui XP, Scrum, Dynamic Software Development e Lean, con un buon supporto scientifico. È di alta qualità, come ci si aspetterebbe da O'Reilly. Uno dei redattori era l'eccellente Greg Wilson , un autore di informatica, editore e presentatore di fiducia.

Il libro stesso sintetizza numerosi studi di ricerca, inclusi molti su agili. Una sezione riassume la ricerca tra cui "Due teste sono meglio di una? Sull'efficacia della programmazione delle coppie" di Dybå, T .; Arisholm, E .; Sjøberg, DIK; Hannay, JE; Shull, F .; e " Studi empirici sullo sviluppo di software agili: una revisione sistematica " di Tore Dybå e Torgeir Dingsøyr.

Il senso generale è che la maggior parte delle pratiche agili sono benefiche, ma che gli effetti della programmazione di coppia, TDD e altri inquilini agili non sono così forti come si potrebbe sperare. C'è persino una nota inquietante che TDD potrebbe in effetti creare dipendenza *.

Il libro è un ottimo modo per avere accesso a molte ricerche che sono state condotte, il tutto in un insieme coeso. Ci sono alcuni blog e altri siti web che recensiscono il libro.


* Questa non è necessariamente la mia opinione!


1
Qualche possibilità che tu possa aggiungere alcune citazioni e riferimenti? Potrebbe aiutare a capire se è degno di una delle mie slot da libreria per safari. * 8 ')
Mark Booth,

1
Anche la versione Nook :) Grazie, lo verificherai stasera.
SoylentGray,

Aggiunto. Fammi sapere se questo era ciò che avevi in ​​mente. Se qualcuno vuole modificare questo post e trascrivere il testo del libro, anche questo sarebbe il benvenuto.
Kyle Hodgson,

Grazie Kyle, ma penso che un riassunto sarebbe stato meglio di quello che sembra un afferrare lo schermo. È un po 'difficile ottenere ciò di cui stanno parlando senza più contesto, ad esempio, cosa intendono per sforzo ? Stiamo parlando delle ore degli sviluppatori per progetto?
Mark Booth,

1
Il libro risponde alla domanda come avrei dovuto porlo, anche se penso che sarebbe stato troppo ampio. Grazie per il link.
SoylentGray

10

Per quanto non mi piaccia il titolo, credo che Balancing Agility and Discipline: A Guide for the Perplexed potrebbe contenere alcune informazioni rilevanti per te. Questo libro di due esperti di processo di ingegneria del software e di gestione di progetti software - Barry Boehm e Richard Turner. Questo libro esamina vari aspetti delle metodologie agili e basate su piani, li confronta e li contrappone e discute anche dell'integrazione per raggiungere una situazione "migliore di entrambi i mondi".

L'Appendice E di Bilanciamento di agilità e disciplina contiene una vasta gamma di informazioni empiriche relative ai costi e ai benefici di vari metodi agili e basati su piani. Tuttavia, non sembrano esserci dati sull'efficacia temporale. Ma guardando attraverso i dati, sembra (come sospettavo) che questa non sia una / o una scelta - alcuni progetti hanno subito uno sforzo ridotto, pianificazioni più veloci e minori difetti nell'applicazione di metodi agili. Tuttavia, altri progetti che hanno usato. La sezione discute una serie di diversi progetti in diversi settori, il tipo di processo che hanno utilizzato e ciò che hanno vissuto nel corso del progetto.

Ci sono molti casi studio citati nell'appendice E che forniscono questi dati. Ci sono troppi per me solo per iniziare a nominare in modo casuale, dal momento che molti sono focalizzati in un settore particolare o anche all'interno di una particolare organizzazione. Se esaminerai i casi, suggerirei di trovare quelli di natura simile al tuo team, progetto, organizzazione e industria per trarre conclusioni ragionevolmente valide.

In Rapid Development: Schedule Wild Software Schedules , Steve McConnell identifica una serie di fattori da considerare nella scelta di una metodologia del ciclo di vita: livello di comprensione dei requisiti, livello di comprensione dell'architettura, affidabilità desiderata, gestione dei rischi, vincoli di pianificazione, quantità di processo "correzioni dei corsi" generali, a metà progetto, capacità di fornire visibilità al cliente, capacità di fornire visibilità al management e raffinatezza del team di sviluppo e del management. Ce ne sono anche altri, come la cultura organizzativa, quindi probabilmente non esiste un elenco esaustivo da nessuna parte.

Anche dato lo stesso identico progetto, c'è anche il fattore squadra. Se prendi un team che ha costantemente distribuito software utilizzando la metodologia a spirale basata sul piano e li butti in Scrum, sperimenteranno una diminuzione della produttività, un aumento dei thrashing e dovranno superare un nuovo modello di processo prima che possano venire per avere successo. Anche se un'altra metodologia potrebbe essere più adatta, c'è sempre la necessità aziendale di fornire effettivamente il software. Ecco perché gli sforzi per il miglioramento dei processi sono spesso sforzi a lungo termine e non durante la notte - i cambiamenti importanti sono scioccanti per un team e (anche se la metodologia potrebbe essere più adatta sulla carta) può causare una diminuzione della produttività.

C'è molto di più della semplice efficacia o efficacia del processo e non puoi semplicemente guardare un'istantanea dello stesso team che lavora in un ambiente guidato da un piano e in un ambiente agile. È necessario considerare il contesto industriale e organizzativo, gli attributi del progetto, il team, il cliente e così via quando si prende una decisione.


Sulla base di quello che ho letto, non sarò d'accordo con la tua valutazione dei colleghi. Sono sicuro che puoi trovare alcuni casi di studio da qualche parte in cui un progetto agile era del 60% meno efficiente in termini di metrica delle prestazioni rispetto a un progetto simile basato su un piano. Tuttavia, ci sono anche studi che dimostrano che l'agile produce l'80% in meno di sforzi, il 50% in meno di tempo e l'elevata soddisfazione del cliente per il prodotto.


6

Non ho uno studio ma vorrei comunicare la mia esperienza.

L'efficacia di una qualsiasi delle metodologie menzionate dipende fortemente dagli analisti.

Quando hai un ottimo proprietario del prodotto, ad esempio SCRUM è sicuramente più veloce di un approccio a cascata con una cattiva specifica.

Agile con un cattivo proprietario del prodotto è sicuramente più lento della cascata con una grande specifica.

Tuttavia, il più delle volte, non conosciamo i requisiti esatti abbastanza presto e le metodologie agili hanno cicli di feedback più rapidi. Ciò significa che in terreni incerti l'agile è un metodo migliore per fornire un prodotto di alta qualità a costi ragionevoli. Ci sono numerosi altri vantaggi, ad esempio, i progetti agili sono più facili da annullare quando non funzionano e quindi possono ridurre al minimo le perdite.

Si potrebbe dire che le metodologie agili riducono il rischio, mentre la cascata, anche se a volte può essere più veloce, può essere una scommessa abbastanza monetaria.


4

agile era solo il 60% più efficiente nei tempi di sviluppo

Vero.

Ma questa è una misura zoppa.

I metodi agili di solito forniscono prima il valore reale.

Waterfall si attiene semplicemente a un programma a prescindere da ciò che viene consegnato e spesso non fornisce nulla di valore fino a quando non è trascorso un enorme arco di tempo.

Ulteriore.

È possibile misurare il "tempo di sviluppo" separatamente da "tempo di sviluppo e test".

Agile di solito include test. Quindi sembra più lento.

Lo sviluppo delle cascate può essere nettamente separato dai test. Quindi il codice è "pronto per il test" prima. Ma non è "fatto" fino a molto tempo dopo.

Così. Hanno assolutamente ragione. Per quello che hanno misurato.


8
Non so se sia sempre vero - dipende da come (a quale livello) si misura l'efficienza. Se sfoglio un progetto che mi impiega 2 anni, ho appena trascorso due anni a sviluppare tutto. Ma se utilizzo un approccio iterativo / incrementale, potrei imparare che solo il 40% dei miei requisiti deve essere implementato e il progetto si conclude con successo dopo aver implementato il 40% del portafoglio ordini del prodotto in 15 mesi. Sono 9 mesi di tempo di sviluppo su un altro progetto. Per me, questo è un aumento dell'efficienza: non solo ho soddisfatto tutte le esigenze aziendali di un cliente, ma ne sto già supportando un secondo.
Thomas Owens

3
Un altro caso di "Ottieni ciò che misuri". Misura la cosa sbagliata e non aiuta.
Martin York,

3
Nella mia esperienza, i metodi agili sono decisamente più lenti quando hai delle specifiche davvero buone. Ma quando le tue specifiche fanno schifo (che è spesso il caso), allora metodologie agili salvano il progetto. Agile / SCRUM fa schifo quando il proprietario del prodotto fa schifo. Quindi è praticamente lo stesso. Se hai qualcuno che può immaginare un prodotto davvero buono, entrambi gli approcci sono probabilmente ugualmente veloci. Dipende meno dalla metodologia che dagli analisti.
Falcon,

3
Riaffermare l'affermazione originale in realtà non risponde alla domanda. Hai qualche prova, oltre all'aneddoto, che l'affermazione sia corretta?
Mark Booth,

1
Ottieni ciò che misuri, questo è il rischio che corri.
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.