2009-06-10 8 views
8

Abbiamo un team di sviluppo di quattro persone che ha bisogno di un sistema di gestione del progetto formalizzato. Ho una conoscenza generale di Scrum e Kanban ma è difficile da capire fino a che non viene provato. Non abbiamo il lusso di provarne uno per un paio di settimane e poi passare a un altro, quindi speravo che qualcuno là fuori in una situazione simile potesse avere pensieri su cui ha funzionato meglio per loro e perché. Inoltre, qualsiasi altro sistema per la gestione dello sviluppo che funzionasse sarebbe bello da ascoltare.Scrum, Kanban o Altro per il team di sviluppo di 4 persone

Un'altra nota: c'è la possibilità che il team cresca, ovviamente, quindi avremmo bisogno di un sistema che si adattasse bene.

Ancora un'altra nota: Noi lavoriamo su tre applicazioni software separati in Windows che sono tutti basati su una libreria centrale che abbiamo anche scritto (quindi credo che si possa dire che quattro progetti)

+4

Sto votando per chiudere questa domanda come off-topic perché non è correlata alla codifica o al software relativo alla codifica. – sevenseacat

risposta

8

Scrum e Kanban sono entrambi "scheletri" di processo. Né è specifico per lo sviluppo del software. Scrum è stato reso popolare dalle organizzazioni di sviluppo software ma è posizionato come tecnica di gestione generale piuttosto che come tecnica di project management del software. Kanban è emerso dalla produzione ed è stato adattato allo sviluppo del software, inizialmente dai team di manutenzione. Sia Scrum che Kanban mirano a gestire il flusso di unità di lavoro attraverso il team che sta facendo quel lavoro, a misurare la rapidità dei flussi di lavoro in modo che le stime possano essere rese sempre più accurate e rendere i colli di bottiglia altamente visibili in modo che possano essere affrontati.

Poiché nessuno dei due è specifico per lo sviluppo del software, i team che utilizzano Scrum e Kanban aggiungono pratiche di sviluppo del software al processo per aiutarle in modo incrementale e iterativamente a rilasciare e migliorare il software. La maggior parte dei team, che lavorino all'interno di un processo Scrum o Kanban, adottano le pratiche tecniche di XP e le pratiche riflessive di Crystal.

XP è fondamentalmente Scrum applicato a un singolo team oltre a linee guida su ciò che rende il codice "alta qualità" e su come i programmatori possono conseguirlo. Crystal Clear si applica anche ai piccoli team co-localizzati, ma è più flessibile sulle pratiche di programmazione anche se raccomanda anche le pratiche XP (il libro che descrive il processo è eccellente e ricco di preziosi consigli, qualunque sia il processo che si decide di adottare). I team Scrum di solito adottano le pratiche riflessive di Crystal: regolari retrospettive "heart-beat" e retrospettive più ampie dopo ogni importante pietra miliare. Kanban richiede continue riflessioni e miglioramenti, ma alcuni team usano anche retrospettive.

Se si desidera iniziare ad applicare un processo incrementale/iterativo in un piccolo team di programmazione, quindi penso che XP sia un buon processo per iniziare perché imposta la barra piuttosto in alto per capacità tecniche ed è molto ben documentato. Il modo in cui il flusso continuo e il Kanban si applicano meglio a diverse aree del settore dello sviluppo del software sono ancora oggetto di discussione sulla mailing list di kanban-dev e altrove.

Consiglierei anche di eseguire retrospettive regolari per migliorare il processo e adattarlo alla situazione specifica.

2

La parte più importante è quella di avere un meccanismo di riflessione/retrospettiva che faciliti il ​​miglioramento continuo. Inizia con un modello di processo ed evolvilo nel tempo per le tue esigenze di. Smetti di fare cose che non vale la pena fare. Continuate a fare cose che portano in alto valore. Prova nuove cose che ritieni possano essere preziose o affrontare problemi specifici.

0

Qual è la domanda? E 'questa la metodologia più adatta?

+0

sì. e senza limitarti a quelli che ho menzionato. – Karim

+0

Probabilmente guarderei in Lean o XP. Dato che stai lavorando su diversi progetti contemporaneamente, sarebbe un po 'sfortunato per te usare Scrum. Immagino che tu possa adattare Scrum alle tue esigenze, ma penso che Scrum funzioni al meglio per un progetto alla volta. Se sei in grado di adattare Scrum alle tue esigenze, ti suggerirei di usare Scrum poiché anche tu fai notare che la tua squadra potrebbe crescere. È davvero difficile dire esattamente quale metodologia sarebbe più adatta per la tua squadra. Ma i problemi che devi prendere in considerazione sono: (per continuare nel prossimo commento) – jAST

