Adottando un approccio agile a questo non farei come suggerisci e costruisci l'interfaccia fittizia prima di iniziare il lavoro. Vorrei evolvere l'interfaccia mentre avanzi.
Prima di tutto concentrati sulle storie più preziose (ed è VITALE che queste soddisfano INVESTA
i principi).
La parte difficile qui è come costruisci le tue storie e ottenere la definizione giusta sia con il team che con il proprietario del prodotto è essenziale. Questo farà o distruggerà il progetto. Ci sono due opzioni che prenderei in considerazione per questo, prendiamo ad esempio la storia 'Come utente che voglio accedere' . (So che questa è una user story terribilmente formata, ma riesce a far valere il mio punto di vista semplicemente). Ci sono due opzioni per definirlo, e entrambi gli approcci potrebbero essere migliori a seconda di come il tuo team / team sta lavorando al progetto:
-
L'opzione Scrum "pura" - come farei se sei un singolo team Scrum.
Specifica i requisiti tecnici come criteri di accettazione della storia. Per esempio. Il login deve essere sicuro utilizzando la crittografia XXX, la sicurezza della password ecc.
Mentre costruisci questa storia, disegni gli aspetti toccati dalla storia - ad es. Utenti e password nel DB e tutti i campi obbligatori. Se un'altra storia in futuro significa che questo avrà bisogno di refactoring, questo è incluso nella dimensione di quella storia. Inoltre, i test unitari sono essenziali per garantire che il refactoring non rotti la funzionalità esistente. Questo è probabilmente l'approccio migliore se esiste una sola squadra di scrum sul prodotto, poiché è meglio ottenere tutta la qualità della produzione man mano che si procede.
-
L'opzione Scrum commerciale - come avrei fatto in un'azienda con più team Scrum, che non sono puramente interfunzionali.
Ignora i requisiti tecnici e separali in una storia separata. Per esempio. viene creato un pulsante "login" che passa sempre e consente al sistema di continuare. Ciò significa che il team "front-end" (o sprint) può continuare a lavorare e fornire ulteriore valore, e una storia separata mantiene i requisiti tecnici e la progettazione del DB di accesso. È fondamentale che tutti sappiano che la funzionalità non esiste ancora. / p>
I principali vantaggi della seconda opzione sono:
- Un team può costruire l'interfaccia utente mentre un altro team crea il DB. Possono quindi continuare con altre storie.
- Le parti interessate possono vedere i progressi molto prima e avere un'idea di ciò che si sta creando, che può influenzare il design fin dalle prime fasi.
Il grande rischio è che le persone credano che il progresso sia più lontano del previsto, perché hai qualcosa che sembra "quasi fatto" ma che in realtà non fornisce valore. Ecco perché la prima opzione è più Scrum "puro".