• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Passa al piè di pagina
Glue Labs

Glue Labs

Trasformiamo le tue idee in prodotti digitali di successo!

  • HOME
  • SOLUZIONI
  • NEWS
  • PRODOTTI
  • CONTATTI
  • CASE STUDY

Scetticismo nella progettazione del software ed i Quality Attribute Requirements(QAR)

Garantire la qualità del software diventando scettici sulle funzionalità sviluppate

Il potere del pensiero positivo nell’ambito dello sviluppo applicativo e di software può essere devastante; tale positivismo può farci diventare ciechi rispetto a gravi problemi che il software presenta e che non riusciamo a vedere, ma che certamente emergeranno nel futuro. Mostrare solo dati positivi, magari tralasciando quelli negativi valutandoli basandosi sulle classiche frasi che sentiamo pronunciare nelle varie riunioni come:

  • “Credimi…”;
  • “Questo non dovrebbe essere un problema…”;
  • “Nella mia esperienza…”;
  • “La nostra ricerca ci mostra che…”;

comporta rendere attivi confirmation bias ed ignorare aspetti che ci stanno segnalando che non stiamo facendo le cose correttamente. Anche gli armatori ed i timonieri del Titanic pensavano che la loro nave fosse inaffondabile ed ignorarono numerosi avvisi, tutti sappiamo come è andata a finire.

Lo scetticismo ed i Quality Attribute Requirements(QAR)

Ovviamente auspichiamo che non avvengano mai simili tragedie, ma questi tragici eventi ci devono far rendere conto che spesso occorre mettere da parte il positivismo a tutti i costi ed invece occorre introdurre un sano scetticismo. Scetticismo che non vuol dire negativismo ma semplicemente consapevolezza che qualcosa potrebbe andare storto e che, quindi, dobbiamo collezionare e valutare i dati e le informazioni che ci permettono di predire alcuni malfunzionamenti e/o problemi potendo, pertanto, realizzare le azioni necessarie per correggerli e/o mitigarli.

Scetticismo vuol dire investigare il codice sorgente, testarlo, stressarlo anche attraverso la creazione del caos; tutto questo perchè, quale che sia l’architettura che hai progettato, non puoi essere certo che tutto sia perfetto: gli utenti, i sistemi, gli hacker sono variabili che non puoi controllare direttamente ma puoi mitigare qualsiasi rischio attraverso l’introduzione dello scetticismo.

Renderlo concreto vuol dire progettare i software guardando non solamente ai requisiti funzionali ma anche e soprattutto ai Quality Attribute Requirements(QAR). I QAR rappresentano il valore che ha la funzionalità, valore inteso con logicità e buon senso. Facciamo un esempio: non è un QAR corretto affermare che “l’applicazione deve essere rapida” oppure che “l’applicazione deve essere scalabile” perchè sono affermazione troppo vaghe; nello stesso tempo non è un QAR corretto affermare che “la nuova applicazione deve processare i dati in maniera 10 volte più veloce della precedente” perchè non è realistico. Mentre è corretto un QAR che afferma che “l’applicazione deve fornire i dati rientrando in performance superiori al 90% dei Core Web Vitals“.

Il QAR indicato è reale, ha delle metriche, si può confrontare, è oggettivo ed ha un impatto concreto verso l’utente finale. Occorre inoltre definire i QAR in maniera formale per poter effettivamente garantire che quanto sviluppato corrisponda alla qualità che ci aspettiamo.

Scetticismo in pratica

Chiaramente non è sufficiente scrivere cosa vorremmo da un software per automaticamente ottenerlo ma invece occorre utilizzare strumenti tecnologici, oramai maturi, che mettono sotto stress la nostra applicazione, ne abbiamo parlato nel precedente articolo “Come garantire la qualità del software: code review, stress test, fuzzing ed analisi funzionale“.

A ciò bisogna aggiungere elementi del Behaviour Driven Development(BDD) come le User Story per poter orientare lo sviluppo del software verso il reale utilizzo e non le mere funzionalità.

Sottovalutare gli elementi indicati continuando a concentrarsi solo sulle funzionalità vuol dire affrontare con certezza problemi continui che, avendo una base architetturale errata, continueranno a permanere ed a peggiorare. I casi e gli esempi si sprecano e se hai un software utilizzato da migliaia di persone progettato e realizzato senza QAR, fuzzing, stress test e analisi funzionale probabilmente hai già affrontato numerosi problemi e li starai continuando ad affrontare. Contattaci subito e senza impegno per ristrutturare il tuo software.

Glue Labs e la qualità del software

