Gli inizi
Dopo la cessione della Divisione Elettronica (1964), con rinuncia ai grandi elaboratori, e dopo l'esperienza della P101 (1965), l'antesignano dei personal computer, alla fine degli anni '60 l'Olivetti si trova nella necessità di definire una nuova strategia di sviluppo per operare su mercati sempre più condizionati dalla rapida evoluzione dell'hardware elettronico e, soprattutto, del software.
Nel 1972 si costituisce a Ivrea il Servizio Sviluppo Software, che può contare sulle esperienze maturate da alcuni ingegneri negli USA presso il MIT. Pur appartenendo alla divisione Ricerca e Sviluppo, questo Servizio è separato dai gruppi di sviluppo prodotto in quanto risponde alla decisione strategica di riprendere gli investimenti nell'informatica di base, decisione inclusa nel piano di rilancio deciso dal nuovo top management (l'amministratore delegato Ottorino Beltrami e la responsabile del product planning Marisa Bellisario).
Nel giro di un anno lo Sviluppo Software, che conta già un centinaio di persone, realizza il software di base della A7, innovativo sistema contabile. L'A7 risente dei limiti tecnologici di quel momento: memorie molte piccole, assenza di memorie di massa, linguaggio Assembler senza il supporto di un sistema di sviluppo. Viene però impostata la realizzazione di un compilatore del PL1, linguaggio di programmazione ad alto livello, e si introduce un'avanzata metodologia di sviluppo software che si richiama alle idee di software engineering emergenti negli USA (Stark Drapers Labs di Cambridge, Ma.).
Il Cosmos
Negli anni '70 il più significativo sviluppo della Olivetti nel software è sicuramente il Cosmos, sistema operativo del TC 800, realizzato tra il 1973 e il 1975. Il TC 800 è un sistema di terminali bancari video-tastiera, ciascuno dei quali ha memoria e disco sufficienti per elaborare la parte locale della transazione bancaria di sportello. I terminali sono poi collegati al master, sempre della stessa famiglia, che concentra il tutto colloquiando con l'elaboratore centrale (in genere un grosso IBM). L'importanza dell'innovazione consiste nel fatto che l'elaborazione non avviene più tutta al centro, ma in parte si svolge presso i terminali di sportello, che diventano parte attiva di un sistema complesso.
Questa architettura diviene possibile perché Cosmos ha caratteristiche di multitasking real-time, con attività orientate al time-sharing, di fatto proponendosi come il più avanzato sistema operativo per minicomputer sviluppato in quel periodo in Italia e all'avanguardia in Europa.
TC 800 e Cosmos costituiscono un esempio della capacità Olivetti di colmare rapidamente i gap tecnologici e di posizionarsi sulla frontiera avanzata delle tecnologie. In particolare, l'architettura client-server su rete locale, il sistema operativo multitasking e l'unità centrale (UC 1009) basata su microprocessore a 16bit, di un ordine di grandezza superiore a quella dei processori MOS a 8 bit allora disponibili, anticipano di 15 anni il trend evolutivo che si sarebbe poi imposto a livello mondiale.
La posizione di avanguardia in questo campo si conferma a inizio anni '80 con Cosmos II su minicomputer S1000, un sistema che presenta protocolli LAN e WAN standard ISO ed ECMA, organismi internazionali di standardizzazione in cui Olivetti gioca un ruolo di rilievo.
Le competenza acquisite nel software consentono in seguito alla Olivetti di avere un ruolo importante anche nei grandi programmi sia italiani (Progetto finalizzato Informatica del CNR), sia europei (Progetto Esprit dell'Unione Europea).
Il sistema operativo MOS
Fin dal 1979 l'Olivetti aveva dedicato una larga parte delle sue risorse di R&S allo sviluppo della nuova linea sistemi L1, famiglia di minicomputer dotati di software multifunzionale. La nuova linea viene presentata nel 1983, con l'emulazione dei prodotti precedenti, e nel 1984 con il sistema operativo MOS sviluppato in linguaggio Concurrent Pascal, il cui compilatore viene specificamente realizzato con la collaborazione di J. Popek della UCLA e di J. Hennessy, di Stanford.
Per valutare l'importanza del nuovo software occorre ricordare che a quel tempo non esistevano sistemi operativi industriali con linguaggi al alto livello; era uscita la prima versione di Unix, scritta in linguaggio C, ma era confinata all'ambiente accademico. MOS non era soltanto un sistema operativo, ma un insieme di linguaggi di programmazione ad alto livello, database relazionale, LAN e WAN standard, generatori di applicazioni per l'automazione delle procedure di ufficio, ambienti di online transaction processing. La piattaforma era in grado di supportare perfino il Prolog, linguaggio con cui furono sviluppati alcuni "sistemi esperti".
In Italia non sono stati sviluppati altri progetti confrontabili con il MOS, che può anche essere ricordato come l'ultimo esempio di sistema operativo e ambiente software commerciale progettato in Europa.
Il PB per le banche
Le competenze acquisite nel software di base, consentirono all'Olivetti di proporre un'importante soluzione nei primi anni di grande diffusione del personal computer.
Nel 1984 i PC disponevano solo del sistema operativo MS DOS, affatto insufficiente per un uso business specializzato e non strettamente personale. L'Olivetti, da tempo fortemente impegnata nell'automazione bancaria, decise pertanto di far evolvere la struttura del Cosmos, il sistema operativo che aveva creato per il TC800, per sviluppare un sistema real-time distribuito.
Il risultato di questo progetto fu la nascita del PB - Personal Banking; in pratica, una soluzione basata su un PC standard che si trasforma in un "client" di agenzia, controllato da un "server" in ambiente MS-DOS, trasformato in un contesto multi-tasking.
La disponibilità di questa soluzione permise alla Olivetti di rafforzare sensibilmente la sua posizione nel mercato internazionale dell'automazione bancaria di filiale.
Anche in questo caso si può parlare di un'applicazione di avanguardia che anticipa il trend dell'automazione di agenzia degli anni '90.
La "Software Factory"
La rilevanza dell'impegno Olivetti nel software è testimoniata, oltre che dai prodotti realizzati, anche dal modo con cui venne organizzata questa attività. Già nel 1980, infatti, veniva costituita una "fabbrica del software"; la disponibilità di una ventina di minicomputer PDP11-VAX, con UNIX BSD, LAN-Ethernet, interconnessione con Internet-DARPA, e-mail Unix, permetteva scambio di mail e trasferimento di file tra i vari centri di ricerca software dell'azienda situati a Ivrea, Milano, Pisa, Cupertino.
Le caratteristiche principali della software factory non erano da ricercare solo nella creazione di una rete di comunicazione e collaborazione tra centri aziendali, ma si concretizzavano anche in una metodologia di sviluppo software che prevedeva il controllo di tutto il processo, dalla produzione delle specifiche al rilascio della copia ufficiale di release.
In pratica, veniva razionalizzato tutto l'approccio allo sviluppo del software, con un'organizzazione non più artigianale, ma di tipo industriale.
Considerando il periodo storico e le tecnologie utilizzate, la software factory costituisce un esempio importante dell'elevato livello tecnologico raggiunto negli anni '80 dall'Olivetti nell'ambito della produzione del software.