Ivar Jacobson

Ivar Jacobson: L'ingegnere che ha disegnato il software

Nel 1967, lavorando sulle centrali telefoniche presso Ericsson, un giovane ingegnere svedese aveva bisogno di un modo per mostrare come i messaggi viaggiassero tra le parti di un commutatore. Disegnò i partecipanti nella parte superiore di una pagina e lasciò che il tempo scorresse verso il basso, con ogni messaggio rappresentato da una freccia che passava da una linea verticale all'altra. Questo schizzo è oggi chiamato diagramma di sequenza, e una sua versione è appesa su una lavagna in quasi tutte le aziende di software del mondo. Ivar Jacobson ha trascorso i successivi sessant'anni a inventare modi per rendere visibile la struttura invisibile del software.

Ystad, Chalmers, Ericsson

Ivar Hjalmar Jacobson è nato il 2 settembre 1939 a Ystad, sulla punta meridionale della Svezia. Ha conseguito un master in ingegneria elettrica presso l'Istituto di tecnologia Chalmers di Göteborg nel 1962 ed è entrato nel dipartimento di ricerca e sviluppo di Ericsson, dove è rimasto per i venticinque anni formativi della sua carriera. Molto più tardi, nel 1985, ha completato un dottorato presso il Royal Institute of Technology di Stoccolma con una tesi intitolata Language Constructs for Large Real Time Systems (Costrutti di linguaggio per grandi sistemi in tempo reale) — un titolo che descrive esattamente il problema della sua vita.

Ericsson in quell'epoca stava costruendo AKE e poi AXE, la centrale telefonica computerizzata che divenne il prodotto distintivo dell'azienda, programmato in un linguaggio interno chiamato PLEX. Una centrale telefonica è un ambiente ingegneristico brutale: deve funzionare ininterrottamente per anni, gestire migliaia di conversazioni simultanee ed essere modificato senza essere spento. I problemi software che Jacobson incontrò lì non erano esercizi accademici.

Componenti, prima che la parola esistesse

La sua prima idea strutturale, nel 1967, fu quella di costruire la centrale a partire da componenti — blocchi di software specificati separatamente con interfacce definite, che potevano essere sviluppati, testati e sostituiti indipendentemente invece di essere intrecciati in un unico programma monolitico. Questa è oggi una pratica comune. All'epoca era abbastanza insolito da richiedere discussioni. La sua stessa azienda descrive l'architettura risultante in Ericsson come la più grande storia di successo commerciale nella storia della Svezia, il che è un'affermazione di parte da una fonte interessata, ma la portata globale del sistema AXE rende difficile ignorare il punto di fondo.

Insieme ai componenti arrivò la notazione: diagrammi di sequenza, diagrammi di collaborazione e diagrammi di transizione di stato per descrivere come i messaggi fluissero effettivamente. Jacobson ha anche contribuito a sviluppare SDL, il Linguaggio di Specifica e Progettazione, che divenne uno standard dell'industria delle telecomunicazioni nel 1976.

IL TEST GRATUITO
Quanto fa il tuo?

Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.

Fai il test del QI →

Il caso d'uso

Nel 1986 Jacobson ha inventato l'idea per cui è più conosciuto. Prima dei casi d'uso, i requisiti software venivano tipicamente scritti come elenchi — il sistema deve fare questo, il sistema deve anche fare quello — senza alcuna relazione ovvia tra gli elementi e senza modo di verificare che l'elenco fosse completo o che fosse stato costruito qualcosa per soddisfarlo.

Un caso d'uso inverte la prospettiva. Descrive il sistema dall'esterno, come un'interazione completa tra un attore — una persona, o un altro sistema — e il software, che va da un trigger a un risultato di valore per quell'attore. Prelevare contanti. Prenotare un posto. Ricollegare una chiamata caduta. Ognuno è una storia con un inizio, uno svolgimento, percorsi alternativi quando le cose vanno male e una fine definita. La conseguenza è pratica piuttosto che filosofica: poiché un caso d'uso è un filo conduttore di comportamento, può essere tracciato. Lo stesso filo attraversa l'analisi, la progettazione, il codice e il test, in modo che un team possa dire a cosa serve un pezzo di codice e se ciò che il cliente ha chiesto funziona effettivamente.

