Eccomi nel processo di scoping e stima di un nuovo progetto di sviluppo software relativamente piccolo. Ho esaminato le storie degli utenti suggerite dal cliente e ho posto le attività su ognuna di esse, con un preventivo e alcune brevi note su come verrà eseguita l'attività. Ci sono criteri di accettazione. Tutto dovrebbe essere buono con il mondo.
Guardando il lavoro che avevo pianificato, mi sono reso conto che mancava qualcosa. Ci sarà un esborso iniziale nella semplice impostazione di cose in cui possiamo imbullonare la funzionalità. Cose che appartengono a tutte le storie utente, non a una particolare storia utente.
Ad esempio, parte di questa applicazione è un servizio che analizza XML. Dal punto di vista dell'utente ci sono storie specifiche in cui dovranno essere fatte cose diverse a seconda del contenuto dell'XML. In realtà scrivere un parser XML - i bit che cercano un file, leggerlo ed estrarre i dati rilevanti prima di decidere cosa fare del contenuto - fa parte di tutte queste storie. Come lo sta avvolgendo in un servizio Windows con un programma di installazione ecc. È un'attività incentrata sugli sviluppatori senza alcuna rilevanza diretta per un utente.
Un altro esempio pertinente di questa particolare applicazione è prendere e riscrivere un blocco di codice legacy scadente che è utile per le funzioni di questa app. Ancora una volta, questo non ha esiti immediati per l'utente ma è un lavoro necessario. Dove "vive" la pianificazione e l'esecuzione di questo lavoro in un piano di progetto incentrato sulle storie degli utenti?
Ho visto persone risolvere questo problema scrivendo storie utente "Come sviluppatore, voglio ..." ma come è stato discusso altrove questa non è una storia utente . È uno sviluppatore.
Sto cercando una risposta concreta a questo, per aiutare me (e gli altri) a pianificare progetti usando quadri di gestione rigorosi come TFS online. Questi non tendono ad avere la funzione di creare "storie di parti interessate" o altre vaghe meta-soluzioni menzionate nelle risposte a In che modo un team Scrum tiene conto delle attività infrastrutturali nella riunione di pianificazione?