Artı Bilişim — Architettura software, applicazioni gestionali e integrazione dei dati
Eskişehir / Ankara | 2004–2009
Software gestionale riutilizzabile, applicazioni modulari in Delphi, architettura MySQL attenta ai costi, integrazione con pacchetti commerciali consolidati, migrazione di dati legacy e direzione dell’azienda.
Ho fondato Artı Bilişim ve Yazılım per passare dai servizi tecnici a progetto a prodotti software riutilizzabili, componenti applicativi modulari e soluzioni gestionali manutenibili per il settore privato.
All’inizio ho gestito l’azienda da un piccolo ufficio a Eskişehir e in seguito ho proseguito le mie attività di sviluppo all’interno di Anadolu University Teknopark. Ho inoltre svolto progetti di sviluppo in sede ad Ankara tramite un partner tecnologico.
Contesto: dai sistemi del settore pubblico al mercato commerciale
Ho fondato l’azienda subito dopo sei anni di lavoro sui sistemi informativi comunali (1998–2004). In quell’ambiente i progetti a cui lavoravo erano finanziati da enti, avevano un ambito formalmente definito ed erano gestiti come programmi di lungo periodo con budget dedicati a infrastrutture e server.
Entrando nel mercato privato ho scoperto che operava con vincoli molto diversi. I budget erano di breve periodo, l’IT era trattata come un costo anziché come un investimento e le decisioni tecniche erano spesso prese da interlocutori privi di competenze tecniche. Adattare la mia esperienza ingegneristica del settore pubblico a queste condizioni è diventata la sfida centrale di questo periodo.
Condizioni di mercato a Eskişehir e Ankara
Attraverso la mia esperienza sul campo nel mercato regionale delle PMI, ho osservato un insieme costante di vincoli che hanno influenzato direttamente le mie decisioni su prodotto e architettura:
- Investimenti IT limitati. La maggior parte delle aziende con cui lavoravo non destinava un budget significativo a una funzione IT interna. Le responsabilità IT facevano in genere capo a una sola persona, insieme ad altri compiti, oppure erano esternalizzate in base alle necessità.
- Scelta del software dettata dal commercialista. Ho visto che la scelta del software gestionale era di solito determinata dal commercialista dell’azienda o da uno studio contabile esterno. Il pacchetto contabile con cui lavorava il commercialista diventava di fatto il sistema di riferimento dell’azienda, e ogni altra applicazione doveva allinearsi a esso.
- Costi proibitivi dei database aziendali. Le piattaforme di database relazionali aziendali come Oracle Database, Microsoft SQL Server e IBM Db2 comportavano costi di licenza, hardware e amministrazione che la maggior parte delle imprese della zona non poteva giustificare. Ho imparato che a decidere la piattaforma era il costo totale di proprietà, non il merito tecnico.
- Mancanza di personale interno qualificato. Alcune aziende che ho incontrato erano disposte a investire seriamente nei propri sistemi, ma non riuscivano ad assumere né a trattenere personale in grado di gestire e mantenere quei sistemi al proprio interno.
- Fuga di talenti verso il settore pubblico. A causa dell’instabilità e della percepita insicurezza del mercato privato, il personale tecnico qualificato preferiva in genere l’impiego nel settore pubblico. Questo lasciava le aziende private strutturalmente dipendenti da fornitori esterni.
Da queste osservazioni ho tratto una chiara conclusione ingegneristica: qualsiasi soluzione proposta doveva essere a basso costo, compatibile con il pacchetto commerciale già in uso presso il cliente e manutenibile con competenze tecniche interne minime.
Posizionamento strategico attorno ai pacchetti commerciali consolidati
Anziché competere come fornitore di pesanti piattaforme aziendali, ho posizionato l’azienda attorno al software gestionale commerciale già dominante nel mercato turco delle PMI:
- Logo
- ETA
- Netsis
- Nebim
- Datasoft
Il mio obiettivo era conquistare quote di mercato aggiungendo valore attorno a questi pacchetti anziché sostituirli: estendendone le funzionalità, integrandoli con altri sistemi, producendo report e analisi che non offrivano e migrando i dati tra l’uno e l’altro.
In questo ambito ho svolto:
- l’esame delle strutture dati e della logica dei registri di ciascun pacchetto,
- la mappatura dei dati anagrafici (conti di clienti e fornitori, articoli di magazzino, listini) e dei dati transazionali (fatture, documenti di trasporto, movimenti di magazzino, registrazioni contabili) tra pacchetti diversi,
- lo sviluppo di moduli aggiuntivi e strumenti di reportistica che operavano accanto al pacchetto già in uso presso il cliente,
- la realizzazione di processi di importazione/esportazione e di scambio dati tra pacchetti commerciali e applicazioni su misura,
- il supporto ai passaggi da un pacchetto commerciale a un altro, conservando i registri storici,
- l’individuazione e la correzione delle incoerenze introdotte da anni di inserimento manuale dei dati e di migrazioni parziali.
Questo approccio mi ha permesso di offrire valore ingegneristico a clienti che non avrebbero mai acquistato un sistema aziendale completo su misura, mantenendo intatto il loro sistema di riferimento dettato dal commercialista.
Strategia sui database e architettura attenta ai costi
Ho trattato la scelta del database come una decisione tanto economica quanto tecnica.
- Le piattaforme RDBMS aziendali (Oracle, Microsoft SQL Server, IBM Db2) mi erano ben note dal lavoro precedente, ma i costi di licenza e di esercizio le collocavano fuori dalla portata della maggior parte dei miei clienti target.
- Ho adottato MySQL come principale opzione di database a basso costo per le applicazioni su misura. La licenza open source, i requisiti hardware contenuti e le prestazioni adeguate ai volumi di dati delle PMI ne facevano una risposta diretta alla ricerca di soluzioni accessibili da parte dei miei clienti.
- Ho tenuto separato, per quanto possibile, l’accesso ai dati dell’applicazione dalla logica di business, così da poter adattare gli stessi moduli applicativi a back end di database diversi a seconda del budget e dell’ambiente esistente del cliente.
- Verso la fine del periodo ho valutato MongoDB come database orientato ai documenti, allora emergente. Il suo modello a schema flessibile mi sembrava interessante per registri aziendali eterogenei che non si adattavano a rigidi schemi relazionali. Non l’ho adottato in produzione, perché nel frattempo le mie priorità erano cambiate.
Sviluppo di prodotti e software
- Ho definito una strategia di sviluppo orientata al prodotto, incentrata su soluzioni riutilizzabili anziché sulla realizzazione ripetuta di applicazioni una tantum per i singoli clienti.
- Ho progettato e sviluppato software desktop e aziendale principalmente in Delphi, sfruttando la mia precedente esperienza con Pascal.
- Ho sviluppato componenti software riutilizzabili per accelerare la creazione di applicazioni specifiche per i clienti.
- Ho progettato moduli applicativi attorno a regole di business, elaborazione dei dati, reportistica e flussi di lavoro operativi.
- Mi sono occupato della migrazione e dell’ammodernamento di dati provenienti da applicazioni contabili e gestionali legacy.
- Ho sviluppato soluzioni per l’analisi dei dati, la gestione dei dati e la trasformazione strutturata dei registri aziendali esistenti.
- Ho realizzato e adattato applicazioni di e-commerce e gestionali in base alle richieste dei clienti.
- Ho risolto problemi di compatibilità, integrità dei dati e funzionamento in ambienti software commerciali esistenti.
- Ho applicato la mia esperienza pregressa in Pascal, sistemi di database, sistemi informativi comunali e integrazione aziendale all’architettura del software commerciale.
Periodo di incubazione al Teknopark
In seguito ho trasferito Artı Bilişim presso Anadolu University Teknopark, un ambiente dedicato allo sviluppo software e all’incubazione di prodotti.
Durante il periodo di incubazione ho lavorato su due filoni paralleli:
- Sviluppo commerciale: Ho posizionato l’azienda verso grandi clienti aziendali con budget più elevati e requisiti più complessi. I cicli di vendita per questi clienti erano lunghi, e ho trascorso buona parte del periodo in attesa che tali incarichi si concretizzassero.
- Sviluppo di prodotto: Ho usato quel tempo in modo produttivo per sviluppare internamente un nuovo applicativo gestionale destinato alla commercializzazione, che ho progettato fin dall’inizio come prodotto e non come implementazione specifica per un cliente.
Ho incentrato il mio indirizzo tecnico sulla progressione:
Componenti riutilizzabili → Framework applicativi → Soluzioni gestionali → Trasformazione in prodotto
anziché sulla vendita tradizionale di computer o sulle attività di assistenza tecnica.
Progetti software aziendali e su misura
Ho lavorato con organizzazioni che avevano bisogno di software realizzato ad hoc anziché di applicazioni standard già pronte, o le cui esigenze andavano oltre ciò che il loro pacchetto commerciale poteva offrire.
In questi progetti ho svolto:
- l’analisi dei requisiti,
- la modellazione dei processi,
- la progettazione di database e flussi di dati,
- lo sviluppo di moduli applicativi specifici per i clienti,
- l’esame dei dati legacy,
- la conversione e la migrazione dei dati,
- l’implementazione delle regole di business,
- la reportistica,
- l’integrazione di sistemi,
- il rilascio e il supporto tecnico.
Una parte significativa del mio lavoro consisteva nel comprendere i processi operativi esistenti, spesso non documentati e dipendenti dalle conoscenze dei singoli collaboratori, e nel trasformarli in strutture software manutenibili.
Progetti di sviluppo ad Ankara
Ho lavorato intensamente a progetti di sviluppo software ad Ankara tramite un partner tecnologico attivo nell’ecosistema tecnologico legato a ODTÜ.
In questi progetti ho sviluppato componenti software e applicazioni mirati per aziende che partecipavano a programmi tecnologici e sostenuti da incentivi.
Il mio lavoro di sviluppo richiedeva spesso lunghi periodi di ingegneria concentrata in sede, durante i quali ho svolto:
- l’analisi dei requisiti dei clienti,
- la progettazione dei componenti,
- lo sviluppo delle applicazioni,
- la modellazione dei dati,
- l’adattamento ai sistemi gestionali esistenti,
- i test e il rilascio.
Questo periodo ha rafforzato in modo significativo il mio passaggio dalla programmazione di applicazioni all’architettura software e alla progettazione modulare dei sistemi.
Lavoro su dati e sistemi legacy
Un’esigenza ricorrente nei miei progetti era la gestione di dati prodotti da software gestionali di generazioni precedenti e da pacchetti commerciali in uso da molti anni.
In questo lavoro ho svolto:
- l’analisi di strutture dati legacy, spesso senza la documentazione del fornitore,
- l’individuazione di registri incoerenti, duplicati o incompleti,
- la definizione di regole di trasformazione e pulizia,
- la ristrutturazione dei database,
- i processi di importazione/esportazione tra sistemi legacy, commerciali e su misura,
- i controlli di riconciliazione per verificare che i dati migrati corrispondessero alla fonte,
- la compatibilità tra applicazioni vecchie e nuove durante il funzionamento in parallelo,
- la conservazione dei dati storici aziendali durante i passaggi di software.
Con questo lavoro ho esteso al settore privato, dove la qualità dei dati era in genere inferiore e la documentazione più scarsa, la competenza in migrazione dei dati e integrazione di sistemi che avevo sviluppato nei progetti di sistemi informativi comunali.
Ruolo imprenditoriale e tecnico
In qualità di fondatore, le mie responsabilità andavano oltre lo sviluppo software e comprendevano:
- l’architettura tecnica,
- lo sviluppo dei concept di prodotto,
- l’implementazione del software,
- l’analisi dei requisiti dei clienti,
- il posizionamento di mercato e di prezzo rispetto ai pacchetti commerciali consolidati,
- la pianificazione dei progetti,
- l’integrazione di sistemi,
- la migrazione dei dati,
- il rilascio,
- la documentazione tecnica,
- la risoluzione dei problemi,
- l’assistenza ai clienti,
- la gestione commerciale e operativa dell’azienda.
Il mio ruolo univa quindi architettura software, ingegneria, analisi dei sistemi, sviluppo di prodotto e imprenditorialità.
Ambiente tecnico
- Sviluppo: Delphi, Pascal
- Database: MySQL (la mia principale piattaforma a basso costo); conoscenza operativa di Oracle Database, Microsoft SQL Server e IBM Db2; prima valutazione di MongoDB
- Pacchetti commerciali (integrazione, reportistica, migrazione): Logo, ETA, Netsis, Nebim, Datasoft
- Ambiti applicativi: applicazioni gestionali, reportistica, migrazione dei dati, e-commerce, integrazione di sistemi
Risultato del periodo
Artı Bilişim ha segnato il mio passaggio dall’implementare e integrare prevalentemente sistemi progettati da altri alla costruzione di prodotti software riutilizzabili e di soluzioni tecniche proprietarie.
In questo periodo ho consolidato l’esperienza accumulata in:
hardware → sistemi aziendali → database → sistemi informativi comunali → sviluppo software → migrazione dei dati → integrazione di sistemi
in un approccio di ingegneria del software orientato al prodotto.
A causa dei cambiamenti nelle dinamiche di mercato e di uno spostamento del mio interesse professionale verso progetti infrastrutturali e di automazione su scala più ampia, ho deciso di concludere l’attività dell’azienda dopo aver portato a termine con successo gli incarichi in corso.
Principali insegnamenti di questo periodo
- Architettura attenta ai costi. Ho imparato a considerare i costi di licenza, hosting ed esercizio come dati di progetto primari, accanto ai requisiti tecnici, e a scegliere piattaforme che i miei clienti potessero realisticamente permettersi e sostenere.
- Progettare per l’operatore reale. Ho preso l’abitudine di progettare i sistemi in base alle competenze delle persone che li avrebbero effettivamente gestiti, mantenendo installazione, manutenzione e ripristino abbastanza semplici per organizzazioni prive di un reparto IT dedicato.
- Competenza sui dati legacy. Ho maturato una vasta esperienza pratica nell’analisi di strutture dati non documentate, nella pulizia di registri incoerenti e nella riconciliazione dei dati migrati, che è diventata uno dei miei principali punti di forza professionali e non un’attività marginale.
- Integrazione con sistemi commerciali consolidati. Ho acquisito una conoscenza pratica di come i pacchetti commerciali turchi più diffusi strutturano ed elaborano i dati aziendali, e di come estenderli e integrarli senza alterare il sistema di riferimento del cliente.
- Mentalità di prodotto. Sono passato dal consegnare singole applicazioni al ragionare in termini di componenti riutilizzabili, framework e trasformazione in prodotto.
- Esperienza imprenditoriale e commerciale. Ho maturato un’esperienza diretta nella conduzione di un’azienda tecnologica, compresi acquisizione dei clienti, definizione dei prezzi, rapporti con i partner e rischi legati alla dipendenza da partner di progetto esterni e dai termini di pagamento.
Queste esperienze sono diventate una base importante per il mio lavoro successivo in telecomunicazioni, infrastrutture, automazione, IoT e, più avanti, nello sviluppo di sistemi assistito dall’IA, e hanno plasmato la mia preferenza duratura per sistemi a basso costo, auto-ospitabili e manutenibili in locale.