SCRUM dovrebbe essere utilizzato per un progetto in cui solo una persona ci sta lavorando?


19

Nella nostra azienda abbiamo un team che lavora su 3 diversi progetti contemporaneamente, in cui solo una o due persone sono coinvolte in ciascun progetto. Il lavoro del progetto comporta spesso la padronanza delle nuove tecnologie o la risoluzione di bug, entrambi che portano a compiti molto difficili da stimare. In questa situazione, il management insiste ancora sull'uso di SCRUM e non consente di allocare un buffer di sicurezza al termine dello sprint per situazioni impreviste. L'incontro stand-up avviene per l'intero team, anche se praticamente tutti lavorano su componenti software non correlati o su diversi progetti software tutti insieme.

  • Mi chiedevo se qualcuno ha visto SCRUM funzionare bene per un progetto con un singolo sviluppatore e compiti sfocati e come hai fatto a far funzionare bene il processo?

  • Come stimare i compiti che hanno comportato la ricerca / padronanza delle nuove tecnologie (ciò implica l'apprendimento di nuovi linguaggi di programmazione, piattaforme e strumenti di sviluppo)?

  • Qualcuno è riuscito a convincere il management a non usare SCRUM per progetti particolari e, se sì, quali argomenti hanno avuto più successo?

Grazie!

scrum 

Sembra che alla tua direzione piaccia usare parole fantasiose senza nemmeno capire cosa c'è dietro quella parola. No Scrum non è per il tuo ambiente e sembra che dovresti cercare un altro lavoro. Fare ogni attività in un'altra tecnologia è molto probabilmente una perdita di tempo.
Ladislav Mrnka,

1
possibile duplicato
dell'utilizzo dello

Mischia per 1 persona = disciplina. Devi semplicemente imparare a fare prima le cose più importanti / rischiose. Questo è ... buon senso.
Giobbe

sembra che "il management" non capisca Scrum da una prospettiva organizzativa. I progetti dovrebbero avere una fascia oraria ciascuno e dovresti lavorare in gruppo. Consegnare "alla direzione" una copia di Riuscire con Agile: sviluppo software utilizzando Scrum
Dave Hillier,

Non è possibile, per definizione. "Scrum-like" è possibile e potrebbe essere produttivo o antiprodotto, ma è necessario sedersi con mgmt e una lista di controllo su ciò che significa Scrum puro e decidere quali aspetti si desidera seguire. Non importa se continui a chiamarlo mischia, purché tutti sappiano specificamente cosa desideri. Cerca anche di capire la prospettiva di mgmt e cosa stanno cercando di ottenere dal processo.
Dax Fohl,

Risposte:


8

Cerca "Scrum personale" ... Ho visto un paio o tre post sul blog di persone che lo facevano. Full Scrum ha alcune nozioni che non si traducono perfettamente in team di una sola persona. (La mia esperienza - una certa "massa critica" di circa 4 persone sembra far funzionare bene le cose di squadra.)

http://blog.jgpruitt.com/tag/personal-scrum/ per esempio.

Ma cose come la stima delle attività, la velocità e gli sprint con limiti di tempo durante i quali l'elenco delle attività è "protetto" funzionano bene anche per 1.


+1 per un buon collegamento a un intero progetto di laurea con Scrum personale: "l'intero progetto è stato raccontato nei materiali sottostanti. Per quanto ne sappia, questa è la prima istanza completamente documentata di un progetto di Scrum personale, ed è sicuramente la più Aperto."
Hugo,

7

Ovviamente no. I tuoi scrum quotidiani sarebbero molto brevi e incredibilmente noiosi!

Puoi scegliere i pezzi che ritieni possano aiutarti, le carte hanno senso anche se non devi riempirle così completamente; fermarsi dopo un determinato periodo di tempo per controllare i tuoi progressi ha anche senso. Ma se lo stai facendo, controlla anche Kanban, Crystal e tutti gli altri metodi Agile per i bit che potrebbero aiutarti.


3

No, non puoi fare mischia senza una squadra. Il team definito da SCRUM è "Un gruppo interfunzionale di persone responsabili della gestione di se stesso per lo sviluppo del prodotto" che è un ruolo importante in SCRUM.

Secondo http://www.scrum.org/storage/scrumguides/Scrum_Guide%202011.pdf

Dimensione del team di sviluppo La dimensione ottimale del team di sviluppo è abbastanza piccola da rimanere agile e abbastanza grande da completare un lavoro significativo. Meno di tre membri del team di sviluppo riducono l'interazione e si traducono in minori incrementi di produttività. Squadre di sviluppo più piccole possono incontrare vincoli di abilità durante lo Sprint, impedendo al team di sviluppo di fornire un incremento potenzialmente rilasciabile. Avere più di nove membri richiede troppo coordinamento. I team di sviluppo di grandi dimensioni generano troppa complessità per la gestione di un processo empirico. I ruoli di Product Owner e Scrum Master non sono inclusi in questo conteggio a meno che non stiano anche eseguendo il lavoro di Sprint Backlog

Tuttavia, puoi ancora essere agile e forse usare le altre caratteristiche di SCRUM come mantenere l'arretrato di prodotti / sprint e pianificare e lavorare in sprint / iterazioni, rivedere e ottenere feedback da tutti gli stakeholder, riprogrammare e così via. Si prega di leggere di più su Scrum in quanto è molto di più come descritto qui.


3

Sto lavorando in un negozio simile. Come altri hanno notato, ciò che descrivi potrebbe essere agile ma non miserabile. Vorrei anche aggiungere che il fatto che i log e gli sprint siano o meno sensati dipende dal fatto che si tratti di nuovo lavoro o manutenzione e supporto continuo. Se il primo, un approccio a cascata avrebbe più senso per una squadra di una persona. Altrimenti, dal punto di vista del PM, quello che stanno facendo sembra un buon approccio se hanno più progetti nel loro portafoglio.

Per gli appassionati di Agile, la semplice menzione dell'uso della cascata è il sacrilegio. Ma le persone devono usare il buon senso.

Vorrei fare un esempio da un mio recente progetto. Stavo guidando un team di 3 sviluppatori su una timeline aggressiva di 5 mesi per riprogettare due siti Web principali. Abbiamo avuto riunioni quotidiane di stand-up. Ma era un progetto a cascata perché era un piccolo team, un ciclo di vita limitato e gli sviluppatori erano tutti appaltatori a breve termine impegnati nel progetto solo fino al lancio. Il progetto ha seguito un ciclo di vita a cascata molto tradizionale. Assolutamente niente di sbagliato in questo. Tranne il fatto che abbiamo lavorato in modo "agile", abbiamo tenuto le riunioni di stand-up e abbiamo mantenuto le migliori pratiche di sviluppo agile. Il nostro piccolo team è stato esonerato dalle riunioni di pianificazione dello sprint settimanale del team più grande. Perché? Perché non avevamo distribuzioni settimanali. E il nostro team non ha dipeso o influenzato il lavoro svolto da nessun altro team. In effetti, abbiamo lavorato quasi autonomamente. Dopo il lancio dei siti Web, siamo passati a un processo agile per la manutenzione e il supporto continui. Gli altri sviluppatori ora stanno lavorando altrove. Tutti i miglioramenti sono pianificati in base a distribuzioni periodiche.

Il punto è che è meglio usare i processi che hanno più senso per le dimensioni, la complessità e la maturità di ciascun progetto. Se stai facendo molte ricerche, è difficile fare una stima per i prossimi cinque mesi, quindi l'agile è probabilmente un approccio migliore rispetto alla cascata.

Parte del problema è che alcune persone sembrano pensare di essere in grado di pianificare i prossimi cinque sprint in anticipo. È stato il caso prima di me. Non dovresti pianificare più di due sprint perché se lo fai allora stai sconfiggendo l'intero scopo di avere gli sprint. Uno sprint dovrebbe essere un impegno a fornire una quantità realistica di miglioramenti entro un determinato periodo di tempo. Non dovresti impegnarti in qualcosa di cui non sei sicuro. La pianificazione dello sprint è per sua natura una pianificazione a breve termine, ma questo è un po 'il punto. Se hai un programma a lungo termine, pensa a scomporre le cose in risultati più piccoli. O organizzare riunioni di checkpoint in base a dove ti trovi nell'SDLC.

La pianificazione dello sprint dovrebbe essere un impegno realistico su ciò che è garantito per essere completato entro un determinato periodo di tempo. Se scopri che la pianificazione non tiene conto di variabili sconosciute, forse dovresti iniziare a fornire intervalli o stime pessimistiche. O come altri hanno suggerito, usa i punti della storia. Inoltre, gli sprint non devono essere prenotati completamente per consentire lo slittamento e altre attività importanti che si presentano.


1

Non ci dovrebbe essere solo una persona nella tua squadra e dubito che ci sia davvero. Una "squadra" in SCRUM non è solo gli sviluppatori. Sei il rappresentante del cliente, lo scrum master, lo sviluppatore, ecc ...? Sei davvero l'unica persona a fare qualcosa in relazione a questo prodotto, a prendere decisioni al riguardo o a provare a venderlo?

Per quanto riguarda la stima della ricerca, lo fai come una storia. Fai una storia appositamente per "Ricerca XXX" e dai punti per la storia (ricorda, non stai valutando il tempo qui, ma la difficoltà). Dovresti anche essere in grado di stimare in modo abbastanza adeguato la difficoltà di implementare alcune funzionalità anche se hai bisogno di ricercare tecnologie. A volte quest'ultimo fatto trasforma semplicemente una storia in "massima difficoltà".

No, non dovresti davvero incontrare tutti gli sviluppatori come tuo standup. Dovresti incontrare il tuo team , che di nuovo non è solo sviluppatori.

In bocca al lupo. Spero che voi ragazzi lo capiate.


1

Supponendo che tu abbia un product owner e un master scrum (in caso contrario, non scrum), scrum può funzionare per un team di uomini. Gli artefatti Scrum (arretrati, grafici di burddown) saranno usati proprio come sono usati nel team multi-persone. Ora sulle riunioni:

Standup giornalieri: useresti lo standup giornaliero per aggiornare tutti, ad esempio il proprietario del prodotto, lo scrum master o chiunque sia interessato allo stato di avanzamento. Scrum Master utilizzerà questi incontri per conoscere eventuali ostacoli che hai. Il proprietario del prodotto può aiutarvi con la revisione dell'ambito se / quando necessario.

Revisione sprint: al termine di ogni sprint, si dovrebbe trasferire l'incremento di lavoro del software al proprietario o al cliente del prodotto. Se l'obiettivo dello sprint era imparare "qualcosa", dimostrerai un PoC che può essere usato dal management (cioè generalmente client per PoC).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.