Scrum è eccessivo, ma Agile è più naturale per i piccoli team, anche per i team di una sola persona. Il punto di Agile è la creazione di un backlog di storie utente in anticipo che descrivano accuratamente i casi d'uso del cliente.
Prima dell'inizio di ogni sprint, priorità e LOE (livello di sforzo o punti) sono determinati per le storie degli utenti e in base a ciò che è possibile nel periodo di sprint di 2-3 settimane, le storie degli utenti vengono aggiunte allo sprint.
Alla fine dello sprint, tutte le user story dovrebbero essere sviluppate e testate e l'aspetto più importante di tutte è che tutte le funzionalità degli sprint precedenti non dovrebbero essere influenzate e il software non dovrebbe essere lasciato alla fine dello sprint in uno stato rotto.
Ha senso rilasciare al client dopo ogni sprint? No, non è così e questo è un malinteso comune di Agile che vedo sempre. Incontro pochi clienti che desiderano un rilascio di lavoro dopo ogni sprint. Ad esempio, alcuni potrebbero volere un rilascio ogni tre mesi e, se Agile viene seguito, l'ultimo sprint rilasciato dovrebbe essere sempre in uno stato utilizzabile in cui è possibile preparare un rilascio per il client su un intervallo regolare. Alcuni clienti potrebbero anche desiderare un ambiente in cui possano autorizzare, dimostrare e valutare l'ultimo sprint in modo che possano essere aggiornati sull'avanzamento in tempo reale del progetto.
E le sfide di fornire software in uno stato utilizzabile nei primi sprint di un nuovo progetto? I primi sprint di un nuovo progetto possono essere una grande sfida perché la quantità di architettura e il lavoro di progettazione, nonché il lavoro di fondazione che deve verificarsi, ha sempre dei picchi all'inizio di un nuovo progetto e diminuisce gradualmente durante lo sviluppo.
Questo può essere affrontato in diversi modi, molti negozi useranno l'arretrato iniziale di storie di utenti per fare e documentare le decisioni fondamentali dell'architettura prima che inizi il primo sprint. Altre volte il progetto è invisibile per essere strutturalmente simile ad altri progetti precedenti e viene utilizzato un modello di progetto che getta le basi per la progettazione di base e lo sviluppo futuro. Ho anche lavorato a team in cui il team di architettura inizia a dare il via al progetto con un Preambolo di 2-3 settimane prima che il primo sprint inizi ufficialmente. Il primo sprint può iniziare in piccolo, anche per gli sviluppatori, per un'applicazione CRUD tipica. Mi piace sempre iniziare con una pagina di accesso e un'autenticazione. È facile da avviare, definisce chiaramente cosa è finito e può essere chiaramente testato dal QA nelle prime fasi del progetto.
EDIT: così come questo aiuta il cliente a fare in modo che le modifiche possano essere apportate alle storie degli utenti lungo tutto il processo e questo può riflettere in timeline modificate, stime, tempi di risposta più rapidi per il cliente, più feedback a il cliente e più trasparenza per il cliente. Ciò ti consente di essere più agile nell'affrontare le modifiche all'ambito originale nel bel mezzo di un progetto.