How is software architecture decided in a scrum/agile project environment?
Non è mai "deciso". Aggiungete funzionalità e refactoring e alla fine il team riscuote un design che smette di dover cambiare tanto per aggiungere nuove funzionalità.
Agile non significa che non fai un disegno. Fai tutte le fasi della cascata. Li fai semplicemente in uno sprint invece di sei mesi a un anno.
Significa che si ottiene qualcosa di fronte al proprietario del prodotto che non è solo un pezzo di carta.
Agile esercita ancora più pressione sul design rispetto a Cascata. Agile ha bisogno di un design flessibile perché non vi è alcuna garanzia che i requisiti siano gli stessi dallo sprint allo sprint.
"Chi decide" è chi si trasforma in codice che segue un disegno che non viene rifatto in un altro disegno.
Ho controllato i progetti anni dopo averli lasciati. Non sono altrettanto orgoglioso di quelli in cui mi è capitato di impostare il design come quelli in cui il mio design è durato oltre 6 mesi di sviluppo attivo.