Scrum può funzionare per un progetto open source tradizionale?

5

Sappiamo tutti che Scrum funziona molto bene per un team tradizionale in cui i membri del team entrano in lavoro ogni settimana / sprint, concordano gli obiettivi e incontrano gli impegni.

Tuttavia i progetti open source sono spesso molto diversi:

  • Le persone tendono a non lavorare su progetti Open Source a tempo pieno
  • Mentre alcuni progetti hanno un gruppo di contributori principali, molte richieste di pull sono ad-hoc con persone che inviano richieste di pull che molto probabilmente non contribuiranno a nessun obiettivo di scatto concordato
  • Le community vengono spesso gestite tramite sistemi di messaggistica, blog e forum piuttosto che riunioni formali come sessioni di pianificazione, retrospettive e recensioni di sprint
  • La direzione dei progetti è spesso più di una democrazia (o di chiunque contribuisca di più) piuttosto che essere focalizzata da un Product Owner

Queste differenze significano che la metodologia scrum non può essere applicata a un progetto open source o devono essere apportate modifiche?

    
posta Liath 09.02.2018 - 10:12
fonte

3 risposte

6

I progetti open source sono molto diversi. Ci sono alcuni casi in cui un approccio Scrum-like può funzionare, ma non nel caso generale.

I timebox Scrum funzionano in sprint di dimensioni fisse. Ci sono molti progetti open source con un programma di rilascio fisso. Ma di solito, questo programma riguarda il lavoro di integrazione che è già stato fatto, non lo sviluppo.

Scrum si aspetta che la squadra si impegni a raggiungere un obiettivo di sprint. Ma la maggior parte dei progetti open source sono guidati da volontari. Il contributo è volontario e fluttuante. Sarebbe tossico per questi progetti sentirsi autorizzati a un impegno ripetuto e affidabile da parte dei volontari. Il progetto non può dire ai volontari cosa fare. Ovviamente può rifiutarsi di accettare contributi che non fanno parte dello sprint backlog, ma è uno spreco idiota di buona volontà e risorse di sviluppo. Parlando come manutentori open source, le richieste di pull one-off con un bugfix sono tremendamente preziose. Ma questo contributo non è in alcun modo programmabile.

Ci sono ovviamente degli scenari in cui questo non sarebbe un problema. Alcuni sviluppi possono essere pagati attraverso sovvenzioni. Queste sovvenzioni possono specificare un obiettivo e / o un timebox. Tuttavia, le borse di studio vengono generalmente assegnate a una sola persona, non a una squadra. A volte i progetti sono guidati da contributori pagati, ad es. per un progetto che è stato avviato da un'azienda. La compagnia può ovviamente usare Scrum per pianificare i loro contributi.

    
risposta data 09.02.2018 - 11:15
fonte
3

Presumo che per un progetto open source che fai non fai riferimento a progetti su cui lavorano dipendenti retribuiti. "Secondo il libro" Scrum di solito non funziona, perché ci sono alcune difficoltà:

  • Gli sprint richiedono impegni precisi e traggono molto vantaggio dagli impegni regolari e ripetuti in materia.
  • Scrum beneficia di frequenti interazioni di squadra, il che è più facile se la maggior parte della squadra si trova nello stesso ufficio o almeno in un fuso orario simile.
  • In base alla mia esperienza, i proprietari dei prodotti - in media - tendono ad essere significativamente migliori se non scrivono attivamente codice per il progetto.
  • Molti contributori hanno uno specifico interesse per le caratteristiche specifiche che vogliono sviluppare, poco o nessun interesse per alcune altre caratteristiche e nessun incentivo per ascoltare chi vuole dire loro quali funzioni su cui lavorare.
  • Impegni temporali diversi creano difficoltà nell'organizzare una riunione di stand-up quotidiana

I problemi possono essere risolti, e con il progetto giusto e le persone giuste Scrum può funzionare comunque. Ma anche allora, ci sono probabilmente processi migliori.

