Sembra che tu abbia preso alcuni elementi fantasiosi dallo sviluppo agile, li hai messi in cascata e ora lo chiami agile.
The product is developed for a customer who will re-sell it while
paying us royalty.
Questo è OK.
The team does not get to talk directly to the end user. Only to
the reseller.
Questo è OK. Il proprietario del prodotto parla con il rivenditore e raccoglie i requisiti.
A product requirements document was created before starting
development.
Questo non è OK. Non ho visto il progetto in cui è possibile definire anticipatamente determinati requisiti. Cambia il tuo documento sui requisiti del prodotto in visione del prodotto (breve) con alcune serie iniziali di requisiti che sono soggetti a modifiche.
The requirements are rigid and do not change.
Questo non è OK e in futuro vedrai che non è vero.
A delivery schedule was agreed on with milestones such as "alpha",
"beta" etc. and features/times attached to those milestones.
Questo non è OK. Il vero programma sarà visibile dai progressi del team. È possibile fare delle pietre miliari generali, ma non è agile assegnare un insieme esatto di caratteristiche che saranno implementate in queste pietre miliari. Questo può cambiare durante lo sviluppo.
All developers on the Scrum team report to the product owner, a
software manager.
Questo non è OK. Non direi che gli sviluppatori segnalino al proprietario del prodotto. Il processo Scrum mantiene la visibilità del processo ma gli sviluppatori non riportano nulla se non le riunioni periodiche. È responsabilità del proprietario del prodotto essere in contatto con una squadra e, in qualità di partecipante attivo, vedere lo stato di avanzamento.
Testers on the team report to a QA manager.
Questo non è OK. I tester dovrebbero far parte del team di sviluppo perché la storia dell'utente non viene eseguita finché non viene testata (ci dovrebbe essere un test automatico per convalidare i criteri di accettazione). Può esserci un QA separato ma è un livello aggiuntivo di test complessi e solitamente viene fatto dal lato del cliente (ma non deve essere) per convalidare che SW fa ciò che il cliente si aspetta e il feedback viene raccolto come nuovi elementi di backlog o bug per elementi di backlog completati esistenti.
Separare il QA completo al di fuori del team di sviluppo porta a rompere l'intero scopo della definizione di fatto. Alcuni QA devono far parte del team e quella parte non è correlata a nessun responsabile QA - quella parte è impegnata con il team di sviluppo.
The product owner has directed the team towards certain high risk
technical tasks. The output of those tasks is not usable by the end
user but rather some technology/code that will eventually be used in
the product.
Questo accade in ogni progetto, ma dovrebbe essere parte di un elemento di backlog di prodotto destinato all'utente finale. Può essere incluso direttamente nell'elemento backlog implementato nell'iterazione corrente o può essere incluso come spike (proof-of-concept) per chiarire la complessità di alcuni elementi del backlog che dovrebbero essere implementati in futuro.
The product owner has created a backlog based on the requirements.
Questo è un must.
The product owner is unable to answer some questions regarding the
product. He refers to others or to the documented requirements.
Questo non è OK. È compito del proprietario del prodotto sapere le risposte. Ha una responsabilità e deve prendere decisioni. Se non conosce la risposta, deve trovarla al più presto.
The team goes through the motions of Scrum. Daily Scrum, Sprint
Planning, Retrospective etc. There is a ScrumMaster.
Questo è OK ma ciò non significa che il team stia facendo Scrum.
Every sprint the product owner and management decide what backlog
items the team works on.
Questo non è assolutamente OK. Il proprietario e la gestione del prodotto possono fare delle priorità, ma l'impegno (selezione degli articoli più prioritari) è responsabilità dei team.
There is a burndown chart. Scrum board with stories and tasks. The
estimates on those come from the team.
Questo è OK.
The team sits in an open floor "bull pen" shared with other teams,
all visible and audible. There is cross-team noise and there is foot
traffic around the team area.
È responsabilità del master Scrum porre fine a questo se il team ritiene di ridurre la propria produttività.
The team may be required to attend various meetings not directly
related to the goals of the sprint.
Va bene, il tempo perso in questi incontri si tradurrà in un impegno minore (la squadra farà meno lavoro reale). Spetta a Scrum master / management ridurre questi incontri per aumentare la velocità della squadra.
There are pressures to select certain technical solutions. Some
tools and processes are mandated.
Questo è parzialmente OK. Ci possono essere requisiti non funzionali per strumenti e architettura e ci possono essere processi definiti, ma l'implementazione finale spetta al team.