Archivi categoria: analisi

Come scrivere i requisiti – la Guida di INCOSE

La scrittura dei requisiti è importante per qualunque progetto. È importante perché ogni ambiguità nei requisiti provoca danni per i progetti: aumento dei difetti nei prodotti, aumento dei costi, ritardi nei tempi di realizzazione.

La Guida per la scrittura dei requisiti (“Guide for Writing Requirements”), pubblicata da Incose (International Council on Systems Engineering) nel 2019, fornisce indicazioni utili e concrete per la redazione delle specifiche.

Non è certamente l’unica guida disponibile: sulla scrittura dei requisiti sono stati pubblicati molti libri e centinaia di articoli.

La Guida per la scrittura dei requisiti di Incose ha comunque un paio di punti di forza che la distinguono:

  • È frutto del lavoro ultradecennale del Requirements Working Group di Incose, formato da aziende ed esperti che operano in settori critici dell’ingegneria dei sistemi e del software
  • È conforme allo standard ISO 29148: 2018 (“Systems and software engineering — Life cycle processes — Requirements engineering”)

Una sintesi degli elementi chiave della Guida per la scrittura dei requisiti (che ha avuto un aggiornamento minore nel 2022) è disponibile qui: https://analisi-disegno.com/guida-per-la-scrittura-dei-requisiti/

La versione completa della Guida è disponibile sul sito di INCOSE: https://www.incose.org

Intelligenza artificiale e analisi

L’intelligenza artificiale generativa può fornire un aiuto significativo alle attività di analisi dei sistemi e dei processi.

Ma non ci si può fidare troppo, e bisogna imparare a usarla.

Non ci si può fidare troppo, perché può sbagliare, e a volte sbaglia. Fa tutto rapidamente, ma va controllata. E per controllarla servono analisti competenti sulle tecniche di analisi, che verifichino la correttezza di quello che produce.

E bisogna imparare a usarla. Cioè a guidare le conversazioni in modo appropriato, usando le tecniche di Prompt Engineering (progettazione dei comandi), per evitare di perdere tempo e di non riuscire a capire come si possono ottenere i risultati desiderati.

Ho creato quindi un nuovo corso: Prompt Engineering – usare al meglio l’IA generativa .

Come gli altri miei corsi, anche questo è incentrato su una serie cospicua di esercitazioni, per permettere a chi partecipa di assimilare i concetti teorici con esperienze pratiche guidate.

Prossimamente pubblicherò anche i risultati delle mie esperienze con l’utilizzo dell’intelligenza artificiale generativa per le attività di analisi, in particolare per:

-la definizione dei requisiti

-la specifica di funzionalità

-la modellazione dati

-la verifica della conformità agli standard di diagrammi UML, SysML, BPMN.

Certificazioni per analisti

Esistono diverse certificazioni per analisti, in particolare per i ruoli di Ingegnere dei requisiti (Requirement Engineer) e di Analista business (Business Analyst).

Sono promosse da organizzazioni che propongono servizi di formazione e consulenza mirati appunto alla certificazione di competenze, svolti direttamente o tramite partnership con altri soggetti.

Le certificazioni possono costituire un vantaggio per chi si muove nel mercato del lavoro, come credenziali da fornire alle aziende che le ritengono valide.

Ho pubblicato una pagina con i riferimenti alle organizzazioni che propongono i sistemi di certificazione più diffusi: https://analisi-disegno.com/certificazioni-per-analisti/

Plain Language

Scrivere in modo semplice (Plain Language) per farsi capire meglio da chi ci leggerà.

E’ importante sempre, e lo è in particolare per le specifiche dei requisiti e di analisi dei sistemi informatici, condivise e lette da persone con ruoli diversi:

  • committenti, utenti e altre parti interessate (stakeholder)
  • progettisti e sviluppatori software
  • tester (verificatori del corretto funzionamento del sistema)
  • redattori di manuali operativi

In questa pagina ho riportato una serie di indicazioni e riferimenti: Scrivere in modo semplice.

Un articolo recente del Nielsen Norman Group sottolinea l’importanza del Plain Language anche quando si scrive per un pubblico di esperti: Plain Language Is for Everyone, Even Experts.

La prossima apocalisse software

La prossima apocalisse software, The Coming Software Apocalipse, avverrà perché stiamo realizzando sistemi che vanno oltre la nostra capacità intellettiva.

The Coming Software Apocalipse, un articolo di James Somers su The Atlantic, descrive come la troppa enfasi sul codice, e la poca attenzione ai requisiti e al ragionare per modelli, crea rischi insostenibili in un mondo sempre più regolato dal software.

Casi d’uso infrastrutturali

Proseguendo nell’opera di adeguamento della tecnica dei casi d’uso (Use-cases 2.0) Jacobson propone la definizione di casi d’uso infrastrutturali, per integrare gli aspetti non funzionali – essenziali per la gestione di ogni sistema, ma “interni” – che non trovavano posto nelle versioni iniziali della sua teoria.

Dall’articolo Use-Case 2.0, apparso su Communications of the ACM, maggio 2016:

Handling all types of requirements

Although they are one of the most popular techniques for describing systems’ functionality, use cases are also used to explore non-functional characteristics. The simplest way of doing this is to capture them as part of the use cases themselves—for example, relating performance requirements to the time taken between specific steps of a use case or listing the expected service levels for a use case as part of the use case itself.

Some non-functional characteristics are subtler than this and apply to many, if not all, of the use cases. This is particularly true when building layered architectures, including infrastructure components such as security, transaction management, messaging services, and data management. The requirements in these areas can still be expressed as use cases—separate use cases focused on the technical usage of the system. These additional use cases are called infrastructure use cases, as the requirements they contain will drive the creation of the infrastructure on which the application will run.