Ti consiglio di suddividere Scrum e prendere gli elementi necessari, quindi implementarli in modo da adattarli al progetto e al team:

  • Avere una visione chiara del progetto che sia nota e accettata da tutti.
  • avere un elenco condiviso con priorità di cose che dovrebbero essere fatte prima di altri.
  • Assicurati che le persone sappiano chi sta attualmente lavorando su cosa.
  • Avere obiettivi condivisi a breve e medio termine e recensioni dopo che sono stati raggiunti.
risposta data 09.02.2018 - 12:25
fonte
2

Dire che Scrum non può funzionare a causa di questi argomenti è come dire che Scrum non può funzionare in un'azienda, perché attualmente stanno usando waterfall. Mentre Scrum e cascata non giocano bene l'uno con l'altro (o piuttosto si contraddicono a vicenda) ciò non significa che non puoi stabilire lo Scrum lì, se tutti vanno d'accordo. Allo stesso modo non direi che Scrum non può funzionare in un progetto open source di per sé, ma ha i suoi limiti.

People tend not to work on Open Source projects full time

Anche se questo è vero, Scrum abbraccia anche questo tipo di incertezze. Dato che abbiamo un ciclo molto breve di una settimana, tutti quelli che vogliono contribuire dovranno impegnarsi per almeno una settimana e pianificare quanto tempo saranno in grado di spendere per il progetto. Sulla base di quanto tempo ogni contributore può permettersi, è possibile pianificare le storie su cui lavorare. In ogni caso, fare Scrum non sarà realmente possibile, se i contributori tendono a stare lontano dagli incontri obbligatori.

Naturalmente questo non è limitato ai cicli di sprint settimanali.

While some projects have a group of core contributors many pull requests are ad-hoc with people submitting pull requests which most likely won't contribute to any agreed sprint goal

L'open source non significa necessariamente che tutti possono contribuire come vogliono. Ci sono progetti open source con regole molto rigide su come contribuire (Linux per esempio). Le persone che intendono contribuire al progetto saranno obbligate a partecipare alla pianificazione dello sprint, ecc. Puoi rendere questo un requisito per contribuire al progetto. Ovviamente le persone che non amano questo possono creare un fork e lavorare su questo come vogliono, ma questo sarà un altro progetto, quindi.

Communities are often run via messaging systems, blogs, and forums rather than formal meetings like plannings sessions, retrospectives, and sprint reviews

Puoi avere gli incontri formali tramite telefono o meglio videoconferenze. Anche se questo non rende Scrum più facile, è ben possibile. Solo perché non è fatto nei progetti, ciò non significa che non possa essere fatto.

The direction of projects is often more of a democracy (or whoever contributes the most) rather than being focused by a Product Owner

Sì, dovrai avere qualcuno che agisca come proprietario del prodotto. Di nuovo, la solita pratica non ti impedisce di farlo diversamente. Inoltre, ci sono esempi di persone singole che guidano un progetto e lo guidano in una direzione (di nuovo, pensa Linux).

Per farla breve, anche se probabilmente hai ragione che non è una regola, non penso sia impossibile. Se hai un proprietario competente che sceglie e dà la priorità alle storie degli utenti e ai contributori che sono disposti a contribuire in questo modo, nulla ti impedirà di fare Scrum.

Modifica

In ogni caso - come è stato sottolineato dai commentatori - è probabile che sia un disastro e probabilmente non è una buona idea. Solo per menzionare alcuni punti per cui potrebbe fallire:

  • Sarà difficile ottenere un nucleo di contributori - senza di esso, Scrum non giocherà i suoi punti di forza
    • Senza una squadra molto stabile potresti tirare un dado per stimare i punti della storia - potrebbe funzionare ugualmente bene
  • con il sovraccarico di Scrum sarà ancora più difficile reclutare abbastanza contributori
  • I livelli di impegno molto probabilmente non saranno abbastanza alti

( Nota a margine: Un approccio tipo Kanban potrebbe funzionare meglio se vuoi dare una certa struttura al tuo progetto OSS, non dipende dai ruoli, il buy-in è molto più basso ed è molto più flessibile nel tempo, ma offre comunque una buona panoramica del WiP.)

    
risposta data 09.02.2018 - 10:46
fonte

Leggi altre domande sui tag