Come gestisci richieste di funzionalità incomplete, quando quelle che chiedono la funzione non possono scrivere una richiesta completa?
Considera una situazione immaginaria. Sei un capo tecnologico che lavora su un software che ruota attorno ai profili di gestione (forse sono contatti in un'applicazione di tipo CRM, o impiegati in un'applicazione HR), con molte operazioni eseguite direttamente o indirettamente su quei profili - modifica campi, aggiungere commenti, allegare documenti, inviare e-mail ...
I superiori decidono che è necessario aggiungere una funzionalità blocco in modo che un profilo possa essere bloccato per impedire a chiunque altro di eseguire operazioni su di esso fino a quando non viene sbloccato - questa funzione verrà utilizzata dagli agenti di sicurezza per impedire a chiunque di toccare un profilo in attesa di un controllo di sicurezza.
Ovviamente, tale funzione interagisce con molte altre funzionalità esistenti relative ai profili. Ad esempio:
- Si può aggiungere un commento a un profilo bloccato?
- Si possono vedere le e-mail inviate dal sistema al proprietario di un profilo bloccato?
- Si può vedere chi ha recentemente modificato un profilo bloccato?
- Se un messaggio di posta elettronica era in fase di invio quando è avvenuto il blocco, l'invio di e-mail è stato annullato, ritardato o eseguito come se nulla fosse accaduto?
- Se ho appena modificato un profilo e clicco sul link "cancella" sulla conferma, il blocco impedisce l'annullamento o continua ancora?
- In tutti questi casi, come faccio a dire all'utente che è presente un lucchetto?
A seconda del software, potrebbero esserci centinaia di tali interazioni, e ogni interazione richiede una decisione: il blocco verrà applicato e se lo fa, come verrà visualizzato all'utente? E i più esperti che chiedono la funzione probabilmente vedranno solo una piccola parte di questi, quindi probabilmente avrai un sacco di domande in arrivo mentre lavori sulla funzione.
Come gestireste voi e il vostro team?
- Vorresti che i superiori venissero a trovare una descrizione completa di tutti i casi in cui il blocco dovesse applicarsi (e come) e trattare tutti gli altri casi come se il blocco non esistesse?
- Vorresti provare a determinare tutte le potenziali interazioni basate su specifiche e codici esistenti, elencali e chiedi ai superiori di prendere una decisione su tutti quelli in cui la decisione non è ovvia?
- Inizieresti a lavorare e fare domande non appena si presenteranno?
- Vorresti cambiare idea e sistemarti su una funzione più facilmente descritta con effetti simili?
Le informazioni sulle funzionalità esistenti sono, a quanto ho capito, nel codice: come si fa a colmare il divario tra i responsabili delle decisioni e le informazioni a cui non possono accedere?