Benvenuti negli affari reali.
Esiste un vecchio stile di attività, che tendo a definire in modo derisorio "sviluppo tradizionale" e poi c'è un nuovo stile, "sviluppo agile". Se provo a considerare questi come ideali opposti, vediamo una divisione semplice nel mezzo: piani e requisiti vanno nella colonna tradizionale, scoperta ed evoluzione vanno nella colonna agile. È pulito, ordinato e sbagliato.
In realtà, gli affari sono una ricerca del mezzo felice tra i due. È facile dimostrare che entrambi gli estremi in realtà cadono piatti sulla sua faccia. Noi che amiamo Agile dimostriamo con entusiasmo tutti i problemi del puro ideale dello sviluppo tradizionale, e ci sono molti che possono mostrare i molti modi in cui Agile puro cade a pezzi. Le aziende agili di successo sono quelle che trovano il loro particolare equilibrio tra i due. Le aziende tradizionali di successo sono quelle che trovano il loro particolare equilibrio tra i due. Non puoi averne uno senza l'altro.
Anche il nostro benedetto processo SCRUM mostra un equilibrio tra i due. Mentre vi è un chiaro tentativo di massimizzare l'agilità, ci sono alcuni compromessi chiave. Ad esempio, il Product Owner ha il potente compito di difendere tutti i clienti. SCRUM non specifica intenzionalmente il funzionamento dell'interazione. Fa intenzionalmente a cuore il fatto che tutti devono essere pagati alla fine della giornata. È compito del Product Owner creare l'illusione che ciò non abbia importanza.
(È interessante notare che l'agile puro funziona alla grande, purché non vieni pagato fino a quando non produci un prodotto e non ottieni l'accesso alle informazioni proprietarie fino a quando non sei investito. Penso che gli unici ingegneri del software siano a loro agio con questo commercio sono gli imprenditori)
Quindi il management ha dettato quali funzionalità saranno presenti e quando dovranno essere presenti. Va bene. Una frase che ho sentito dire è "il cliente sceglie cosa e quando, il produttore sceglie chi e come". Sei stato registrato per il "cosa" e il "quando". Non hanno dichiarato nulla su chi o come, se non per offrirti la possibilità di usare "Agile" come tuo. Non resta che aiutare il management a capire quante persone dovranno assumere per soddisfare le loro esigenze.
In un mondo perfetto, la tua azienda è agile dall'esterno. Interagisce con i suoi clienti in modo agile, permettendo agli sviluppatori di svilupparsi agilmente per loro. Tuttavia, molto spesso l'azienda deve interagire con l'esterno mentre si sviluppa agilmente all'interno. Nel mezzo c'è sempre una serie complessa di compromessi, unica per ogni azienda.
Personalmente, tratto questa situazione come un banco di prova per chiunque pensi di capire lo sviluppo agile. Ad un certo punto in futuro, dovrai sviluppare un prodotto per una scadenza e quella coppia prodotto / scadenza sarà relativamente fissa. Se un prodotto / termine fisso infrange il tuo processo, puoi davvero dire che eri Agile in primo luogo?
Il mio consiglio: non pensare a questa come una cascata. Controlli ancora il "come". Puoi ancora fare tutti gli sprint rapidi e la prototipazione flessibile per cui Agile è così famosa. Devi solo essere consapevole che la gomma incontra la strada e devi consegnare. Questo è il mondo reale, non il mondo ideale. Sarebbe stato meglio per loro chiederti in primo luogo? Sicuro. Potrebbe non essere stata la tua chiamata. Ci possono essere migliaia di ragioni legate al business per farlo a modo tuo che semplicemente non capisci completamente. Sentiti libero di respingerli, ma capisci che potrebbero avere un'ottima ragione per quello che hanno fatto.