Esistono alternative importanti a Waterfall e Agile? [chiuso]

33

Sono curioso di sapere se qualcuno ha delle metodologie che sono significativamente diverse (non una ricombinazione) e apprezzerei particolarmente chiunque abbia portato avanti qualsiasi esperienza con alternative.

    
posta Morgan Herlocker 13.10.2010 - 02:10
fonte

5 risposte

46

Wikipedia li elenca come metodologie / processi di sviluppo :

  • Agile - basato sullo sviluppo iterativo e incrementale, dove requisiti e soluzioni evolvere attraverso la collaborazione tra team auto-organizzati e interfunzionali.

  • Cleanroom - l'obiettivo del processo di Cleanroom è la prevenzione dei difetti, piuttosto che la rimozione di difetti.

  • Iterative - un processo di sviluppo del software ciclico sviluppato in risposta ai punti deboli del modello a cascata. Inizia con una pianificazione iniziale e termina con la distribuzione con le interazioni cicliche in mezzo.

  • RAD - utilizza una pianificazione minima a favore della prototipazione rapida. La "pianificazione" del software sviluppato utilizzando RAD è intercalata con la scrittura del software stesso.

  • RUP - Rational Unified Process (RUP) è un iterativo adattabile struttura del processo di sviluppo del software, intesa per essere personalizzata selezionando gli elementi del processo che sono appropriati.

  • Spirale - combinando elementi di design e prototipazione in fasi , nel tentativo di combinare i vantaggi dei concetti top-down e bottom-up. Questo modello di sviluppo combina le caratteristiche del modello di prototipazione e del modello a cascata.

  • Cascata - sequenziale attraverso le fasi di Concezione, Iniziazione, Analisi, Progettazione, costruzione, test e manutenzione.

  • Lean - una traduzione dei principi e delle pratiche di Lean manufacturing e Lean IT al dominio di sviluppo del software; tutto ciò che non aggiunge valore al cliente è considerato come spreco.

  • V-Model - Invece di scendere in modo lineare, le fasi del processo sono piegate verso l'alto dopo la fase di codifica, per formare la tipica forma a V. Il modello V dimostra le relazioni tra ciascuna fase del ciclo di sviluppo e la fase di test ad essa associata.

  • TDD - fa affidamento sulla ripetizione di uno sviluppo molto breve ciclo: in primo luogo lo sviluppatore scrive un caso di test automatico in errore che definisce un miglioramento desiderato o una nuova funzione, quindi produce codice per passare quel test e infine ridefinisce il nuovo codice in standard accettabili.

risposta data 13.10.2010 - 03:23
fonte
18

Codifica Cowboy

Sviluppo puro, non strutturato, non gestito e libero. Può essere utile per piccoli progetti di hobby che non hanno una scadenza o anche un obiettivo chiaro, ma probabilmente non funzioneranno in un contesto aziendale.

    
risposta data 29.10.2010 - 19:50
fonte
4

Il modello a spirale

Il modello a spirale è un processo di sviluppo software che combina elementi di design e prototipazione in fasi, nel tentativo di combinare i vantaggi dei concetti top-down e bottom-up. Conosciuto anche come modello del ciclo di vita a spirale (o sviluppo a spirale), è un metodo di sviluppo dei sistemi (SDM) utilizzato nella tecnologia dell'informazione (IT). Questo modello di sviluppo combina le caratteristiche del modello di prototipazione e del modello a cascata. Il modello a spirale è destinato a progetti grandi, costosi e complicati.

- Wikipedia

    
risposta data 13.10.2010 - 03:19
fonte
1

Plan

Siediti con il cliente (o l'utente finale) e progetta una serie di casi d'uso.

design

Disporre il sistema su carta / lavagna su alcune birre e pizza. Snicker quando qualcosa sembra fallico.

Conferma

Conferma design con client (o utente finale) e blocchi i requisiti.

Codice

Auto esplicativo.

    
risposta data 13.10.2010 - 03:19
fonte
1

Questo argomento Waterfall è in circolazione da un po 'e utilizzato dagli agili leader del pensiero all'inizio. Anche loro hanno incontrato la "realtà" della cascata come un "allarme rosso".

Quando inizi a lavorare su un progetto di sviluppo software scoprirai rapidamente che la metodologia di sviluppo utilizzata avrà un ruolo importante nella velocità e nella qualità del codice sviluppato. Dal momento che la metodologia Agile è così ampiamente utilizzata è importante che tu comprendere i vantaggi e gli svantaggi di agile in modo da poter determinare se è la soluzione migliore per i risultati del progetto.

Lo sviluppo del software agile è una struttura concettuale per intraprendere progetti di ingegneria del software. I metodi più agili tentano di minimizzare il rischio sviluppando software in brevi intervalli di tempo, chiamati iterazioni, che in genere durano da una a quattro settimane. Ogni iterazione è come un proprio progetto di software in miniatura e include tutte le attività necessarie per rilasciare il mini-incremento di nuove funzionalità: pianificazione, analisi dei requisiti, progettazione, codifica, test e documentazione.

È un buon processo per l'azienda perché include il cliente nel processo di sviluppo e lo rende responsabile della consegna del prodotto. Nell'altro lato i clienti sono contenti perché trovano la propria partecipazione allo sviluppo del prodotto.

Demerits for Agile:

  • Agile è troppo programmatore-centrico non è chiaro come bilanciare lavorare in un'organizzazione.
  • Se non sai dove stai andando, Agile Will not Get You There!
  • Creazione di quadri senza chiaro esigenze.
  • Uso eccessivo delle funzionalità del linguaggio (Impropriamente).
  • No test-first mentality.

Bene, per una metodologia interessante che potrebbe funzionare come alternativa per AGILE può essere meglio visualizzata sotto questi 3 link:

Kanban come implementazione Agile alternativa

Sviluppo del software Kanban

Sviluppo software snello nel cloud

    
risposta data 05.11.2010 - 07:17
fonte

Leggi altre domande sui tag