Scrum è incompatibile con gli appalti pubblici?


43

Un'organizzazione pubblica mi ha chiesto di tenere un seminario informale sul 101 dello sviluppo agile, spiegando termini e concetti di Scrum, Kanban e simili. Lavoro in ambienti agili da circa cinque anni, ma non mi considero un evangelista Scrum.

Dopo il workshop, l'idea è piaciuta. Tuttavia, hanno spiegato che l'approccio probabilmente non si applicherebbe a loro in quanto hanno bisogno di incaricare le società di software esterne di sviluppare software per loro (hanno solo pochi sviluppatori stessi). Questa attività deve essere svolta nell'ambito di una procedura di gara pubblica che descriva il risultato, il prezzo e il calendario. Questo è un requisito legale per richiedere un budget per questa organizzazione (un istituto di ricerca pubblico).

Questi vincoli sembrano in qualche modo contraddittori con i principi fondamentali dello sviluppo agile, no?

Scrum è semplicemente incompatibile in un tale ambiente?

Cosa consiglieresti a questa organizzazione?



1
Se il risultato, il prezzo e il lasso di tempo possono essere tutti anticipati, perché preoccuparsi di un processo agile?
JeffO

3
Scrum è compatibile con tutto, per definizione. Il paradigma "Il team possiede il processo" consente di modificare radicalmente il processo, quindi Scrum può diventare Waterfall, se necessario. Essere "agili" significa che NON devi seguire un processo con deviazione zero. Ciò significa che il processo può essere adottato in base alle esigenze. Si noti che questo punto è ESTREMAMENTE impopolare con la gestione: vogliono processi fissi e chiameranno qualsiasi cosa "agile" se sono stati agganciati su Agile / Scrum / Qualunque cosa.
Klaws

3
FWIW, IME, non ho mai visto nulla di simile a Sebazzz. Il contratto dice specificamente cosa deve essere consegnato. Se non soddisfa i requisiti, non hai finito. E questo è l'intero problema con i metodi agili "consegnare quello che hai quando i fondi si esauriscono". È un'occasione rara in cui è possibile consegnare un prodotto che fa solo un sottoinsieme di ciò di cui il cliente ha bisogno ed è effettivamente di valore per il cliente. Di solito è lo stesso in quanto non funziona affatto. Deviazioni possono essere richieste, ma se tale deviazione rimuove la funzionalità, allora quasi sicuramente si combina con meno fondi
Dunk

2
@ CortAmmon-Quello che ho visto fare al governo è "intelligente" ma non molto agile. Fondamentalmente continuano a seguire la cascata, assegnano il contratto per fasi anziché per l'intero sforzo di sviluppo del ciclo di vita come in passato. Sono anche più inclini ad assumere più di un appaltatore, soprattutto in fase di progettazione, in quanto ciò consente loro di selezionare in modo competitivo la migliore soluzione che desiderano passare a un prodotto in grado di produrre. L'ultima fase è la più costosa. Vogliono vedere cosa stanno ottenendo prima di decidere di fabbricare. Un prodotto parzialmente funzionante non vincerà.
Dunk

Risposte:


38

Scrum probabilmente non è appropriato per questa organizzazione.

Dalla Scrum Guide, "Scrum è un framework per lo sviluppo, la consegna e il supporto di prodotti complessi". È inoltre progettato per un team di 3-9 membri di un team di sviluppo che lavora sul prodotto, un Product Owner e uno Scrum Master (che può o meno far parte del team di sviluppo) per un totale di 4-11 persone in totale.

Per quanto riguarda lo sviluppo interno, dici che hanno solo pochi sviluppatori. Se non c'è una squadra abbastanza grande da formare una squadra Scrum, allora non ha senso usare tutta Scrum. Tuttavia, alcune pratiche Scrum possono essere utili per l'organizzazione.

Per lo sviluppo su contratto, è possibile che una delle parti esterne utilizzi Scrum. In questo caso, è utile che l'istituto di ricerca sia a conoscenza delle pratiche Scrum e comprenda i ruoli e come funziona. Potrebbero ancora aver bisogno di capire i dettagli di come l'organizzazione di sviluppo esterna utilizza le pratiche Scrum e altre pratiche, ma può aiutarli a capire come funziona. Ad esempio, comprendere la necessità di partecipare a Sprint Review o collaborare con l'organizzazione (probabilmente il loro Product Owner) per ordinare il Product Backlog.


