Scrum vs. Agile vs. CMMI [chiuso]

5

Sto spingendo il mio progetto su Visual Studio Online per avere qualche controllo del codice sorgente. Sto sviluppando questo progetto da solo. Non ho mai usato Scrum, Agile, né CMMI e la descrizione dettagliata che ho letto al link sta assumendo molta conoscenza (Non ha senso per qualcuno che non sa già di cosa stanno parlando.)

Il modo migliore per imparare veramente Scrim o Agile o CMMI è usarli. Ma da dove cominciare? Il link qui sopra non mi aiuta lì.

Come sviluppatore solista che sta cercando il controllo del codice sorgente, dovrei iniziare con Scrum, Agile o CMMI?

Per togliere la questione dell'opinione pubblica a questa domanda, farò la mia domanda ufficiale: Qual è la differenza tra Scrum, Agile e CMMI nei termini di Layman? (Ma davvero, sono solo cercando di capire da dove cominciare!)

    
posta Evorlor 26.07.2014 - 21:51
fonte

2 risposte

6

(Solo FYI - Sono cofondatore di una società ( Digité ) che costruisce e vende software aziendale a una varietà di organizzazioni tecnologiche, quindi Ho uno sfondo su questi argomenti :-))

Agile e Scrum sono correlati, in quanto sono metodi di sviluppo del software. Agile è un termine generico per metodi specifici come Scrum, Extreme Programming (XP) e altri.

CMMI, d'altra parte, è un framework di gestione della qualità utile per le grandi organizzazioni che devono misurarsi in termini di capacità e maturità complessive per dimostrare la qualità ripetibile del lavoro software che svolgono. Le organizzazioni possono utilizzare un mix di metodi di sviluppo del software: metodi Agile (come Scrum / Kanban / XP / BDD / TDD / etc), metodi "tradizionali" (Waterfall, Iterative) o un mix (Agile ibrido), a seconda delle esigenze aziendali . Possono ancora utilizzare CMMI come un quadro generale di governance per misurare e sviluppare le loro capacità software.

Sicuramente, come sviluppatore solista, non devi preoccuparti di CMMI!

In generale, i metodi Agile ti danno la possibilità di creare il tuo software con meno rischi, maggiori possibilità di successo e avvertimenti precoci che ciò che stai sviluppando potrebbe non essere il prodotto giusto (come sono sicuro tu sai, non è solo importante per costruire il tuo prodotto giusto - ma anche per costruire il prodotto giusto). Anche se sei uno sviluppatore solista, devi avere altre persone con cui tu (devi) interagire, specialmente i tuoi clienti. Metodi agili come Scrum o Kanban ti danno la possibilità di consegnare a loro il software di lavoro più spesso (in scatti ogni 2-3 settimane), ottenere il loro feedback più spesso e adottare misure correttive più spesso che in altri modi. Kanban ti aiuta a farlo ancora più continuamente. Consiglierei i seguenti libri, se non ne hai letti altri finora -

  1. Scrum - The Power of Scrum - di Jeff Sutherland
  2. Kanban - Cambiamenti evolutivi di successo per la tua organizzazione tecnologica - di David Anderson. (Se hai bisogno di un'introduzione di base a Kanban, puoi guardare qui: Che cos'è Kanban? )

Per rispondere alla tua domanda finale, ti consiglio di iniziare con Kanban. La mia ipotesi è che tu abbia già un processo che segui per costruire e distribuire software ai tuoi clienti. Kanban ti aiuterà a mappare il tuo processo esistente, ti aiuterà a "visualizzarlo" e ad aiutarti a fornire più spesso / più continuamente. E apportare miglioramenti nel tuo processo per aiutarti a diventare più agile nel complesso. Se vuoi qualcosa di più formale e strutturato, dovresti adottare Scrum. Potrebbe richiedere uno sforzo maggiore in anticipo, ma non preoccuparti troppo delle sue strutture formali, concentrati invece sul suo intento fondamentale di fornire più spesso software di lavoro ai tuoi clienti.

Spero che questo aiuti.

Cheers!

    
risposta data 27.07.2014 - 04:21
fonte
1

Tutti loro sono processi di sviluppo del software.

Scrum è molto collaborativo e discuti costantemente con il tuo team in modo che tutti possano essere consapevoli di ciò che sta accadendo. Aiuta ad affrontare i problemi in modo efficiente come una squadra.

Agile può essere molte cose. Ma quando l'ho sperimentato è stato uno sviluppo molto veloce con le iterazioni. Quindi il funzionamento del prodotto è migliorato in modo incrementale. Velocemente in modo da poter ottenere un feedback prima di fare il passo successivo.

Non ho sentito troppo CMMI

    
risposta data 27.07.2014 - 01:38
fonte

Leggi altre domande sui tag