Ivar Jacobson: el ingeniero que dibujó el software
En 1967, trabajando en centrales telefónicas en Ericsson, un joven ingeniero sueco necesitaba una forma de mostrar cómo viajaban los mensajes entre las partes de un conmutador. Dibujó a los participantes en la parte superior de una página y dejó que el tiempo corriera hacia abajo, siendo cada mensaje una flecha que cruzaba de una línea vertical a otra. Ese boceto se llama ahora diagrama de secuencia, y una versión del mismo cuelga en la pizarra de casi todas las empresas de software de la Tierra. Ivar Jacobson pasó las siguientes seis décadas inventando formas de hacer visible la estructura invisible del software.
Ystad, Chalmers, Ericsson
Ivar Hjalmar Jacobson nació el 2 de septiembre de 1939 en Ystad, en el extremo sur de Suecia. Obtuvo un máster en ingeniería eléctrica en el Instituto Chalmers de Tecnología de Gotemburgo en 1962 y se incorporó al departamento de investigación y desarrollo de Ericsson, donde permaneció durante los veinticinco años formativos de su carrera. Mucho después, en 1985, completó un doctorado en el Real Instituto de Tecnología de Estocolmo con una tesis titulada Language Constructs for Large Real Time Systems (Construcciones de lenguaje para grandes sistemas en tiempo real), un título que describe exactamente el problema de su vida.
Ericsson estaba construyendo en aquella época el AKE y luego el AXE, la central telefónica informatizada que se convirtió en el producto emblemático de la empresa, programado en un lenguaje interno llamado PLEX. Una central telefónica es un entorno de ingeniería brutal: debe funcionar continuamente durante años, gestionar miles de conversaciones simultáneas y modificarse sin ser apagada. Los problemas de software que Jacobson encontró allí no fueron ejercicios académicos.
Componentes, antes de que la palabra existiera
Su primera idea estructural, en 1967, fue construir la central a base de componentes: bloques de software especificados por separado con interfaces definidas, que podían desarrollarse, probarse y sustituirse de forma independiente en lugar de tejerse en un único programa monolítico. Esto es hoy una práctica común. En aquella época era lo suficientemente inusual como para requerir argumentos. Su propia empresa describe la arquitectura resultante en Ericsson como la mayor historia de éxito comercial en la historia de Suecia, lo cual es una afirmación partidista de una fuente interesada, pero el alcance global del sistema AXE hace que el punto subyacente sea difícil de descartar.
Junto a los componentes llegaron las notaciones: diagramas de secuencia, diagramas de colaboración y diagramas de transición de estados para describir cómo fluían realmente los mensajes. Jacobson también ayudó a desarrollar SDL, el Lenguaje de Especificación y Diseño, que se convirtió en un estándar de la industria de las telecomunicaciones en 1976.
Veinte preguntas, ocho minutos de reloj y un percentil medido frente a todos los que la han hecho. Sin registro.
Hacer la prueba de CI →El caso de uso
En 1986, Jacobson inventó la idea por la que es más conocido. Antes de los casos de uso, los requisitos de software se escribían normalmente como listas —el sistema hará esto, el sistema también hará aquello— sin una relación obvia entre los elementos y sin forma de comprobar si la lista estaba completa o si se había construido algo para satisfacerla.
Un caso de uso invierte la perspectiva. Describe el sistema desde fuera, como una interacción completa entre un actor —una persona u otro sistema— y el software, que va desde un disparador hasta un resultado de valor para ese actor. Retirar efectivo. Reservar un asiento. Reconectar una llamada caída. Cada uno es una historia con un principio, un nudo, caminos alternativos cuando las cosas salen mal y un final definido. La consecuencia es más práctica que filosófica: como un caso de uso es un hilo de comportamiento, puede ser rastreado. El mismo hilo recorre el análisis, el diseño, el código y la prueba, de modo que un equipo puede decir para qué sirve un trozo de código y si lo que el cliente pidió realmente funciona.
Fundó Objective Systems en abril de 1987 para comercializar el método; Ericsson tomó una participación mayoritaria en 1991 y la empresa pasó a llamarse Objectory AB. En 1992 publicó Object-Oriented Software Engineering: A Use Case Driven Approach (Ingeniería de software orientada a objetos: un enfoque basado en casos de uso), el libro que llevó los casos de uso a la industria en general.
Los tres amigos
En octubre de 1995, Ericsson vendió Objectory a Rational Software, y Jacobson se unió a Grady Booch y James Rumbaugh —tres metodólogos rivales con tres notaciones competidoras, conocidos colectiva y algo cansadamente como los Tres Amigos. Su fusión produjo el Lenguaje Unificado de Modelado (UML), el vocabulario visual estándar para describir sistemas orientados a objetos, y el proceso Objectory de Jacobson se desarrolló bajo Philippe Kruchten en el Proceso Unificado de Rational (RUP). Cuando IBM compró Rational en 2003, Jacobson se marchó.
Hacerlo más ligero
Todo después de 2004 ha sido un intento de deshacer el peso de lo que construyó. Fundó Ivar Jacobson International a mediados de 2004. En noviembre de 2005 anunció el Proceso Unificado Esencial, que describió como una versión superligera y ágil del RUP, mezclando ideas de procesos unificados, ágiles y de mejora de procesos; a partir de 2006 trabajó con Ian Spence y Pan Wei Ng en EssWork, un marco de trabajo que permite a los equipos montar sus propios métodos a partir de un pequeño núcleo de elementos universales más prácticas elegidas.
En noviembre de 2009 lanzó SEMAT (Software Engineering Method and Theory), con Bertrand Meyer y Richard Soley, argumentando que la ingeniería de software necesitaba una base teórica genuina en lugar de una procesión de métodos de moda. El resultado, Essence, fue adoptado como estándar del Object Management Group en noviembre de 2014. También ha trabajado en el desarrollo orientado a aspectos, publicando Aspect-Oriented Software Development with Use Cases con Pan-Wei Ng en 2004, y fundó Jaczone AB con Agneta Jacobson en 2000, cuya herramienta Waypointer ganó un premio JOLT en 2004.
Por qué llaman genio a Ivar
La capacidad específica es notacional: Jacobson encontró repetidamente la representación que hacía pensable un problema intratable. Los diagramas de secuencia, los casos de uso y las interfaces de componentes son el mismo movimiento: tomar algo que solo existe como comportamiento enredado dentro de un sistema en ejecución y darle una forma que un ser humano pueda mantener en mente y sobre la que un equipo pueda discutir. Ese es un talento más raro que inventar un algoritmo, porque una buena notación tiene que ser simultáneamente lo suficientemente precisa para los ingenieros y lo suficientemente simple para el cliente que paga el trabajo. Los casos de uso tuvieron éxito porque eran ambas cosas. Lo hizo desde dentro de la práctica industrial, no desde una universidad, por eso las ideas sobrevivieron al contacto con proyectos reales.
El contraargumento honesto es sustancial y él probablemente aceptaría la mayor parte. Es uno de los tres autores de UML, y el propio UML es ampliamente criticado como un producto de comité que se volvió pesado y que ahora se utiliza de forma mucho más selectiva de lo que sus diseñadores pretendían. El RUP, derivado de su Objectory, se convirtió en sinónimo de proceso pesado —aquello contra lo que se organizó el movimiento ágil— y Jacobson ha pasado las dos décadas transcurridas desde 2004 construyendo marcos de trabajo más ligeros en reacción explícita a él. Los casos de uso han sido parcialmente desplazados en los equipos ágiles por la historia de usuario, más corta y cruda. SEMAT y Essence, a pesar de su estatus como estándar de la OMG, no han logrado la aceptación en toda la industria que él esperaba. Su genio es real, pero es el genio del fabricante de herramientas, y a los fabricantes de herramientas se les juzga por si las herramientas siguen en uso.
Legado
Jacobson ha escrito diez libros, desde OOSE en 1992 hasta The Essentials of Modern Software Engineering en 2019, pasando por The Object Advantage, Software Reuse, The Unified Software Development Process y The Essence of Software Engineering, y ha publicado más de cien artículos. Chalmers le otorgó la medalla Gustaf Dalén en 2003; la Universidad San Martín de Porres de Perú le nombró doctor honoris causa en 2009. Sigue siendo fundador, presidente y consejero delegado de Ivar Jacobson International. Lo que sobreviva del UML y el RUP, el hábito de preguntar quién utiliza este sistema y qué intenta hacer —la pregunta que el caso de uso forzó en cada proyecto— es ahora simplemente la forma en que se especifica el software.