Risposta eccellente. È molto difficile, sebbene non impossibile, far sì che organizzazioni come quella descritta dal PO si muovano verso un approccio agile.
Mister Positive

1
@MisterPositive Potrebbe non essere necessario che l'istituto di ricerca diventi agile. Tuttavia, dovranno probabilmente essere in grado di interagire con entità esterne che sono agili quando emettono un contratto. Possono vedere i benefici dell'agile, di sicuro.
Thomas Owens

La parte davvero positiva di questa risposta è l'IMHO che non cade nella trappola della discussione su Scrum non adatta perché "risultato, prezzo e tempi" sono fissi.
Doc Brown

1
@DocBrown Forse perché Scrum può essere utilizzato dove sono fissati il ​​prezzo e il lasso di tempo. Nella mia esperienza, quando stai consegnando rapidamente e dimostrando cose agli stakeholder, si rendono conto che ciò di cui inizialmente pensavano di aver bisogno e ciò di cui hanno davvero bisogno sono due cose diverse. E poi cambieranno il risultato desiderato entro il prezzo e l'intervallo di tempo originali.
Thomas Owens

Essere d'accordo. Il software non è come avere un architetto che progetta un edificio. È intrinsecamente un bersaglio mobile, con il terreno che scivola sempre via sotto i tuoi piedi. L'anno prossimo, gli sforzi dell'anno scorso sembrano passe.

22

18F, un'agenzia di servizi digitali all'interno del governo degli Stati Uniti, ha lavorato molto su come il governo può scrivere contratti per consentire l'uso di metodologie agili in modo coerente con la legge, specificando i risultati generali piuttosto che i requisiti dettagliati per come funziona deve essere fatto. Alcune delle loro risorse includono:

Un vantaggio dei metodi di lavoro agili è che si concentrano sulla scoperta di una soluzione a un problema dopo l'aggiudicazione del contratto, cioè durante l'esecuzione post-aggiudicazione, piuttosto che specificare la soluzione dettagliata in anticipo come nella Parte 15. Un contratto agile cerca di specificare i problemi che richiedono soluzioni dettagliate, spesso come articoli arretrati del prodotto che descrivono aree di consegna del contratto di alto livello.

Comprendendo questo problema, l'Ufficio di gestione e di bilancio e l'Ufficio della politica federale per gli appalti hanno ordinato alle agenzie di smettere di usare SOW e di passare a utilizzare un Performance Work Statement (PWS) per acquisire servizi. Un PWS "dovrebbe dichiarare i requisiti in termini generali di ciò che (risultato) deve essere fatto, piuttosto che come (metodo) viene fatto" I buoni agenti contrattuali avvisano le agenzie che acquistando servizi di esperti, implica che non sei il più informato nel "come" il lavoro è fatto. Come proprietario della missione, tu sei l'esperto di "cosa", devi realizzare, ma la fusione dei due mette a rischio la tua missione e rende più difficile per un contratto fornire valore.

Fondamentalmente, l'approccio è più come assumere un fornitore di servizi per lavorare con voi per progettare una soluzione, piuttosto che elencare in anticipo pagine di specifiche dettagliate. L'istituzione non assumerebbe un architetto per progettare un nuovo edificio elencando "il progetto deve essere di quattro piani, con una pendenza del tetto di 37º. Il terzo piano deve avere una cucina di 237 piedi quadrati contenente quattro lampade fluorescenti, controllate da un movimento -interruttore sensibile alla luce, in un controsoffitto. " Piuttosto, avrebbero un contratto per l'architetto per fornire servizi di progettazione in consultazione con il cliente e fare affidamento sul loro fornitore, un esperto nel settore, per produrre i risultati finali risultanti.

