Vai al contenuto
XSIS

Tecnologia

Ingegneria del software

Scegliere uno stack, framework front-end, arabo e da destra a sinistra, nativo o multipiattaforma, cloud, strumenti di test e sistemi più datati.

32 domande

Come scegliete lo stack tecnologico?

Partiamo da ciò che il Suo team può gestire e per cui può assumere, da ciò che usano gli altri Suoi sistemi e da ciò che il software deve fare. Per la maggior parte del software di business significa un linguaggio diffuso come TypeScript, Java, C# o Python, un database relazionale e il cloud che già usa. Registriamo ogni scelta e le sue ragioni.

Potete costruire un prodotto SaaS multi-tenant?

Sì. Progettiamo isolamento dei tenant, configurazione per tenant, ruoli, agganci alla fatturazione e tracce di audit fin dal primo rilascio, perché aggiungerli dopo significa riscrivere il modello dei dati. Concordiamo con Lei se i tenant condividono un database, uno schema o nulla, in base alle Sue esigenze di sicurezza e costo.

Che cosa significa architettura componibile per noi?

La Sua piattaforma è costruita da capacità di business autonome con le proprie API, come prezzi, onboarding o fatturazione. Ciascuna può essere cambiata, scalata o sostituita senza toccare il resto, e nuovi prodotti possono riutilizzarle. Si adatta a piattaforme che cresceranno per anni; un piccolo strumento non ne ha bisogno.

Quale framework front-end usate?

Usiamo React con Next.js per la maggior parte delle nuove applicazioni, perché supporta il rendering lato server e ha strumenti solidi. Lavoriamo anche con Angular e Vue.js, e continuiamo nel framework che già usa quando è la scelta sensata.

Perché costruire un’applicazione desktop invece di un’applicazione web?

Scelga il desktop quando il lavoro richiede uso offline, accesso diretto a dispositivi o file locali, dati o grafica pesanti, o schermate veloci da tastiera. Per la maggior parte delle altre esigenze, un’applicazione web è più facile da distribuire e aggiornare. Raccomandiamo caso per caso, e a volte un’applicazione web con un piccolo componente desktop è la risposta giusta.

Desktop nativo o multipiattaforma: che cosa scegliere?

Le applicazioni native offrono le migliori prestazioni e la maggiore aderenza a ciascun sistema operativo. Le applicazioni multipiattaforma condividono un unico codice tra Windows, macOS e Linux, il che riduce il costo di costruirle e modificarle. Raccomandiamo il nativo quando una piattaforma domina o il lavoro è impegnativo, e il multipiattaforma quando contano più piattaforme.

Un’applicazione desktop può funzionare senza connessione di rete?

Sì, per le attività che lo consentono. Decidiamo con Lei quali dati servono a ogni utente sul dispositivo, li teniamo cifrati e registriamo le sue modifiche finché la rete non torna. Quando lo stesso record cambia in due luoghi, regole concordate decidono quale modifica prevale o chiedono a una persona di scegliere.

L’applicazione può funzionare con i nostri scanner, stampanti e altri dispositivi?

Sì. Ci integriamo con i dispositivi che usa il Suo personale, come scanner di codici a barre, stampanti di scontrini ed etichette, bilance e terminali di pagamento. Ci colleghiamo tramite i driver, gli SDK o le porte standard di ogni dispositivo, e proviamo con gli stessi modelli e firmware che usa, perché dispositivi dello stesso tipo spesso si comportano in modo diverso.

Dovremmo sviluppare nativo o cross-platform?

Le app native in Swift e Kotlin danno il massimo accesso alle funzioni del dispositivo. Le app cross-platform in React Native o Flutter condividono gran parte del codice tra iOS e Android, il che riduce il costo di realizzazione e modifica. Raccomandiamo il nativo quando l’app dipende molto dal dispositivo e il cross-platform per la maggior parte delle app aziendali e consumer.

Che cos’è un gemello digitale e quando vale la pena costruirlo? (Mobile, spatial computing e gemelli digitali)

Un gemello digitale è un modello 3D in tempo reale di un luogo o processo fisico, alimentato dai dati dei suoi sensori e sistemi. Vale la pena costruirlo quando collaudare nella realtà le decisioni su quel luogo è costoso. Alcuni esempi: modificare una linea di produzione, pianificare un porto, gestire un quartiere di città intelligente o formare il personale per eventi rari.

A quali sistemi può collegarsi un gemello digitale?

A quelli che descrivono il sito reale: piattaforme IoT industriale e di sensori, sistemi di edificio e impianto e sistemi ERP e di manutenzione degli asset. Concordiamo le fonti di dati e la frequenza di aggiornamento di ciascuna, così il gemello mostra il sito com’è.

