Ho trascorso gli ultimi 3 mesi in una fase esaustiva - ed estenuante - di raccolta dei requisiti di un grande progetto e ho appreso, soprattutto, che non esiste una soluzione unica per tutti . Non esiste alcun processo, nessun segreto, che funzionerà in ogni caso. L'analisi dei requisiti è un'abilità genuina e proprio quando pensi di aver finalmente capito tutto, ti esponi a un gruppo completamente diverso di persone e devi buttare tutto ciò che conosci dalla finestra.
Diverse parti interessate pensano a diversi livelli di astrazione.
È facile dire "parlare a livello aziendale, non tecnico", ma non è necessariamente così facile da fare . Il sistema che stai progettando è un elefante e i tuoi stakeholder sono i ciechi che lo esaminano . Alcune persone sono così profondamente immersi nel processo e di routine che non si rendono nemmeno conto che ci sia un business. Altri possono lavorare al livello di astrazione che desideri, ma essere incline a fare affermazioni esagerate o addirittura false, o impegnarsi in un pio desiderio.
Sfortunatamente, devi semplicemente conoscere tutti gli individui come individui e capire come pensano, imparare a interpretare le cose che dicono e persino decidere cosa ignorare.
Dividere e conquistare
Se non vuoi che qualcosa venga fatto, invialo a un comitato.
Non incontrarti con i comitati. Mantenere tali riunioni il più piccolo possibile. YMMV, ma nella mia esperienza, la dimensione ideale è 3-4 persone (incluso te stesso) per sessioni aperte e 2-3 persone per sessioni chiuse (cioè quando hai bisogno di una risposta specifica alla domanda).
Cerco di incontrare persone che hanno funzioni simili nel settore. C'è davvero molto poco da guadagnare e molto da perdere lanciando la gente di marketing nella stanza con i contatori di fagioli. Cerca le persone che sono esperte in una materia e inducile a parlarne.
Un incontro senza preparazione è un incontro senza scopo.
Un paio di altre risposte / commenti hanno fatto riferimento alla tecnica del pagliaccio, che è eccellente per quelle persone problematiche da cui non riesci proprio a ottenere alcuna risposta. Ma non si basano su di paglia uomini troppo tanto, o la gente altro inizierà a sentire come li stai railroading. Devi spingere delicatamente le persone nella giusta direzione e lasciare che vengano loro stessi i dettagli, in modo che si sentano come loro proprietari (e in un certo senso, li possiedono).
Quello che devi avere è una sorta di modello mentale di come pensi che funzioni il business e come dovrebbe funzionare il sistema . Devi diventare un esperto di dominio , anche se non sei un esperto della specifica azienda in questione. Fai quante più ricerche possibili sulla tua attività, sui loro concorrenti, sui sistemi esistenti sul mercato e su qualsiasi altra cosa che potrebbe anche essere collegata in remoto.
Una volta a quel punto, ho trovato più efficace lavorare con costrutti di alto livello, come i casi d'uso, che tendono ad essere graditi a tutti, ma è ancora fondamentale porre domande specifiche. Se inizi con "Come fatturare i tuoi clienti?" , stai per un incontro molto lungo. Poni domande che implicano un processo invece di precisare il processo al via: quali sono gli elementi pubblicitari? Come vengono calcolati? Quanto spesso cambiano? Quanti diversi tipi di vendite o contratti ci sono? Dove vengono stampati? Ti viene l'idea.
Se ti manca un passaggio, qualcuno te lo dirà di solito. Se nessuno si lamenta, allora concediti una pacca sulla spalla, perché hai implicitamente confermato il processo.
Rimanda le discussioni fuori tema .
In qualità di analista dei requisiti, ricopri anche il ruolo di facilitatore e, a meno che non ti piaccia davvero passare tutto il tuo tempo alle riunioni, devi trovare un modo per tenere traccia delle cose. Ironia della sorte, questo problema diventa più pernicioso quando finalmente fai parlare le persone. Se non stai attento, può far deragliare il treno per cui hai trascorso così tanto tempo a posare i binari.
Tuttavia - e l'ho imparato nel modo più duro molto tempo fa - non si può semplicemente dire alla gente che un problema è irrilevante . È ovviamente rilevante per loro , altrimenti non ne parlerebbero. Il tuo compito è far sì che la gente dica "sì" il più possibile e creare una barriera del genere ti faccia cadere nel territorio "no".
Questo è un delicato equilibrio che molte persone sono in grado di mantenere con "elementi di azione" - sostanzialmente una coda generica di discussioni a cui hai promesso di tornare a volte , normalmente etichettata con i nomi di quelle parti interessate che pensavano che fosse davvero importante. Questo non è solo per il bene della diplomazia, è anche uno strumento prezioso per aiutarti a ricordare cosa è successo durante le riunioni e con chi parlare se hai bisogno di chiarimenti in seguito.
Diversi analisti gestiscono questo in diversi modi; alcuni come la lavagna molto pubblica o il registro di lavagna a fogli mobili, altri lo inseriscono silenziosamente nei loro laptop e seguono delicatamente altri argomenti. Qualunque cosa ti senta a tuo agio.
Hai bisogno di un ordine del giorno
Questo è probabilmente vero per quasi ogni tipo di riunione, ma è doppiamente vero per le riunioni dei requisiti. Mentre le discussioni continuano, le menti delle persone iniziano a vagare e iniziano a chiedersi quando arriverai alle cose a cui tengono davvero. Avere un'agenda fornisce una struttura e ti aiuta anche a determinare, come menzionato sopra, quando è necessario rinviare una discussione che sta diventando fuori tema.
Non entrare lì senza avere una chiara idea di cosa esattamente vuoi coprire e quando . Senza questo, non hai modo di valutare i tuoi progressi e gli utenti ti odieranno per sempre correndo a lungo (supponendo che non ti odino già per altri motivi).
Deridilo
Se usi PowerPoint o Visio come strumento di simulazione, soffrirai del problema che sembra troppo lucido . È quasi una valle misteriosa di interfacce utente; le persone si sentiranno a proprio agio con i disegni di tovaglioli (o disegni generati dal computer che assomigliano a disegni di tovaglioli, usando uno strumento come Balsamiq o Sketchflow ), perché sanno che non è la cosa reale - lo stesso motivo per cui le persone sono in grado di guardare personaggi dei cartoni animati. Ma più inizia a sembrare una vera interfaccia utente, più le persone vorranno prenderla in considerazione, e più tempo passeranno a discutere di dettagli che alla fine sono insignificanti.
Quindi fai sicuramente dei modelli per testare la tua comprensione dei requisiti ( dopo le fasi iniziali dell'analisi) - sono un ottimo modo per ottenere feedback molto rapidi e dettagliati - ma mantienili in streaming e non affrettarti a prendere in giro fino a quando ' sei abbastanza sicuro di vedere gli occhi dei tuoi utenti.
Tieni presente che un modello non è un risultato , è uno strumento per aiutare a capire. Proprio come non ti aspetteresti di essere tenuto prigioniero del tuo finto quando esegui il design dell'interfaccia utente, non puoi presumere che il design sia OK semplicemente perché hanno dato al tuo mock-up il pollice in su. Ho visto le beffe usate come stampella, o peggio, una scusa per eludere completamente i requisiti; assicurati di non farlo. Torna indietro e trasforma quella derisione in un vero insieme di requisiti.
Essere pazientare.
Questo è difficile da credere per molti programmatori, ma per la maggior parte dei progetti non banali, non puoi semplicemente sederti una volta e mettere a punto una specifica funzionale completa. Non sto solo parlando di pazienza durante un singolo incontro; l'analisi dei requisiti è iterativa allo stesso modo del codice. Il gruppo A dice qualcosa e poi il gruppo B dice qualcosa che contraddice totalmente ciò che hai sentito dal gruppo A. Quindi il gruppo A spiega l'incoerenza e risulta essere qualcosa che il gruppo C ha dimenticato di menzionare. Ripetere 500 volte e hai qualcosa di più o meno simile verità .
A meno che tu non stia sviluppando qualche piccola app CRUD (nel qual caso perché preoccuparsi dei requisiti?), Quindi non aspettarti di ottenere tutto ciò di cui hai bisogno in una riunione, o due o cinque. Ascolterai molto, parlerai molto e ti ripeterai molto. Che non è una cosa terribile, intendiamoci; è un'opportunità per costruire un rapporto con le persone che inevitabilmente firmeranno il tuo risultato.
Non aver paura di cambiare la tua tecnica o improvvisare.
Diversi aspetti di un progetto possono effettivamente richiedere diverse tecniche di analisi. In alcuni casi il classico UML (Usa diagramma caso / attività) funziona alla grande. In altri casi, potresti iniziare con i KSI aziendali, o fare brainstorming con una mappa mentale o tuffarti subito nei modelli nonostante il mio avvertimento precedente.
La linea di fondo è che devi capire tu stesso il dominio e fare i compiti prima di perdere altro tempo. Se sai che un determinato reparto o componente ha un solo caso d'uso, ma è follemente complicato, salta l'analisi del caso d'uso e inizia a parlare di flussi di lavoro o flussi di dati. Se non utilizzi lo stesso strumento per ogni parte dell'implementazione di un'app, perché dovresti usare lo stesso strumento per ogni parte dei requisiti?
Tieni l'orecchio a terra.
Di tutti i suggerimenti e i suggerimenti che ho letto per l'analisi dei requisiti, questo è probabilmente quello che viene trascurato più di frequente. Sinceramente penso di aver imparato di più a intercettare e occasionalmente a interrompere conversazioni più fresche di quelle che ho avuto dalle riunioni programmate.
Se sei abituato a lavorare in isolamento, prova a trovare un punto in cui l'azione è in modo da poter ascoltare le chiacchiere. Se non ci riesci, fai solo giri frequenti, in cucina o in bagno o ovunque. Scoprirai tutti i tipi di cose interessanti su come l'azienda opera realmente ascoltando ciò di cui le persone si vantano o si lamentano durante le pause caffè e fumo.
Infine, leggi tra le righe .
Uno dei miei più grandi errori in passato è stato quello di essere così concentrato sul risultato finale che non mi sono preso il tempo di ascoltare veramente quello che la gente stava dicendo . A volte, per la maggior parte del tempo, potrebbe sembrare che la gente non stia blaterando per nulla o si arrabbia per qualche procedura che ti sembra del tutto inutile, ma se ti concentri davvero su ciò che stanno dicendo, ti renderai conto che c'è davvero un requisito sepolto lì dentro - o diversi.
Per quanto banale e insipido come sembra, il Five Whys è una tecnica davvero utile qui. Ogni volta che hai quella reazione "che è stupida" (non che lo diresti mai ad alta voce), fermati e trasformalo in una domanda: perché? Perché queste informazioni vengono riscritte quattro volte, quindi stampate, fotocopiate, scansionate, stampate di nuovo, appuntate su un pannello truciolare, scattate con una fotocamera digitale e infine inviate via e-mail al responsabile delle vendite? V'è una ragione , e non può sapere di cosa si tratta, ma è il vostro lavoro per scoprirlo. Buona fortuna. ;)