Mentre i dettagli dipenderanno dall'istituzione e dalle politiche e leggi applicabili in materia di appalti, ciò dimostra che, tra tutti i fallimenti dei grandi progetti IT governativi, ci sono gruppi che lavorano per spostare gli appalti pubblici per lo sviluppo del software verso metodologie agili più moderne, dato sufficiente volontà politica e partner di sviluppo affidabili. Ci vuole un grande cambiamento nel modo in cui tali progetti sono concepiti e gestiti (incluso un sacco di tempo in corso per fornire feedback degli utenti durante tutto il processo), che l'organizzazione può o meno avere interesse a perseguire.


3
Questa è un'ottima risposta, in particolare gli ultimi due paragrafi. Questo è davvero un ottimo modo di mettere insieme cose che non sono stato in grado di mettere insieme in modo coerente.
Thomas Owens

1
Sì, questa è la risposta. Il problema è il contratto e come è stato scritto. Non posso né confermare né negare che a un certo punto della mia vita ho lavorato per un'organizzazione simile o simile ad essa, e quando sono passati a un contratto più orientato ai risultati, lo sviluppo agile ha iniziato a diffondersi come un incendio.
Greg Burghardt

Quindi sembra che l '"architetto" abbia bisogno di aiutare a scrivere l'offerta in primo luogo, prima che possa essere preventivata e assegnata una scadenza. È un processo in due fasi, con la seconda frase che è: "tu, costruisci questo, il giorno di apertura è ..."

12

Sembra tipico. Una volta che l'offerta è stata scritta, le offerte sono in corso e uno dei contendenti ha ottenuto il contratto ... per quanto riguarda i rappresentanti dell'organizzazione pubblica, il progetto è concluso.

Ecco perché molti di questi progetti falliscono. Dopo aver superato il budget.

Il punto che mancano (o almeno non ritengono sia una delle loro preoccupazioni) è che sono le parti interessate che dovrebbero partecipare alle riunioni e alle dimostrazioni.

Quindi non vi è alcun conflitto con Agile o Scrum. Sono le persone che non raccolgono i loro ruoli. È il modo in cui funziona il governo a causare questo.

Non è come "vorremmo avere questo sistema e siamo disposti a impegnarci e vedere fino a che punto possiamo portarlo".

No. È come "la nostra democrazia ha deciso che avremo questo sistema, per allora". Ciò non lascia spazio tra il 100% di successo da un lato e il 100% di fallimento dall'altro. Condannato dall'inizio.

È anche un invito al mercato a chiedere tariffe ridicole. Non fare il progetto perché è troppo costoso non è un'opzione, la decisione di farlo è già stata presa prima che la gara d'appalto fosse scritta.

Abbastanza giusto, anche se le parti interessate assumessero i loro ruoli, sarebbero totalmente impotenti. Nessuno di loro avrebbe un bastone credibile da portare a quelle demo per lo stesso motivo.


5
Questo non risponde davvero alla domanda. Cosa consiglieresti a questa organizzazione?
Philipp

9
Non è questo un cliché contro i governi che sarebbe responsabile di tutti i fallimenti, più che una risposta costruttiva? Non lo so nel tuo paese, ma nel mio paese ci sono molti progetti governativi di successo. Non potrò cambiare idea, ma qui un articolo interessante basato su fatti oggettivi e osservazioni indipendenti: mckinsey.com/industries/public-sector/our-insights/…
Christophe

6
"Ecco perché molti di questi progetti falliscono. Dopo aver superato il budget". Questo trope è rivendicato continuamente dalle persone che spingono processi agili. Eppure, ci sono un sacco di aziende di sviluppo di successo che non usano nessuno dei metodi agili proposti. Tendono a farlo senza problemi. Semmai, il vero problema è la pratica di assumere l'offerente più economico e di non mettere abbastanza enfasi sulle prestazioni passate e sull'esperienza del dominio. Incolpare il processo è un'aringa rossa. Il successo può essere raggiunto da qualsiasi team competente utilizzando qualsiasi processo ragionevole con cui abbia competenza.
Dunk

OK, mi sono lasciato trasportare un po '. Consiglierei comunque di monitorare i progressi e assumere quel ruolo di stakeholder, dopo la firma del contratto, supponendo che sia nell'interesse di tutti fornire. E non sto affermando che Agile è la chiave, sto sostenendo che non vi è alcun conflitto con i principi Agile e ho sottolineato un problema comune alla base.
Martin Maat,

Ri: "supponendo che sia nel migliore interesse di tutti offrire": dove vivo abbiamo fallito un progetto a lungo termine molto costoso (per un'espansione delle utility), con il fallimento del costruttore (un mega secolare mondiale società) e l'ente di servizio pubblico che ha ottenuto la legislazione potenzialmente illegale e che i clienti si aspettavano di salvare tutti. Nel governo, questo genere di cose non dovrebbe accadere, è nell'interesse di tutti che tutte le parti restino vitali, etiche e mantengano ciò che hanno promesso. Non sono sicuro se i processi possano essere d'aiuto o meno.

12

No, SCRUM non è incompatibile con gli appalti pubblici. Devi dichiarare esplicitamente cosa stai acquistando in una gara pubblica.

"L'acquirente sta cercando di acquistare 10 sprint di sviluppo di 2 settimane da un team di esperti SCRUM contenente 5 sviluppatori e un master SCRUM certificato (l'acquirente ricoprirà il ruolo di stakeholder). Gli sprint si svolgeranno da marzo 2018 a luglio 2018" è abbastanza ragionevole inizio dell'offerta. Dovrai elencare le competenze del team necessarie, ovviamente, e dare un'idea del progetto su cui lavoreranno, ma è perfettamente accettabile avere un'offerta per assumere un team.

Naturalmente, ti stai arrendendo allo "scopo fisso" qui. Questo è tipico per SCRUM, dopo tutto. Con un po 'più di testo nel bando di gara (ma stiamo entrando in territorio legale qui) puoi consentire una piccola estensione dell'ambito, cioè un piccolo numero di sprint aggiuntivi. Ma se decidi di volere altri 10 sprint dopo i primi 10 sprint, probabilmente dovrai ripetere l'offerta.


3
Esattamente ! Questa è una risposta eccellente e accurata. In questo webinar projectmanagement.com/videos/290684/… un funzionario statunitense spiega come funziona in modo dettagliato. Il principio di spostare lo scopo dell'offerta dal prodotto finale al servizio di sviluppo può anche essere organizzato in base a molte altre normative sugli appalti in modo simile. La difficoltà principale è principalmente l'atteggiamento a volte conservatore di alcune parti interessate e non una cosiddetta incompatibilità.
Christophe

1
Quindi assumerebbero il team di mischia più economico che riescono a trovare, e quando il progetto ha bisogno di più ore, assumono il secondo team più economico per assumere lo sviluppo intermedio? Questo approccio presuppone che il cliente valuti la qualità del team di software che assumono. Se hanno tale competenza, mi chiedo in primo luogo di cosa hanno bisogno per esternalizzare il contratto?
meriton - in sciopero

@meriton: la maggior parte delle offerte è governativa, che di solito è richiesta per utilizzare l' offerta qualificante più economica . SCRUM non cambia questo. Tuttavia, SCRUM mette il proprietario del prodotto in un ruolo attivo, che aiuta qui.
Saluti

Tuttavia, se contratto come da lei suggerito, SCRUM modifica gli incentivi per il fornitore di servizi. Non possono più essere ritenuti responsabili per non aver soddisfatto i requisiti, il loro unico incentivo è abbassare il prezzo, pur soddisfacendo la lettera dei criteri di idoneità, ma non necessariamente il loro spirito. È più facile per l'acquirente valutare se il software soddisfa i requisiti, piuttosto che se il team è in grado di produrre software che lo fa. Ma sì, il tuo approccio è uno dei modi migliori per utilizzare SCRUM nel settore pubblico. Volevo solo menzionare il motivo per cui gli acquirenti potrebbero non voler adottarlo.
meriton - in sciopero

9

È difficile.

Ovviamente non puoi offrire il lavoro con un budget aperto. Quindi devi guardare cosa sarà necessario fare e quanti sforzi sono necessari per farlo.

Ora il motivo per cui molti progetti software falliscono è dovuto al fatto che il fissaggio, il tempo, lo sforzo e l'ambito di applicazione sono molto inclini agli errori. Ad esempio, una specifica fornita in una gara d'appalto avrà quasi sempre delle ambiguità.

Quindi c'è un problema fondamentale non solo con l'agile, ma con il concetto di offerte aperte per lo sviluppo del software. Le possibilità che qualcuno si spenga e crei esattamente ciò che volevi, nel tempo specificato, sono scarse.

Se si consente una certa flessibilità, è possibile migliorare questo.

Sembra che il processo di messa in appalto pubblico non sia flessibile. Tuttavia, una volta che il contratto è stato vinto, è possibile che ci sia spazio per la lotta. Ad esempio, potresti consentire un lavoro agile, ma dovresti accettare (e ottenere l'autorizzazione legale) che ciò potrebbe influire sul campo di applicazione.

Ora credo che ciò comporterebbe un prodotto migliore in quanto vedrai presto cosa sta succedendo e apporterai le modifiche prima che vengano inserite nel prodotto. Stretti circuiti di feedback e sviluppo iterativo possono rendere i prodotti che si adattano meglio ai requisiti effettivi (che possono essere o meno ciò che è stato messo in gara).


3
+1 Non riesco a contare il numero di volte in cui il lavoro è stato svolto perché qualcuno ha accettato un contratto riconoscibilmente scadente, e quindi ha usato quella connessione per aumentare il contratto in qualcosa che è più vicino a ciò che il cliente voleva effettivamente.
Cort Ammon,

1
Vorrei evidenziarlo: questa risposta dice che Scrum non è incompatibile con gli appalti pubblici, ma lo sviluppo di software basato su contratto in generale . Non che non sia d'accordo.
Doc Brown

3

Dipende, ma probabilmente sì.

Sono disposto a scommettere soldi che chiunque abbia mai lavorato con qualsiasi governo su qualsiasi progetto relativo all'IT saprà che in pratica i "limiti rigidi" descritti nell'offerta non sono mai tutti soddisfatti. Le cose tendono ad andare oltre il budget, a essere ritardate e / o l'ambito è cambiato. Di solito multipli di quelli. Se i governi sono disposti ad ammettere che questa è la verità e diventano disposti a trattarli come le linee guida che sono, allora la mischia può funzionare davvero bene.

Per esperienza personale (sia mia che della mia rete professionale), so che i requisiti cambiano frequentemente nella maggior parte dei progetti governativi. I comitati responsabili tendono anche ad avere molti feedback quando alla fine vengono coinvolti alla fine di un progetto. Questi sono problemi per i quali Scrum è adatto.

Tuttavia, ciò richiederebbe un cambiamento fondamentale nella mentalità da parte dei governi e delle loro agenzie. Nella maggior parte dei paesi, è molto improbabile che questo cambiamento abbia mai luogo. Fino a quel momento, gli appalti pubblici continueranno ad essere incompatibili con la collaborazione con Scrum. (Del resto, a mio parere, le gare d'appalto pubbliche continueranno ad essere incompatibili con qualsiasi pratica di sviluppo di software sostenibile, ma questa è un'altra questione per un'altra volta ...)


Stavo per scrivere un commento come la tua ultima dichiarazione tra parentesi, ma ti permetterò di ottenere il credito :)

3

Cosa consiglieresti a questa organizzazione?

A questo punto niente.

Ciò che manca qui è la storia dei problemi che il loro attuale processo sta causando loro. Scrum non è qualcosa da raccomandare alla cieca. Ha un punto. Non è una taglia unica.

Chiedi loro quali problemi li ha causati il ​​loro attuale processo. Ascolta. Raccomanda solo metodi che risolvono i loro problemi reali. Saranno influenzati dal loro attuale processo. Gli esca possono sembrare come se dettassero un processo di sviluppo, ma non lo fanno. Stabiliscono un processo di consegna. Ma questa è una distinzione che questa squadra probabilmente non ha mai dovuto fare prima.

Agile funziona al meglio quando i requisiti cambiano di oltre il 3% nel corso della vita del progetto. Altrimenti la cascata è ancora molto efficace. Oggi è ancora usato in molti luoghi. E ovviamente molti sviluppatori di successo non formalizzano mai il loro processo in entrambi i modi. Informale funziona bene quando i problemi difficili sono tecnici, non sulle persone.

Quindi parla con loro del loro processo attuale e dei problemi che ha. Racconta loro di cosa aiutano questi metodi. Ma se non è rotto, non aggiustarlo.

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.