Lo scopo della gestione dei requisiti è garantire che gli obiettivi di sviluppo del software e del prodotto siano soddisfatti. Se eseguito in modo efficace, favorisce la comunicazione con gli stakeholder durante l'intero ciclo di vita dell'ingegneria e del progetto, garantendo che il prodotto finale soddisfi le loro aspettative e le esigenze degli utenti. Può anche aiutare i team di progetto a rilevare precocemente gli errori, riducendo i costi e i rischi del progetto.
La gestione dei requisiti si ritrova nella gestione del ciclo di vita delle applicazioni (ALM), nello sviluppo software, nell'ingegneria del software e nei metodi di sviluppo agili. Mentre la gestione del progetto in questi scenari garantisce che sia completato in modo efficiente e nei tempi previsti, la gestione dei requisiti garantisce che il prodotto finale sia compilato correttamente.
Il product manager è in genere responsabile dello sviluppo e della cura dei requisiti. Tuttavia, i requisiti possono essere influenzati da qualsiasi stakeholder, inclusi clienti, partner, vendite, supporto, gestione, progettazione, operazioni e team di prodotto.
Newsletter di settore
Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.
L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.
Secondo l'Institute of Electrical and Electronics Engineers (IEEE) Standard Glossary of Software Engineering Terminology, un requisito è definito come:
"(1) Una condizione o funzionalità necessaria a un utente per risolvere un problema o raggiungere un obiettivo. (2) Una condizione o una funzionalità che deve essere soddisfatta o posseduta da un sistema o da un componente di sistema per soddisfare un contratto, una norma, una specifica o altri documenti formalmente imposti. (3) Una rappresentazione documentata di una condizione o funzionalità come in (1) o (2)".
In altre parole, i requisiti sono tutte le informazioni relative alle aspettative degli stakeholder e alle esigenze degli utenti per un nuovo sistema, prodotto o applicazione. Queste aspettative ed esigenze potrebbero includere requisiti testuali, casi d'uso, diagrammi e descrizioni di caratteristiche. Nel contesto agile, i requisiti includono storie e avventure degli utenti.
I team di progetto utilizzano i requisiti anche per acquisire informazioni che altrimenti potrebbero essere assenti dai backlog del prodotto. Ad esempio, i requisiti possono includere informazioni relative a requisiti non funzionali, descrizioni delle caratteristiche, note di riunioni degli stakeholder e decisioni sull'architettura.
Si ritiene comunemente che esistano tre tipi di requisiti:
Questi requisiti sono le aspettative, le metriche e le esigenze aziendali che devono essere soddisfatte affinché il sistema raggiunga gli obiettivi dell'organizzazione.
Questi requisiti definiscono le caratteristiche e le funzioni di un sistema necessarie per soddisfare le aspettative e le esigenze degli utenti finali.
Indicati anche come requisiti tecnici, questi requisiti includono dettagli sulla tecnologia sottostante che sono vitali per il successo del risultato finale.
I requisiti possono anche essere classificati in tre categorie: funzionali, non funzionali e di dominio.
I requisiti funzionali si riferiscono alla funzionalità di un nuovo sistema, prodotto o applicazione. Questi requisiti sono misurabili e fondamentali per soddisfare le aspettative e le esigenze degli utenti finali.
Esempio: il software dovrebbe consentire agli utenti di accedere con i propri account IBM.
I requisiti non funzionali si riferiscono alle prestazioni dei requisiti funzionali di un sistema, prodotto o applicazione. Ad esempio, la sicurezza, l'affidabilità e l'usabilità di un sistema sono tutti requisiti non funzionali.
Esempio: il portale di online banking dovrebbe caricarsi completamente entro tre secondi dall'accesso.
I requisiti di dominio si riferiscono a regolamenti, standard, regole e terminologie specifiche all'interno di un settore o dominio a cui il sistema, il prodotto o l'applicazione devono aderire.
Esempio: l'applicazione sanitaria deve essere conforme ai requisiti dell'Health Insurance Portability and Accountability Act (HIPAA).
I prodotti sono validi solo se soddisfano i requisiti di base. La gestione dei requisiti garantisce che i progetti soddisfino in modo efficiente le esigenze e le aspettative degli stakeholder e degli utenti. La gestione dei requisiti riduce al minimo la possibilità di difetti, rischi e costi, consentendo al contempo una consegna più rapida, riutilizzabilità e tracciabilità.
La gestione dei requisiti è particolarmente critica oggi, poiché l'Internet of Things (IoT) ha cambiato non solo il funzionamento dei prodotti, ma anche il processo di progettazione e sviluppo. I prodotti diventano sempre più "intelligenti" e complessi, con più linee di codice e software aggiuntivo. La gestione dei requisiti aiuta le aziende a superare la complessità e le interdipendenze degli attuali cicli di vita dello sviluppo e dell'ingegneria del software, per snellire lo sviluppo del prodotto e accelerare la distribuzione.
I problemi nella gestione dei requisiti sono spesso citati quali cause principali del fallimento dei progetti. Disporre di requisiti definiti in modo inadeguato può comportare una riduzione della portata del progetto, così come ritardi, costi eccessivi e una scarsa qualità del prodotto che non soddisfa le esigenze e i requisiti di sicurezza degli stakeholder.
Un piano di gestione dei requisiti (RMP) aiuta a spiegare come un team di progetto riceve, analizza, documenta e gestisce tutti i requisiti all'interno di un progetto. Il piano di solito copre tutto, dalla raccolta iniziale delle informazioni ai requisiti di prodotto più dettagliati raccolti dal team durante il ciclo di vita del progetto.
Esistono diversi elementi chiave da definire in un piano di gestione dei requisiti: la panoramica del progetto, il processo di raccolta dei requisiti, i ruoli e le responsabilità, gli strumenti e la tracciabilità.
Disporre di un piano di gestione dei requisiti è fondamentale per il successo di un progetto perché consente ai team di progettazione di controllare l'ambito e dirigere il ciclo di vita dello sviluppo del prodotto. Il software di gestione dei requisiti fornisce gli strumenti per eseguire un piano, contribuendo a ridurre i costi, accelerare il time to market e migliorare il controllo della qualità.
Un tipico processo di gestione dei requisiti integra il modello V di ingegneria dei sistemi, un approccio che attribuisce lo stesso peso sia alla verifica che alla convalida. Un workflow di gestione dei requisiti potrebbe seguire questi passaggi:
Le fasi di questo processo possono aiutare i team a gestire la complessità insita nello sviluppo di prodotti intelligenti e connessi. Le soluzioni di gestione dei requisiti possono anche contribuire a semplificare il processo, ottimizzando la velocità di immissione sul mercato, ampliando le opportunità e migliorando la qualità.
Tradizionalmente, gli ingegneri di sistema e i team di progettazione dei prodotti gestivano i requisiti utilizzando fogli di calcolo Excel, e-mail, wiki e altri strumenti. Ma nell'era dell'IoT e della crescente complessità dei requisiti, questi team hanno bisogno di una migliore visibilità delle modifiche, di un insight più approfondito dei dati e di strumenti condivisi per la collaborazione globale.
Gli strumenti di gestione digitale dei requisiti aiutano a tenere traccia delle modifiche ai requisiti in un luogo sicuro, centrale e accessibile, che consente una maggiore collaborazione tra i membri del team. Una maggiore trasparenza riduce al minimo le rielaborazioni e migliora l'agilità, contribuendo a garantire che i requisiti siano conformi agli standard industriali o normativi.
L'intelligenza artificiale (AI) aumenta ulteriormente la gestione dei requisiti digitali. La tecnologia che consente a computer e macchine di simulare l'apprendimento umano, il processo decisionale e l'autonomia può anche aiutare a gestire i crescenti dati e la complessità della gestione dei requisiti, migliorando la qualità e riducendo i tempi di ciclo.
I benefici dell'AI e della gestione digitale dei requisiti includono:
Le soluzioni automatizzate per i requisiti basate sul cloud consentono ai membri del team di collaborare in tempo reale, condividendo le informazioni all'interno dei documenti e tra un documento e l'altro, indipendentemente dalla posizione. Le organizzazioni possono gestire e monitorare digitalmente l'intero processo di controllo delle versioni e delle varianti attraverso dashboard condivise e notifiche tramite e-mail. In questo modo, i team hanno sempre accesso alle informazioni più recenti e precise quando ne hanno bisogno.
Gli strumenti tradizionali di gestione dei requisiti non sono in grado di annotarne le specifiche senza alterare la struttura e il contesto originali. Nei programmi di elaborazione testi, gli utenti devono quindi copiare i requisiti dai documenti ai fogli di calcolo e sincronizzare manualmente le modifiche tra le diverse versioni. La gestione dei requisiti digitali consente ai team di creare dei modelli per semplificare le strutture informative, consentendo una collaborazione globale e una singola fonte affidabile.
Questi strumenti possono automatizzare la creazione e la manutenzione delle relazioni nell'intero ciclo di vita dello sviluppo, comprese le relazioni tra i requisiti del progetto, gli elementi di lavoro, l'architettura, il design e i piani di test. Ad esempio, possono collegare i singoli artefatti ai casi di test per avere una visibilità completa delle modifiche man mano che si verificano. Una maggiore tracciabilità aiuta i team anche a raggiungere la conformità con le richieste di audit in modo più efficiente. Inoltre, li aiuta a comprendere gli impatti dei cambiamenti per una risposta più appropriata nella gestione del cambiamento.
Con le soluzioni di gestione dei requisiti digitali, i team possono utilizzare lo stesso requisito in più luoghi, senza doverlo ridefinire. Questa caratteristica consente alle aziende di creare in modo più efficiente versioni, varianti e prototipi di prodotti e sistemi. Una copia "master" garantisce che le modifiche apportate a una versione vengano estese a tutte le istanze. I team possono creare delle baseline per identificare lo stato di un requisito in tempo reale, così da ridurre il verificarsi di errori dell'utente.
Alcuni strumenti utilizzano le funzionalità di elaborazione del linguaggio naturale (NLP) per migliorare la completezza, la coerenza e l'accuratezza dei requisiti durante la scrittura. La tecnologia potenzia il lavoro umano per eliminare le ambiguità ed evitare errori costosi. Apprendimento automatico (ML) (ML) consente a uno strumento di apprendere sfumature e contesto, quindi più i team lo utilizzano, più diventa intelligente.
Crea un business più resiliente con le soluzioni basate sull'AI per la gestione intelligente degli asset e per la supply chain.
Trasforma le operazioni aziendali con IBM utilizzando dati completi e potenti tecnologie basate sull'AI per integrare i processi di ottimizzazione.
IBM Cloud Pak for Business Automation è un set modulare di componenti software integrati per la gestione dell'esercizio dell'automazione.