Ci sono grandi alternative alla Cascata e Agile? [chiuso]
https://softwareengineering.stackexchange.com/questions/11512
-
16-10-2019 - |
Domanda
Sono curioso di sapere se qualcuno sa di eventuali metodologie che sono significativamente differenti (non un ricombinazione) e vorrei soprattutto apprezzare chi ha portato avanti alcuna esperienza con le alternative.
Soluzione
Wikipedia elenca questi come i processi metodologie / sviluppo :
-
Agile - sulla base di iterativo e sviluppo incrementale , in cui i requisiti e le soluzioni si evolvono attraverso la collaborazione tra, team interfunzionali di auto-organizzazione.
-
camera bianca - il focus del processo di camere bianche è sulla prevenzione dei difetti, piuttosto che la rimozione dei difetti.
-
iterativo - un processo di sviluppo del software sviluppato ciclico in risposta alle debolezze del modello a cascata. Si inizia con una pianificazione iniziale e si conclude con la distribuzione con le interazioni cicliche in mezzo.
??
-
RAD - utilizza la pianificazione minima a favore di prototipazione rapida. La "pianificazione" del software sviluppato utilizzando RAD è intervallato con la scrittura del software stesso.
-
RUP - Il Rational Unified Process (RUP ) è un framework processo di sviluppo software iterativo adattabile, destinato ad essere adattato selezionando gli elementi del processo che sono appropriate.
-
spirale - che combina elementi di design e prototipazione-in-fasi, nel tentativo di combinare i vantaggi di top-down e bottom-up concetti. Questo modello di sviluppo combina le caratteristiche del modello prototipazione e il modello a cascata.
-
Cascata - sequenziale attraverso le fasi della Concezione , iniziazione, analisi, progettazione, costruzione, collaudo e manutenzione.
-
Magra - traduzione di produzione snella e lean IT principi e le pratiche al dominio di sviluppo del software; tutto ciò non aggiungere valore al cliente è considerato un rifiuto.
-
V-Model - Invece di movimento verso il basso in modo lineare, le fasi di processo sono piegate verso l'alto dopo la fase di codifica, per formare la tipica forma a V. Il V-modello dimostra le relazioni tra ogni fase del ciclo di sviluppo e la sua fase associata di prove.
-
TDD - si basa sulla ripetizione di un breve ciclo di sviluppo:. primo lo sviluppatore scrive un test automatico in mancanza definisce un miglioramento desiderato o nuova funzione, quindi produce codice per passare il test e infine refactors il nuovo codice a standard accettabili
Altri suggerimenti
Cowboy Coding
Pure non strutturato, non gestito, lo sviluppo di forma irregolare. Può essere utile per i piccoli progetti hobby che non hanno una scadenza o anche un obiettivo chiaro, ma probabilmente non funzionerà in un ambiente aziendale.
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 unire i vantaggi di top-down e bottom-up concetti. Conosciuto anche come il modello del ciclo di vita a spirale (o lo sviluppo a spirale), si tratta di un metodo di sviluppo di sistemi (SDM) utilizzato nella tecnologia dell'informazione (IT). Questo modello di sviluppo combina le caratteristiche del modello prototipazione e il modello a cascata. Il modello a spirale è destinato per i grandi, costosi e complicati progetti.
Plan
Siediti con il cliente (o utente finale) e la progettazione di una serie di casi d'uso.
design
Layout il sistema su carta / lavagna oltre un paio di birre e pizza. Snicker quando qualcosa sembra fallica.
Conferma
disegno Confermare con il cliente (o utente finale) e requisiti di congelamento.
Codice
Si spiega da sé.
Questo argomento cascata è stato intorno per un po 'e utilizzata dai leader di pensiero agili nella fase iniziale. Anche loro incontrarono la "realtà" della cascata come un "allarme rosso".
Quando si inizia a lavorare su un progetto di sviluppo software scoprirete rapidamente che la metodologia di sviluppo utilizzato avrà un ruolo importante da giocare nella velocità e la qualità del codice metodologia Agile developed.Since è così ampiamente usato, è importante che si comprendere i vantaggi e gli svantaggi di agile in modo che siano in grado di determinare se è la soluzione migliore per i vostri risultati del progetto.
sviluppo agile del software è un quadro concettuale per l'ingegneria del software impresa projects.Most agile metodi tentano di minimizzare i rischi attraverso lo sviluppo di software in brevi Timeboxes, chiamati iterazioni, che di solito ultimo a quattro settimane. Ogni iterazione è come un progetto software in miniatura di una propria, e comprende tutte le attività necessarie per liberare il mini-incremento di nuove funzionalità:. Pianificazione, analisi dei requisiti, progettazione, codifica, test, e la documentazione
E 'un processo bene per l'azienda, perché includere il cliente nel processo di sviluppo e renderlo responsabile della consegna del prodotto. Negli altri clienti laterali sono felici perché trovano la loro auto partecipare allo sviluppo del prodotto.
demeriti per Agile:
- Agile è troppo programmatore-centric lasciando come chiaro a equilibrio lavoro all'interno di un'organizzazione.
- Se non sai dove stai andando, Agile Will not Get You There!
- creazione di quadri senza l'esplicito esigenze.
- L'abuso di linguaggio caratteristiche (Impropriamente).
- Nessun mentalità test-primo.
Bene per una metodologia interessante, che potrebbe funzionare come alternativa per AGILE può essere ottimizzato in queste 3 link: