Naturalmente Scrum è utile. È una metodologia che fa due cose per te:
- Permette al tuo progetto di adattarsi al cambiamento e
- Ti consente di tenere traccia dei progressi e avere un'idea di quando sarà finita
Quindi, c'è un certo valore nell'usarlo.
Penso che alcuni dei tuoi presupposti non siano corretti ed è qui che ti stai perdendo.
Non riesco a vedere come ogni storia possa essere negoziabile - sono tutti necessari per un compilatore funzionante
Questo non è vero. Puoi supportare un sottoinsieme della lingua e avere comunque un compilatore che funziona a determinate condizioni. Sicuramente meno prezioso di un compilatore completo, ma comunque prezioso.
Inoltre, fraintendete il significato di "negoziabile": non significa necessariamente "opzionale" e non è necessario che le storie siano facoltative in INVEST. Una storia è un obiettivo prezioso e la negoziazione è su come raggiungere tale obiettivo. Sicuramente ci sarà molto più che un modo per implementare il backend di ogni funzionalità linguistica. Ecco dove hai bisogno di negoziazione.
Le storie hanno tutte la stessa priorità e non importa quale ordine le consegno.
Questo non è corretto, come dici di seguito che alcune storie non sono "indispensabili", quindi alcune hanno meno valore. Ma anche nella categoria "must have": alcune caratteristiche del linguaggio sono molto più fondamentali di altre, e misurabili.
Un modo per misurare questo è "quante più righe di codice possiamo compilare su una base di codice esistente" o "quanti più test superano" se si dispone di una suite predefinita di test.
Ci sono anche altre opzioni. Se stavi compilando un C-come il linguaggio, a rigor di termini è necessario solo un if
e goto
ciclo per avere un (a malapena) linguaggio funzionale ed è possibile implementare while
, for
e repeat
come macro. Supponendo che sia abbastanza facile scrivere un uso un precompilatore, puoi avere una soluzione di stopgap economica (ehi, stiamo negoziando? :-)
Per quanto riguarda l'adattabilità, il supporto di una lingua è un insieme abbastanza statico di requisiti, ma anche le lingue cambiano e anche la tua conoscenza delle tue esigenze cambia. Devi implementare tutto? Ci sono cose che non ti servono specificamente per i tuoi obiettivi? Uno degli inquilini di base di Agile è la conoscenza di avere una conoscenza incompleta, puoi sfruttarla?
In conclusione, per rispondere alla tua domanda più direttamente: hai bisogno di processi agili quando le tue esigenze sono immutabili? Sicuramente no! Sono utilizzabili? Probabilmente sì! Valgono il tuo tempo? Probabilmente no - ma le tue esigenze sono immutabili? Nelle mie esperienze passate, "requisiti immutabili" => "proprietario del prodotto pigro" - non una regola, ma vale la pena ricordare.