Un po 'di background: lavoro in una società tecnologica relativamente piccola (< 10 sviluppatori) che produce fondamentalmente un singolo prodotto, in continua evoluzione e in fase di aggiunta. Il prodotto è un prodotto client / server off-the-shelf, in cui eseguiamo il server e i client sono app mobili in esecuzione su una varietà di piattaforme (Android, iOS, WinMo, ecc.). La maggior parte delle specifiche e della documentazione è gestita in un Wiki interno.
Ogni volta che aggiungiamo una nuova funzione o ne espandiamo una esistente alle app client, il processo va più o meno in questo modo:
- Una specifica. perché il cambiamento è prodotto. Generalmente queste specifiche sono molto poco dettagliate, spesso consistono solo in poche storie di utenti: "Come utente, voglio ..."
- La funzionalità è implementata su una singola piattaforma. Quale piattaforma spesso dipende da quale sviluppatore è più libero al momento, poiché diversi sviluppatori si specializzano su piattaforme diverse.
- Una volta che la funzione è più o meno completata sulla piattaforma principale, viene portata su altre piattaforme.
Poiché le specifiche iniziali sono così generali, il passaggio 2 di solito richiede molte decisioni più dettagliate: formati di file, cosa fare quando le cose vanno male, ecc. Le decisioni vengono generalmente prese dopo aver consultato il project manager.
Il problema che abbiamo è che non esiste una vera procedura per assicurarsi che le decisioni prese nel passaggio 2 vengano effettivamente documentate. In un mondo ideale, credo che la responsabilità potrebbe ricadere sul project manager, ma dal momento che è anche un direttore della compagnia, francamente non ha tempo!
La mia domanda è: Qualcuno può suggerire un processo (o processi) che potremmo usare per garantire che queste decisioni vengano documentate?
Va benissimo dire che "aggiorna il wiki solo quando le decisioni vengono prese", ma le considerazioni del mondo reale (pressione del tempo, interruzioni per affrontare problemi di supporto dell'utente, ecc.) spesso significano che viene dimenticato.