L’app può funzionare senza connessione?

Sì, dove i percorsi lo consentono. Conserviamo sul dispositivo i dati di cui l’utente ha bisogno, cifrati, e mettiamo in coda le sue modifiche finché la connessione non torna. Le regole di sincronizzazione decidono che cosa succede quando lo stesso record è cambiato in due punti, e le progettiamo con Lei.

Come rendete accessibili i prodotti?

Progettiamo secondo WCAG 2.2 AA dal primo wireframe: contrasto sufficiente, focus visibile, ordine di lettura logico, aree di tocco abbastanza grandi e un’etichetta per ogni controllo. I controlli automatici girano a ogni modifica. Prima di ogni rilascio collaudiamo a mano i percorsi chiave con tastiera e lettori di schermo.

Potete progettare per l’arabo e altre lingue da destra a sinistra?

Sì. Il design da destra a sinistra è più di uno specchiamento dello schermo: navigazione, indicatori di avanzamento e icone direzionali si specchiano, mentre numeri, loghi e controlli multimediali di solito no. Il testo arabo richiede un proprio carattere, dimensione e interlinea, e rivediamo entrambe le direzioni con lettori madrelingua.

Che cos’è l’automazione dei test auto-riparante?

I test dell’interfaccia di solito si rompono quando un pulsante si sposta o viene rinominato, anche se la funzionalità funziona ancora. I test auto-riparanti usano l’IA per ritrovare l’elemento e proporre un test aggiornato, che un ingegnere esamina prima di accettarlo. La suite resta affidabile senza nascondere difetti reali.

Che cosa fa davvero l’IA nella modernizzazione?

Legge rapidamente grandi quantità di codice vecchio: spiega che cosa fa un programma, traccia dove vanno i dati, propone rifattorizzazioni e redige test. Gli ingegneri decidono che cosa cambia, esaminano ogni riga e lo dimostrano con test di caratterizzazione. L’IA accelera la comprensione; non sostituisce la verifica.

Potete spostare carichi COBOL e DB2 fuori dal mainframe?

Sì. Traduciamo o ricostruiamo i programmi COBOL come servizi cloud-native e migriamo i dati DB2 con riconciliazione a ogni passo. I processi batch e le interfacce su file ricevono equivalenti moderni. Le parti stabili e costose da spostare possono restare dietro uno strato API finché non arriva il loro turno.

Quando conviene incapsulare un sistema invece di sostituirlo?

Quando il vecchio nucleo è stabile e corretto ma difficile da raggiungere. API moderne davanti ad esso consentono a nuovi canali, partner e prodotti di usarne le funzioni senza toccarne gli interni. Raccomandiamo la sostituzione quando il sistema blocca il cambiamento, non può essere protetto o non trova più personale.

Che cos’è un cloud sovrano e ne abbiamo bisogno?

Un cloud sovrano mantiene dati, operazioni e controllo legale entro un’unica giurisdizione. Può essere un fornitore regionale, un cloud governativo, una regione di un hyperscaler con i controlli adeguati o il Suo data center. Ne ha bisogno quando la legge o la Sua autorità di controllo richiedono che determinati dati restino nel Paese. Mappiamo quali dei Suoi carichi rientrano in tali regole prima di raccomandare dove eseguirli.

Quale provider cloud dovremmo usare?

Di norma quello che già usa, salvo che ci sia un motivo chiaro per cambiare. I fattori decisivi sono la residenza dei dati, i contratti e le competenze esistenti, i servizi gestiti di cui ha bisogno e il modo in cui si collegano gli altri Suoi sistemi. Lavoriamo su AWS, Microsoft Azure, Google Cloud, Alibaba Cloud e cloud governativi regionali, e limitiamo il codice specifico del fornitore ai casi in cui vale la pena.

Come evitate il vincolo a un fornitore?

L’infrastruttura è definita con strumenti open source come Terraform, OpenTofu o Pulumi e i carichi girano su Kubernetes o altre piattaforme portabili. Dove un servizio del fornitore è la scelta migliore, lo usiamo di proposito e scriviamo la via d’uscita. Ottiene così una stima scritta di quanto richiederebbe spostare ciascun carico.

Dovremmo tenere l’infrastruttura nei nostri locali o spostarla nel cloud?

Dipende da ciascun sistema: dove possono essere conservati i suoi dati, le esigenze di prestazioni e connettività, le licenze e ciò che il Suo team può gestire. Molte imprese gestiscono un parco ibrido, che funziona bene quando è progettato come un tutto unico. Confrontiamo le opzioni per costo, rischio e sforzo e raccomandiamo quella che sceglieremmo.