+1

- Dimensioni della squadra (e possibilità di crescita) - Cosa succede se la squadra viene divisa? - Per quanto tempo il tuo team lavorerà a questi progetti? - Quanto "pericoloso" è il tuo progetto per la perdita di vite umane e denaro? - Quanto spesso ti aspetti di consegnare qualcosa? - Come sei gestito e i tuoi manager sono inclini ad accettare il tuo nuovo approccio? Ci sono tonnellate di domande a cui rispondere. Ma il più importante è: vuoi usare una metodologia? Migliorerà il tuo lavoro? – jAST

0

Non si ottiene molto beneficio da tutto il sovraccarico che un sistema formattato imporrà con quella dimensione della squadra. Prova invece a a good management technique per assicurarti che tutti si stiano ascoltando a vicenda e che i blocchi vengano rimossi.

+0

Non lo so. Un sistema formalizzato ha il vantaggio di dare a tutti una buona idea di dove sei ora e di chi fa cosa. Immagino che ci sia una linea sottile tra "buona tecnica di gestione" e "sistema formalizzato". – Karim

2

Penso che lo Scrum funzioni per team di piccole o medie dimensioni. Rispetto ad XP lascia alcuni dettagli, quindi puoi prendere in prestito da XP o fare qualcosa che abbia un senso. Qualunque sia la metodologia scelta, devi considerare il ruolo dei polli (clienti/manager/stakeholder/esperti di dominio). A volte devi giocare i ruoli da solo, ma molte metodologie agili funzionano perché c'è un'auto di pace esterna con una conoscenza di base del dominio.

Altri aspetti chiave sono il livello di comunicazione tra il team e una qualche forma di meccanismo di garanzia della qualità. È difficile programmare la coppia se non si è nello stesso edificio. Scrum cerca di ottenere una funzionalità da accettare entro un ciclo di sprint e XP tenta di integrare la funzionalità nel corso della giornata utilizzando test unitari, revisione del codice e integrazione continua.

Scrum process

*) Sprint può variare da 15-30 giorni.

+0

"XP tenta di ottenere la funzionalità integrata entro il giorno" Per essere pedante, XP si impegna affinché il sistema sia * sempre * integrato.Lo sviluppo di una singola funzionalità (nota come "storia" nella terminologia XP) può, e in genere avviene, impiegare più di un giorno. Le coppie effettueranno il check-in frequentemente durante lo sviluppo della funzionalità e le pratiche XP assicurano che le funzionalità esistenti non vengano interrotte da tali check-in e il sistema sia sempre in uno stato integrato e distribuibile. – Nat

+0

Sembra che sempre più aziende utilizzino Scrum per 14 giorni di sprint. La ragione sembra essere che i cicli più brevi danno un feedback più veloce. – Halvard

+0

@Halvard, sono molto scettico sugli sprint di 14 giorni. Scrum è una cascata croccante. Ho il sospetto che le persone che eseguono sprint di 14 giorni vogliono solo fare lo sviluppo iterativo di XP senza tutte le salvaguardie che XP ha messo come test, refactoring e pair programming. In che modo un team può raccogliere i requisiti, progettare, codificare, testare e arrivare allo stato "finito" in 14 giorni? La mia ipotesi è che i backlog e le prove sprint vengano semplicemente omessi. –

0

Ho lavorato con un team di quel tipo e ancora più grande in due team che condividevano alcune librerie comuni. Scrum ha funzionato bene per noi. Ora lavoro con una squadra con 6 membri e usiamo XP e penso che funzioni pure. La prima squadra ha sviluppato un prodotto e le influenze da "lo spazio esterno" non erano così grandi. Quindi le iterazioni più lunghe funzionavano bene. No sviluppiamo un progetto cliente e quindi cicli di rilascio più brevi sono migliori per noi.

Ma SCRUM e XP sono più di questo. Ora usiamo TDD e Pair Programming (entrambi provenienti dal mondo XP). Abbiamo anche incontri giornalieri stand up che sono più simili SCRUM. Quindi abbiamo adottato XP e SCRUM per lavorare per il nostro progetto e la nostra situazione.

Vorrei iniziare con cicli brevi (1 settimana) e recensioni di questo ciclo. Ci vorrà del tempo per adottare una nuova metodologia nel tuo team, ma se i membri sono disposti a imparare e cambiare funzionerà.

Problemi correlati