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.

È stato utile?

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.
    Schema iterativo ??

  • 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.
    Diagramma modello a spirale

  • Cascata - sequenziale attraverso le fasi della Concezione , iniziazione, analisi, progettazione, costruzione, collaudo e manutenzione.
    Waterfall Diagram

  • 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.
    Schema v-modello

  • 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.

- Wikipedia alt text

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:

Kanban come Agile alternativa Attuazione

sviluppo del software Kanban

Magra lo sviluppo del software sulla nuvola

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top