Abbiamo realizzato applicazioni impiegate in ambito energetico, sanitario e gestionale. Gli ambienti critici in cui il nostro software opera ci hanno permesso di costruire un’importante sensibilità verso la qualità del software, sensibilità che ci permette di fornirti la tua applicazione con garanzia 12 mesi da qualsiasi bug. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo le competenze per progettare, sviluppare e manutenzionare anche in maniera evolutiva le tue applicazioni. Contattaci subito e senza impegno per maggiori informazioni.

Continua la lettura

  1. 5 consigli sulla progettazione di API
  2. Gli 8 passi del ciclo di vita delle API
  3. Come garantire la qualità del software: code review, stress test, fuzzing ed analisi funzionale

Categoria: Articoli Tags: analisi funzionale, chaos engineering, fuzzing, progettazione software, QAR

Barra laterale primaria

Cosa facciamo

  • Content Strategy
  • E-Commerce
  • Formazione avanzata Web, Mobile & Cloud
  • IoT – Sviluppo e Integrazione
  • Micro Live Learning(MLL) Web, Mobile & Cloud
  • Project Management Prince2
  • PushAPE
  • Sicurezza ICT
  • Software Aziendali
  • Sviluppo Mobile App
  • Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
  • System Integration
  • Web Application
  • Web Design

Contatti

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581
Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove siamo

Roma: Piazza Don Sturzo 15
Milano: Via Lazzaretto 19
Torino: Via San Domenico 28
Altamura: Via Maggio 1648 24

"*" indica i campi obbligatori

Nome*
Questo sito è protetto da reCAPTCHA e si applicano le Normative sulla Privacy e i Termini di Servizio di Google.
Inviando i tuoi dati accetti le condizioni sulla Privacy. Li useremo per rispondere alle tue domande e richieste.
Consenso*
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Siamo parte di

La nostra Agenzia di Marketing

Footer

Partnership



Rimaniamo in contatto

Iscriviti alla nostra newsletter

Nome
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Soluzioni

  • Integrazione di Passkey di Google nelle Web e Mobile Application
  • Consulenza, assistenza e supporto di Cloud Engineer
  • Sportello virtuale con il sistema Jitsi
  • Time & Material – Web Designer
  • Corso Angular 16
  • Time & Material personale IT
  • Assistenza, Supporto e Sviluppo NestJS e Node.js
  • Integrazione di Spreaker API con WordPress e Web Application
  • Revisione, validazione, attestazione e Relazione Tecnica su Ricerca & Sviluppo e Innovazione Tecnologica
  • Migrazione da ASP.NET Web Forms e Visual Basic ad Angular Web Application

Articoli

  • Apache Airflow: una piattaforma per l’orchestrazione dei workflow
  • Le novità di Angular 16
  • Come avere uno spazio per dati privati e confidenziali su Cloud: Confidential Space
  • Il modello Zero Trust applicato allo sviluppo software
  • Vonage Dialer per automatizzare le chiamate ed aumentare le vendite
  • Come comunicare con i dispositivi Bluetooth tramite Javascript: Web Bluetooth API
  • PostgreSQL Logical Decoding
  • KWOK : un tool per creare migliaia di nodi Kubernetes in un attimo
  • Le 6R del Cloud Migration: le strategie per passare al Cloud
  • Scetticismo nella progettazione del software ed i Quality Attribute Requirements(QAR)

Le nostre sedi

  • Roma, Piazza Don Sturzo 15
  • Milano, Via Lazzaretto 19
  • Torino, Via San Domenico 28
  • Altamura, Via Maggio 1648 24

Contatti

  • Tel. +39 06 87811067
  • Fax +39 06 99335373
  • glue-labs@legalmail.it
  • info@glue-labs.com
  • Facebook
  • LinkedIn
  • Twitter

Scarica app da App StoreScarica app da Play Store


Glue Labs © 2011–2023 | Copyright | Privacy Policy | Codice Etico | Company Info | Cookie Policy

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
La conservazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire la fruizione di uno specifico servizio esplicitamente richiesto dall'abbonato o dall'utente, o al solo fine di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente a fini statistici anonimi. Senza un mandato di comparizione, il rispetto volontario da parte del tuo provider di servizi Internet o registrazioni aggiuntive da parte di terzi, le informazioni archiviate o recuperate solo per questo scopo non possono essere generalmente utilizzate per identificarti. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
L'archiviazione tecnica o l'accesso è necessario per creare profili utente per inviare pubblicità o per tracciare l'utente su un sito Web o su più siti Web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
Gestisci preferenze
{title} {title} {title}