Le priorità del software

La scala dei valori del Software

Analizziamo valori e priorità la cui consapevolezza è utile nel pianificare un software: Porsi le domande giuste e darsi le risposte corrette è critico durante la progettazione di una soluzione.

La scala di Maslow

Lo psicologo Abraham Maslow ha concepito il concetto di gerarchia dei bisogni divulgandone il succo attraverso la “Scala di Maslow”.

La scala di Maslow rappresenta i bisogni primari delle persone raggruppandoli in 5 categorie ordinate per importanza:

Scala di maslow italiano

Secondo Maslow l’individuo medio nella realizzazione di diverse esigenze dà la priorità a quelle che rispondono a bisogni più in basso e non ancora realizzati.

La scala dei bisogni del software

Che cosa c’entra la scala di Maslow con il software?

La risposta è che creando software le persone e le logiche business stabiliscono dei bisogni con priorità differenti, che mediamente riscontriamo nello stesso ordine e che in qualche modo fanno riferimento a valori paralleli nella scala di Maslow:

scala priorita maslow ethicsoft software valori

Vediamoli in ordine di importanza:

Priorità critica

Salvaguardia delle persone

Useresti un software che vi fa rischiare la vita?

Affideresti un paziente ospedaliero a una macchina con dentro un programma mal funzionante? Faresti controllare lo stato dei freni da una centralina difettosa?

Ovviamente no.

Questo valore è talmente fondamentale e importante da risultare scontato, tanto che paradossalmente è il meno menzionato perché sottinteso.

Protezione da danni economici

In campo informatico esistono diversi modi in cui un software può causare danni, per suo malfunzionamento o per mancata gestione di imprevisti nell'ambiente con cui interagisce:

  • Comandi errati o mancati comandi a macchine in azione, che causano danni fisici a beni materiali.
  • Perdita o compromissione di dati importanti, es. contabilità.
  • Messaggi importanti, con ripercussioni su business o sicurezza, errati o non inviati.
  • Dati da cui dipendano decisioni importanti, elaborati in modo errato.

Tutti questi problemi possono causare perdite di tempo come minimo (in ambito business il tempo è denaro!) e talvolta ingenti danni economici e implicazioni legali (si pensi ad una azienda che sbaglia gli importi di contabilità nel momento in cui deve trasmetterle all’agenzia delle entrate...).

Anche se non sono in gioco vite umane, questa tipologia di problemi può dunque portare a conseguenze molto gravi e assume l’importanza più grande, dopo la salvaguardia della salute umana.

Priorità normale

Correttezza funzionale

Salvaguardate le persone e le loro tasche, il software deve svolgere correttamente il suo compito.

Immaginiamo di avere una calcolatrice in cui non funzionasse il tasto “+”: Non può comprometterci più di tanto ne tanto meno mettere a rischio la nostra salute (eccetto che in un esame!), possiamo comunque dire che è molto poco utile.

La corretta realizzazione di tutte le funzioni offerte è il prossimo valore da realizzare una volta che sia garantita la sicurezza di persone e cose.

User Experience

L'user experience consiste nella cxoniugazione di usabilità e grafica.

Posto che l'applicazione non danneggi nessuno e faccia quello che deve fare, tra due alternative probabilmente sceglieremo (tutti tranne i masochisti) di usare quella che ci riesce meglio di usare.

Un software arrivato a questo punto di soddisfacimento dei bisogni cerca di offrire le proprie funzionalità all’utente nel modo più agevole e appetibile possibile.

Nella user experience sono incluse tutte le interazioni con tutti gli stakeholders: Per questo motivo la SEO, ovvero l'ottimizzazione per la "user experience dell'utente google" che visita un sito, è inclusa in questo livello di priorità

Priorità bassa

Qualità del codice

Anche se l’utente finale non si accorgerà mai della differenza, gli sviluppatori che dovranno aggiornare o modificare il software saranno ben consapevoli di quanto risparmio di tempo (e imprecazioni) comporti avere un software scritto in modo leggibile e ben organizzato.

Il software leggibile è automaticamente mantenibile a metà o meno del costo del software non leggibile, tanto che spesso si fa prima a rifare un codice illeggibile piuttosto che intervenire per modificarlo. Il fatto poi che sia ben organizzato riduce a meno della metà i costi di manutenzione evolutiva, ovvero estensione o modifica delle funzionalità.

Desiderata

Tutti i prodotti del mondo sono perfettibili.

Se fate bene il vostro lavoro sicuramente vi verranno in mente altre cose da modificare o migliorare, e quelle vanno messe a questo livello di priorità, ovvero quanto tutto il resto è a posto.

Conclusioni

Ricordiamoci sempre che la soluzione ad un problema non può lasciarne uno più grave, altrimenti meglio lasciar perdere, quindi lavorando su un livello delle priorità evitiamo di intaccarne uno più alto.

Da queste considerazioni possiamo anche ricavare un utile insieme classificazione delle criticità dei problemi del software, con cui classificare le segnalazioni e i requisiti.

Licenza:
I contenuti di questo articolo sono proprietà intellettuale dei relativi autori e protetti ai sensi dell'art. 1 della legge italiana sul diritto d'autore n. 633 del 22 aprile 1941.
La copia, parziale o integrale, è illegale escluso il caso di citazioni di lunghezza massima di un singolo paragrafo e il cui testo sia completamente incluso in un link a questa pagina.
Pagine simili a "Le priorita del software"