Riflessioni

Pubblicazioni dal team Jaewa: articoli su incertezza, modelli di lavoro, deontologia e trasparenza, approfondimenti tecnici e casi di studio.

Misurare il progresso invece dell'attività

Diversi anni fa arrivò il TDD, il Test Driven Development. L'idea di fondo era semplice: il numero di errori che un compilatore, anche il migliore, può trovare in un software è minuscolo rispetto ai problemi che emergono a runtime, quando il sistema viene davvero utilizzato. La proposta del TDD era apparentemente banale: scrivere, oltre al codice applicativo, anche codice di test, cioè software che esegue automaticamente altro software per verificare che…

Valeriano Sandrucci

Nel software, la collaborazione è necessità ingegneristica, oltre che valore etico

In Jaewa ci occupiamo da anni di integrazione tra sistemi, reingegnerizzazione di software legacy, architetture distribuite e sviluppo di soluzioni su misura; lavoriamo con aziende strutturate, PMI, prodotti interni, piattaforme operative critiche ed ecosistemi in cui vari sistemi si sono sedimentati nel tempo: una varietà di contesti che rende necessario confrontare problemi simili visti da angolazioni diverse. Dall'esperienza maturata in questa varietà…

Valeriano Sandrucci

Il problema non è il modello contrattuale, ma l'incertezza che fingiamo di non vedere

Nel mondo del software custom molte discussioni iniziano e finiscono sempre nello stesso modo: “Meglio progetto chiavi in mano o Time & Material?” È una domanda comprensibile ma è anche, quasi sempre, la domanda sbagliata.

Valeriano Sandrucci

Un progetto di analisi non serve a capire tutto

La parola analisi gode di una reputazione ambigua nell'ambiente del software: evoca documenti lunghi, approcci a cascata, settimane di lavoro senza codice e la sensazione diffusa di pagare per qualcosa che non produce valore immediato. Chi commissiona un progetto tende a viverla come un costo improduttivo: si paga per avere software funzionante, non per leggere diagrammi. Anche tra gli sviluppatori l'analisi viene talvolta percepita come un ostacolo. Il…

Valeriano Sandrucci

Perché un prototipo non è necessariamente una versione ridotta del prodotto finale

“Facciamo un prototipo” è una delle frasi più comuni nei progetti software. Il problema è che spesso indica cose diverse per persone diverse. Per qualcuno significa costruire una versione ridotta del prodotto: meno funzionalità, meno rifiniture, ma già pensata per evolvere verso la produzione. Per altri rappresenta uno spazio di sperimentazione libera: si prova una tecnologia, si scrive codice rapidamente e si osserva cosa succede.

Valeriano Sandrucci

Nei sistemi critici, la flessibilità è un requisito

Nella teoria dei sistemi dinamici il controllo efficace non si basa sulla previsione perfetta, ma sulla retroazione. Si osserva il comportamento del sistema, si misura lo scostamento rispetto all'obiettivo e si introducono correzioni progressive. L'idea non è anticipare ogni possibile perturbazione quanto costruire la capacità di reagire. Lo sviluppo software in contesti critici segue una logica simile.

Valeriano Sandrucci

Dire di no è parte del nostro lavoro

Nel software dire di no non è un atto di chiusura. È un atto di responsabilità. Vorremmo poter dire sempre sì, è naturale: i progetti sono il motore della nostra attività, e accettarli è quasi sempre la strada più semplice, talvolta anche la più redditizia nel breve periodo. Tuttavia, non sempre è la cosa giusta da fare.

Valeriano Sandrucci

Complessità, costo e scelte tecnologiche

Partiamo da un diagramma semplice. Sull'asse orizzontale (X) è rappresentata la complessità del problema informatico da risolvere. Sull'asse verticale (Y) è rappresentato il costo, cioè lo sforzo necessario per costruire una soluzione software. La comunità scientifica concorda su un punto: all'aumentare della complessità del problema cresce anche lo sforzo richiesto per risolverlo. Questa crescita non è lineare: in molti casi è più che proporzionale e in…

Valeriano Sandrucci

Intelligenza artificiale e incertezza nei progetti software

Negli ultimi anni l'intelligenza artificiale è diventata uno dei temi tecnologici più discussi. Non è difficile capire perché: ha il potenziale di cambiare profondamente il modo in cui viviamo, lavoriamo e sviluppiamo software. La diffusione dell'AI ha però generato anche un fenomeno ricorrente: l'illusione della certezza. Molte organizzazioni cercano risposte definitive su come adottarla, come se esistessero modelli già consolidati e universalmente…

Valeriano Sandrucci

Volete parlarne con noi?

Se uno di questi temi riguarda un vostro progetto, scriveteci. Non risponderà un commerciale ma un ingegnere. Oppure compilate prima il questionario: tre minuti per mettere a fuoco la vostra situazione.