Analisi aziendale - Requisiti Mngmt
La raccolta dei requisiti software è la base dell'intero progetto di sviluppo software. La richiesta e la raccolta dei requisiti aziendali è un primo passo fondamentale per ogni progetto. Al fine di colmare il divario tra requisiti aziendali e tecnici, gli analisti aziendali devono comprendere appieno le esigenze aziendali nel contesto dato, allineare queste esigenze con gli obiettivi aziendali e comunicare adeguatamente le esigenze sia agli stakeholder che al team di sviluppo.
Le principali parti interessate desiderano che qualcuno possa spiegare le esigenze del cliente / cliente in un inglese semplice. Questo li aiuterà a comprendere il valore ad alto livello? Questa sarà l'area di interesse principale, poiché cercheranno di mappare la documentazione con i requisiti e su come BA potrebbe comunicare nel miglior modo possibile.
Perché i progetti falliscono
Ci sono molte ragioni per cui i progetti falliscono, ma alcune delle aree comuni includono quanto segue:
- Mercato e fallimento della strategia
- Fallimenti organizzativi e di pianificazione
- Fallimenti di qualità
- Fallimenti di leadership e governance
- Abilità, conoscenza e insuccessi di competenza
- Impegno, lavoro di squadra e errori di comunicazione
Al centro della questione c'è che i progetti sono sempre più complessi, i cambiamenti avvengono e la comunicazione è impegnativa.
Perché i team di successo fanno la gestione dei requisiti
La gestione dei requisiti consiste nel mantenere la tua squadra in-sync e fornire visibility a cosa sta succedendo all'interno di un progetto.
È fondamentale per il successo dei tuoi progetti che tutto il tuo team capisca cosa stai costruendo e perché: è così che definiamo la gestione dei requisiti. Il "perché" è importante perché fornisce contesto agli obiettivi, feedback e decisioni prese sui requisiti.
Ciò aumenta la prevedibilità del successo futuro e dei potenziali problemi, consentendo al team di correggere rapidamente eventuali problemi e completare con successo il progetto in tempo e nel rispetto del budget. Come punto di partenza, è importante che tutte le persone coinvolte abbiano una conoscenza di base di cosa sono i requisiti e come gestirli.
Cominciamo con le basi
Un requisito è una condizione o capacità necessaria a uno stakeholder per risolvere un problema o raggiungere un obiettivo. Una condizione o capacità che deve essere soddisfatta o posseduta da un sistema o sistema. Componente per soddisfare un contratto, uno standard, una specifica o altri documenti imposti formalmente.
Un requisito può essere espresso con testo, schizzi, mockup dettagliati o modelli, qualunque informazione comunichi meglio a un ingegnere cosa costruire e a un responsabile QA cosa testare. A seconda del processo di sviluppo, potresti utilizzare una terminologia diversa per acquisire i requisiti.
I requisiti di alto livello sono talvolta indicati semplicemente come needs o goals. All'interno delle pratiche di sviluppo del software, i requisiti potrebbero essere indicati come "casi d'uso", "caratteristiche" o "requisiti funzionali". Ancora più specificamente all'interno di metodologie di sviluppo agile, i requisiti vengono spesso acquisiti comeepics e stories.
Indipendentemente da come li chiama il tuo team o da quale processo utilizzi; i requisiti sono essenziali per lo sviluppo di tutti i prodotti. Senza una chiara definizione dei requisiti si potrebbe produrre un prodotto incompleto o difettoso. Durante tutto il processo possono essere coinvolte molte persone nella definizione dei requisiti.
Uno stakeholder potrebbe richiedere una funzionalità che descriva come il prodotto fornirà valore nella risoluzione di un problema. Un designer potrebbe definire un requisito in base all'aspetto o alle prestazioni del prodotto finale dal punto di vista dell'usabilità o dell'interfaccia utente.
Un analista aziendale potrebbe creare un requisito di sistema che aderisce a specifici vincoli tecnici o organizzativi. Per i prodotti sofisticati e le applicazioni software di oggi in fase di realizzazione, spesso sono necessari centinaia o migliaia di requisiti per definire in modo sufficiente l'ambito di un progetto o di una versione. Pertanto, è fondamentale che il team sia in grado di accedere, collaborare, aggiornare e testare ogni requisito fino al completamento, poiché i requisiti cambiano e si evolvono naturalmente nel tempo durante il processo di sviluppo.
Ora che abbiamo definito il valore della gestione dei requisiti ad alto livello, andiamo più a fondo nei quattro fondamentali che ogni membro del team e stakeholder può trarre vantaggio dalla comprensione:
- Pianificare buoni requisiti: "Cosa diavolo stiamo costruendo?"
- Collaborazione e buy-in: "Basta approvare le specifiche, già!"
- Tracciabilità e gestione del cambiamento: "Aspetta, gli sviluppatori sanno che è cambiato?"
- Garanzia di qualità: "Ciao, qualcuno ha provato questa cosa?"
Tutti sanno cosa stiamo costruendo e perché? Questo è il valore della gestione dei requisiti.
Collaborazione e buy-in dagli stakeholder
Sono tutti nel giro? Abbiamo l'approvazione dei requisiti per andare avanti? Queste domande sorgono durante i cicli di sviluppo. Sarebbe fantastico se tutti potessero essere d'accordo sui requisiti, ma per grandi progetti con molti stakeholder, questo di solito non accade. Cercare di mettere tutti d'accordo può far ritardare le decisioni o, peggio, non prendere affatto. Ottenere il consenso su ogni decisione non è sempre facile.
In pratica, non si vuole necessariamente il "consenso", ma il "consenso" dal gruppo e l'approvazione da parte di chi ha il controllo in modo da poter portare avanti il progetto. Con il consenso, stai cercando di convincere tutti a scendere a compromessi e concordare sulla decisione. Con il buy-in, stai cercando di convincere le persone a sostenere la soluzione migliore, a prendere una decisione intelligente e a fare ciò che è necessario per andare avanti.
Non è necessario che tutti concordino sul fatto che la decisione è la migliore. Hai bisogno che tutti supportino la decisione. La collaborazione in team può aiutare a ricevere supporto sulle decisioni e nella pianificazione di buoni requisiti.
I team collaborativi lavorano duramente per assicurarsi che tutti abbiano un interesse nei progetti e forniscano feedback. I team collaborativi condividono continuamente idee, in genere hanno una comunicazione migliore e tendono a supportare le decisioni prese perché c'è un senso condiviso di impegno e comprensione degli obiettivi del progetto.
È quando sviluppatori, tester o altre parti interessate si sentono "fuori dal giro" che sorgono problemi di comunicazione, le persone si sentono frustrate e i progetti subiscono ritardi. Una volta che tutti hanno accettato lo scopo del lavoro, è imperativo che i requisiti siano chiari e ben documentati. Tenere traccia di tutti i requisiti è dove le cose si complicano.
Immagina di avere una lista di cose da fare lunga un miglio che implica la collaborazione con più persone per essere completata. Come manterresti tutti quegli oggetti dritti? Come monitoreresti come una modifica a un articolo influirà sul resto del progetto? È qui che la tracciabilità e la gestione del cambiamento aggiungono valore.