Ha fondato Objective Systems nell'aprile 1987 per commercializzare il metodo; Ericsson ha acquisito una partecipazione di maggioranza nel 1991 e l'azienda è diventata Objectory AB. Nel 1992 ha pubblicato Object-Oriented Software Engineering: A Use Case Driven Approach (Ingegneria del software orientata agli oggetti: un approccio basato sui casi d'uso), il libro che ha portato i casi d'uso nell'industria più ampia.

I tre amigos

Nell'ottobre 1995 Ericsson ha venduto Objectory a Rational Software, e Jacobson si è unito a Grady Booch e James Rumbaugh — tre metodologi rivali con tre notazioni concorrenti, noti collettivamente e un po' stancamente come i Tre Amigos. La loro fusione ha prodotto l'Unified Modeling Language (UML), il vocabolario visivo standard per descrivere i sistemi orientati agli oggetti, e il processo Objectory di Jacobson è stato sviluppato sotto Philippe Kruchten nel Rational Unified Process (RUP). Quando IBM ha comprato Rational nel 2003, Jacobson se n'è andato.

Rendere tutto più leggero

Tutto ciò che è avvenuto dopo il 2004 è stato un tentativo di disfare il peso di ciò che aveva costruito. Ha fondato Ivar Jacobson International a metà del 2004. Nel novembre 2005 ha annunciato l'Essential Unified Process, che ha descritto come una versione super leggera e agile del RUP, fondendo idee di processo unificato, agile e di miglioramento dei processi; dal 2006 ha lavorato con Ian Spence e Pan Wei Ng su EssWork, un quadro che consente ai team di assemblare i propri metodi da un piccolo kernel di elementi universali più pratiche scelte.

Nel novembre 2009 ha lanciato SEMAT (Software Engineering Method and Theory) con Bertrand Meyer e Richard Soley, sostenendo che l'ingegneria del software avesse bisogno di una vera base teorica invece di una processione di metodi alla moda. Il risultato, Essence, è stato adottato come standard dall'Object Management Group nel novembre 2014. Ha anche lavorato sullo sviluppo orientato agli aspetti, pubblicando Aspect-Oriented Software Development with Use Cases con Pan-Wei Ng nel 2004, e ha fondato Jaczone AB con Agneta Jacobson nel 2000, il cui strumento Waypointer ha vinto un premio JOLT nel 2004.

Perché Ivar è chiamato genio

La capacità specifica è notazionale: Jacobson ha trovato ripetutamente la rappresentazione che rendeva pensabile un problema intrattabile. I diagrammi di sequenza, i casi d'uso e le interfacce dei componenti sono tutti la stessa mossa: prendere qualcosa che esiste solo come comportamento aggrovigliato all'interno di un sistema in esecuzione e dargli una forma che un essere umano possa tenere a mente e di cui un team possa discutere. Questo è un talento più raro che inventare un algoritmo, perché una buona notazione deve essere contemporaneamente abbastanza precisa per gli ingegneri e abbastanza semplice per il cliente che paga per il lavoro. I casi d'uso hanno avuto successo perché erano entrambe le cose. Lo ha fatto dall'interno della pratica industriale, non da un'università, motivo per cui le idee sono sopravvissute al contatto con progetti reali.

Il controargomento onesto è sostanziale e probabilmente accetterebbe la maggior parte di esso. È uno dei tre autori dell'UML, e l'UML stesso è ampiamente criticato come un prodotto di comitato che è diventato gonfio e che ora viene utilizzato in modo molto più selettivo di quanto i suoi progettisti intendessero. Il RUP, derivato dal suo Objectory, è diventato sinonimo di processo pesante — la cosa stessa contro cui il movimento agile si è organizzato — e Jacobson ha trascorso i due decenni dal 2004 a costruire quadri più leggeri in reazione esplicita a ciò. I casi d'uso sono stati parzialmente sostituiti nei team agili dalla user story, più breve e più grezza. SEMAT ed Essence, nonostante il loro status di standard OMG, non hanno raggiunto l'adozione a livello industriale che sperava. Il suo genio è reale, ma è il genio del creatore di strumenti, e i creatori di strumenti vengono giudicati in base al fatto che gli strumenti rimangano in uso.

Eredità

Jacobson ha scritto dieci libri, da OOSE nel 1992 a The Essentials of Modern Software Engineering nel 2019, passando per The Object Advantage, Software Reuse, The Unified Software Development Process e The Essence of Software Engineering, e ha pubblicato più di cento articoli. Chalmers gli ha conferito la medaglia Gustaf Dalén nel 2003; l'Università San Martín de Porres in Perù lo ha reso dottore onorario nel 2009. Rimane fondatore, presidente e amministratore delegato di Ivar Jacobson International. Qualunque cosa sopravviva di UML e RUP, l'abitudine di chiedere chi sta usando questo sistema e cosa sta cercando di fare — la domanda che il caso d'uso ha imposto a ogni progetto — è ora semplicemente il modo in cui viene specificato il software.

Confronta con i grandi

Benjamin Franklin vs Francis CrickGalileo Galilei vs Gottfried Wilhelm LeibnizDavid Hilbert vs Ludwig Van BeethovenSrinivasa Ramanujan vs Sun Tzu
Vedi Classifica →Tutti i confronti →

Bambini prodigio

Jacob BarnettJacob BarnettAutistic Physics Prodigy — IUPUI Master's at 14, Perimeter…Yusra MardiniYusra MardiniSwam Refugees to Safety Across the Aegean — Olympic Athlete on…Mahnoor CheemaMahnoor CheemaPassed 34 O-Levels by Age 13 — Pakistani-British Prodigy with…Dominique MoceanuDominique MoceanuYoungest member of the 1996 Olympic gold 'Magnificent Seven' at…
Bambini prodigio →

Gioca e torna domani

Sfida del genio del giorno · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Tocca la tua risposta ↓
Quale genio sei? Test del QI gratuito