Quanto ben definito deve essere il progetto è abbastanza buono per iniziare e sapere dove andrai nelle prossime due settimane.
Come Scrum Master, direi semplicemente che devi definire le funzionalità lorde del tuo prodotto in un foglio Excel o altrove, solo per tenere traccia delle tue funzionalità. Renderli User Stories aiuta molto a pensare a quale funzionalità è necessaria dopo. Quindi, assegnale le priorità: la caratteristica più importante o imperativa verso l'alto e il minimo verso il basso.
Dopo aver elencato alcune delle funzionalità più importanti, seleziona le funzionalità che ritieni possano essere sviluppate e porta allo stato di Fine dopo un periodo di due settimane o, se preferisci, un periodo di un mese. Quindi, esplodi queste funzionalità selezionate in modo da poter iniziare a scrivere in pochi.
Durante la codifica, penserai sicuramente ad altri elementi che devono essere sviluppati per portare le funzionalità selezionate in stato Fatto. Fatto significa che non hai più nulla da fare, cioè test, codifica, assemblaggio, documentazione è Fatto!
In qualsiasi momento l'elenco delle funzionalità selezionate può espandersi, purché si raggiunga l'obiettivo, vale a dire che si è in grado di sviluppare tutto ciò che si è detto durante un determinato periodo.
In breve, niente deve essere perfetto. Inserisci alcune idee, condividi con i tuoi compagni e vedi se ciò che è scritto ha senso per soddisfare i requisiti di prodotto richiesti. Se è così, allora sei dentro! Per chiarire, andrò con un semplice prodotto di gestione dei clienti. Ciò che è necessario?
As a user, I may manage the Customers;
As a system, I persist changes to the underlying data store;
As a user, I need to enter my credentials to be able to manage customers;
As a system, I have to authenticate the user against the Active Directory;
La tua prima bozza potrebbe essere così semplice! Quindi, possiamo vedere che la sicurezza è una parte importante nel nostro sistema, è abbastanza importante fare la massima priorità (S / N)? Questo dipenderà dai requisiti che devi soddisfare. Diciamo che la gestione dei clienti è la cosa più cruciale qui. Quindi, nel prossimo Sprint, dobbiamo essere in grado di gestire i clienti in modo semplice ma accettabile. Cos'è la gestione dei clienti?
As a user, I may manage Customers;
-> As a user, I add a customer to the system;
-> As a user, I change a customer details;
-> As a user, I delete a customer;
-> As a system, I flag a deleted customer as being inactive instead of deleting it;
-> As a user, I need to list the customers;
-> As a user, I search the customers data bank for a given customer;
-> ...
Questo già illustra abbastanza funzionalità per essere in grado di iniziare a sviluppare l'applicazione. Se i tuoi programmatori hanno bisogno di ulteriori istruzioni, allora forse uno sviluppatore che è a suo agio con i diagrammi di classe può progettare la classe del Cliente e le sue proprietà e metodi! Ma per quanto mi riguarda, con questi pochi che ho scritto, avrei abbastanza per iniziare. Alcune funzionalità possono essere aggiunte o modificate lungo il percorso. L'importante è concentrarsi su ciò che hai detto che sarebbe stato fatto. Nel nostro esempio, è la questione della gestione dei clienti. Non abbiamo bisogno di preoccuparci dell'autenticazione dell'utente a partire da ora. Questo arriverà più avanti nel prossimo Sprint.
Spero che questo possa essere d'aiuto! =)