Dovremmo eseguire i modelli di IA sulle nostre GPU?

Lo consideri quando i dati non possono lasciare il Suo perimetro o quando l’uso è così costante che una capacità di proprietà costa meno del pagamento per chiamata. Confrontiamo un cluster privato, un cloud sovrano e un servizio di modelli pubblico per il Suo carico, poi dimensioniamo il cluster e i modelli che serve.

Potete lavorare con le apparecchiature e i sistemi che già abbiamo?

Sì. Partiamo da ciò che ha e sostituiamo solo ciò che è fuori supporto o ostacola il progetto. Dove occorre acquistare hardware o licenze, indichiamo che cosa serve e perché, e Lei sceglie il fornitore.

Che cos’è la platform engineering e in che cosa è diversa dal DevOps?

Il DevOps è la pratica con cui sviluppatori e operations condividono la responsabilità di esercire il software. La platform engineering trasforma quella pratica in un prodotto: una piattaforma interna per sviluppatori che dà a ogni team lo stesso modo collaudato di costruire, distribuire ed esercire servizi. I Suoi team dedicano il tempo alle funzionalità, non alle pipeline.

Quali strumenti usate?

Di solito quelli che ha già. Lavoriamo con Terraform, OpenTofu e Pulumi per l’infrastruttura, Kubernetes per i container e i servizi CI/CD più diffusi, tra cui GitLab CI/CD, GitHub Actions e Argo CD. Raccomandiamo un cambiamento solo quando uno strumento blocca ciò che Le serve.

Cache e routing ridurranno la qualità delle risposte?

Non quando sono impostati caso per caso. Un’attività passa a un modello più piccolo solo dopo aver superato le stesse valutazioni del modello di frontiera, e le risposte in cache sono usate solo dove una risposta memorizzata resta corretta. Tutto ciò che è incerto va comunque al modello più grande.

Che cos’è il GreenOps?

Il GreenOps applica l’approccio FinOps a energia e carbonio. I carichi di lavoro sono dimensionati su ciò che usano, eseguiti dove e quando l’elettricità è più pulita se possono attendere, e riportati nei termini richiesti dal Suo reporting ESG.

I nostri hardware security module supportano gli algoritmi post-quantistici?

Il supporto varia per modello e versione del firmware. Verifichiamo ogni HSM nell’audit CBOM e pianifichiamo aggiornamenti o sostituzioni solo dove servono.

Serve la distribuzione quantistica delle chiavi?

Raramente. La crittografia post-quantistica gira sulle reti e sull’hardware che ha già, mentre la QKD richiede collegamenti ottici dedicati. Valutiamo la QKD solo per pochi collegamenti di alto valore dove un regolatore o un partner la richiede.

Con quali cloud e piattaforme lavorate?

AWS, Microsoft Azure, Google Cloud, Alibaba Cloud e cloud governative regionali, oltre ai Suoi data center e ai cluster GPU privati. L’infrastruttura è definita in Terraform, OpenTofu o Pulumi e i carichi di lavoro girano su Kubernetes, così la scelta del fornitore resta aperta.

Potete aiutarci a uscire da un hyperscaler?

Sì. Valutiamo quali servizi la legano al fornitore, progettiamo la destinazione in una cloud sovrana, in un altro fornitore o nel Suo data center, e spostiamo i carichi di lavoro per fasi con un percorso di rollback per ciascuno. Decide Lei fin dove arrivare: alcuni clienti spostano tutto, altri solo i carichi di lavoro che interessano ai regolatori.

Inizi con una conversazione, non con un contratto.

Ci racconti che cosa deve costruire, collegare o proteggere. Un architetto lo esamina con Lei e poi consiglia da dove iniziare.

Che cosa succede dopo

  1. Concordare un orario

    Il nostro team Le invia un’e-mail per concordare un orario per la sessione.

  2. Sessione di preconsulenza

    Una sessione di preconsulenza online gratuita di 30 minuti: esaminiamo i Suoi obiettivi, i Suoi sistemi e i Suoi vincoli.

  3. Revisione di preparazione

    Nell’ambito di una revisione di preparazione gratuita di 48 ore, un architetto principal verifica il Suo progetto rispetto alla definizione di «pronto» in 6 punti e raccomanda il Track più adatto.

  4. Scelta del Track

    I progetti con perimetro definito ricevono una proposta vincolante entro 3–5 giorni lavorativi. I progetti in fase di concept iniziano nel Blueprint Studio. Un sistema in produzione che non funziona, non è documentato o richiede integrazione inizia con una diagnosi di 1–2 settimane. Il Blueprint Studio e la diagnosi hanno ciascuno un compenso fisso, indicato nella proposta.