# Prezzi: come misuriamo la dimensione e il prezzo del software

Mesterséges Intelligencia Központ Kft. è un'azienda di sviluppo software con sede a Budapest. Non calcoliamo il prezzo da una stima delle ore: misuriamo la dimensione funzionale del software in punti funzione COSMIC (ISO/IEC 19761) e ne ricaviamo l'offerta e la pianificazione.

> **In sintesi:** prima descriviamo insieme che cosa deve saper fare il software, poi ne misuriamo la dimensione, e dalla dimensione misurata ricaviamo prezzo e pianificazione. Per questo non indichiamo un prezzo dopo una prima telefonata, e per questo non pubblichiamo nemmeno un listino prezzi.

## Perché misuriamo la dimensione invece di stimare le ore?

La stima in ore dice quanto lavoro si aspetta chi stima, e questo dipende dalla sua esperienza, dalla sua prudenza e dal suo team. Per lo stesso compito due aziende possono indicare numeri di ore molto diversi, e dall'esterno non si capisce su che cosa si basi ciascuna stima.

La dimensione funzionale, invece, è una proprietà del software stesso: misura che cosa deve saper fare, non chi lo costruisce e come. Per questo è verificabile, si può misurare di nuovo e consente di confrontare due offerte.

## Che cos'è il punto funzione COSMIC?

COSMIC è uno dei metodi standardizzati a livello internazionale per misurare la dimensione funzionale del software (ISO/IEC 19761). Conta quanti movimenti di dati ci sono nei processi funzionali del software. I movimenti di dati sono di quattro tipi:

| Movimento di dati | Che cosa significa | Esempio |
|---|---|---|
| Entry (ingresso) | i dati arrivano dall'utente o da un altro sistema | il cliente invia il modulo d'ordine |
| Exit (uscita) | i dati escono verso l'utente o un altro sistema | il sistema invia una conferma |
| Read (lettura) | il software legge dati memorizzati | carica gli ordini precedenti del cliente |
| Write (scrittura) | il software memorizza dati | salva il nuovo ordine |

Ogni movimento di dati vale 1 punto funzione COSMIC (CFP), e la dimensione del software è la loro somma. Un processo semplificato di «registrazione di un ordine», ad esempio, è composto da un ingresso, una lettura, una scrittura e un'uscita, cioè 4 CFP. La misurazione è indipendente dal linguaggio di programmazione, dalla tecnologia e dal team che ci lavora. Il nostro articolo [Che cos'è il punto funzione COSMIC e in che cosa differisce dalla stima in ore?](https://www.mestersegesintelligenciakozpont.hu/it/base-di-conoscenza/punti-funzione-cosmic) presenta il metodo con un esempio svolto e con i suoi limiti.

## Come si passa dalla dimensione all'offerta e alla pianificazione?

1. **Specifica:** descriviamo insieme, voce per voce, le funzioni, gli attori e i dati (veda: [Come lavoriamo](https://www.mestersegesintelligenciakozpont.hu/it/come-lavoriamo)).
2. **Misurazione:** un nostro flusso di lavoro assistito dall'intelligenza artificiale misura i gruppi di funzioni con più conteggi indipendenti l'uno dall'altro, e un giro di riconciliazione garantisce che ogni processo conti esattamente una volta.
3. **Revisione:** esaminiamo la misurazione e chiariamo i punti incerti.
4. **Offerta:** il prezzo deriva dalla dimensione misurata, integrato da ciò che la dimensione funzionale non esprime (veda sotto).
5. **Pianificazione:** vediamo la dimensione anche per ciascun gruppo di funzioni, così su questa base impostiamo anche le fasi, l'ordine e le scadenze.

Se strada facendo nasce una nuova esigenza, la misuriamo allo stesso modo, così si vede sempre di quanto cambia la portata del lavoro e che cosa significa per il prezzo e per la pianificazione.

## Che cos'altro influisce sul costo?

La dimensione funzionale misura che cosa fa il software, ma non tutto ciò che comporta lavoro. La misurazione segnala a parte i fattori seguenti, così non restano nascosti nemmeno nell'offerta:

- **Integrazioni:** a quanti sistemi esterni bisogna collegarsi e quanto sono ben documentate le loro interfacce.
- **Requisiti non funzionali:** prestazioni, disponibilità, sicurezza dei dati, accessibilità.
- **Interfaccia e grafica personalizzate:** il design su misura e gli elementi visivi unici.
- **Più piattaforme:** quando dello stesso software servono una versione web, una per iOS e una per Android.
- **Migrazione dei dati:** il trasferimento dei dati del vecchio sistema in quello nuovo.
- **Calcoli complessi e funzionamento in tempo reale:** algoritmi, flussi di dati in diretta.

La gestione dopo la consegna è una voce a parte: l'esercizio, la manutenzione e l'ulteriore sviluppo e, per le funzioni di IA, la tariffa a consumo dei modelli linguistici. Ne parliamo anche nelle domande qui sotto.

## Perché così due offerte diventano confrontabili?

Se due offerte partono dalla stessa specifica e dalla stessa dimensione misurata, riguardano la stessa portata: si vede quanto chiedono le due aziende per la stessa cosa e che cosa addebitano a parte. Le ore non si possono confrontare allo stesso modo, perché l'ora non è una proprietà del software. COSMIC è un metodo pubblico e standardizzato, perciò la nostra misurazione può verificarla anche qualcun altro. Conviene chiedere anche agli altri offerenti per quale portata hanno formulato il loro prezzo.

## Domande frequenti

### Perché non indicate un prezzo al telefono?

Al telefono non indichiamo un prezzo perché il prezzo di un software dipende da che cosa deve saper fare, e questo non si può misurare in modo responsabile in una breve telefonata. La prima consulenza è gratuita: dopo descriviamo insieme le esigenze, misuriamo la dimensione e su questa base formuliamo un'offerta. Può richiedere un appuntamento nella pagina [Contatti](https://www.mestersegesintelligenciakozpont.hu/it/contatti).

### Che cosa rende più costoso uno sviluppo?

Uno sviluppo diventa più costoso soprattutto se contiene più funzioni, cioè più movimenti di dati. Possono inoltre aumentarne il costo i fattori indicati sopra: integrazioni numerose o mal documentate, requisiti rigorosi di prestazioni e sicurezza, grafica personalizzata, più piattaforme o la migrazione di molti dati.

### Quanto costa la gestione?

Il costo della gestione dipende da che cosa comprende: l'hosting e l'esercizio, gli aggiornamenti, la correzione degli errori, l'ulteriore sviluppo e, per le funzioni di IA, la tariffa a consumo dei modelli linguistici. Il contenuto della gestione lo adattiamo al sistema concreto; gli sviluppi successivi li misuriamo allo stesso modo del primo. Ad altre domande rispondiamo nella pagina [Domande frequenti](https://www.mestersegesintelligenciakozpont.hu/it/domande-frequenti).
