I was sitting in Barry Boehm's office at USC one afternoon. We were talking about driving software development from unit testing.
Barry looked at me and said, "I can't believe people seriously design software this way."
I replied, "You know, Barry, this industry is broken."
He nodded. "Yeah, I know."
Then I asked, "Who's going to fix it if not us?"
That's when Parallel Agile was born.
Let me explain...
Doug Rosenberg
Founder of ICONIX and Parallel Agile, author, trainer, and consultant in software and systems engineering.
Barry Boehm
Parallel Agile seed investor, Chief Scientist, mentor, friend, and one of the defining figures in software engineering.
I graduated from USC with a B.S. in Electrical Engineering in 1980 and joined TRW as a junior software engineer.
Barry Boehm was TRW's Chief Scientist. I didn't know him personally at the time, but to me he was the Lord God of Software Engineering. He had already developed COCOMO and was helping define the discipline of software engineering itself.
I had no idea our careers would become intertwined for the next four decades.
A few years later I founded ICONIX and wrote my first software engineering paper.
It was accepted for presentation at the Eighth International Conference on Software Engineering, chaired by Professor Barry Boehm.
That conference in London was the first time we actually met.
One of ICONIX's earliest products was a Macintosh implementation of Barry's COCOMO software cost estimation model.
I asked Barry to review our little 3.5-inch floppy disk version, and he generously agreed.
That small project marked the beginning of a technical collaboration and friendship that would continue for decades.
After serving as Director of DARPA's Information Science and Technology Office, Barry returned to USC and founded the Center for Software Engineering, later renamed the Center for Systems and Software Engineering.
I became an affiliate member of the center, spoke at many of its workshops, and continued collaborating with Barry on software engineering research and education.
Barry was adamant that software engineering and systems engineering could NOT be treated as separate disciplines. As software became the defining element of increasingly complex systems, he believed they had to be approached together.
That philosophy had a profound influence on me. It eventually led to one of my favorite sayings:
"Without software there is no system."
As Barry continued teaching graduate software engineering at USC, he invited me back to guest lecture in his classes.
One semester, I assigned a different use case to each of 47 graduate students so they could work in parallel while still building a coherent system. Barry had long been interested in applying ideas from parallel processing to software development, and so had I. Barry ultimately gave the company its name: Parallel Agile.
Later, I became an industry mentor, working with master's students on directed research projects. Barry continued introducing me to talented graduate students and gave me the opportunity to mentor increasingly ambitious research efforts.
Over the next several years, I employed a couple of hundred of Barry's graduate students over six semesters to develop CarmaCam, an AI/ML-based traffic safety system, along with a couple of other major software projects.
Along the way, I developed the Parallel Agile management process: an evolution of Barry's Spiral Model that applies parallel development techniques to large software projects.
Ultimately, we formed a company around that work, combining the Parallel Agile management process with research into UML- and SysML-based code generation. Barry became our seed investor and Chief Scientist, remaining a close friend, mentor, and advisor for many years.
One of the greatest honors of my career was co-authoring a book with Barry. Seeing my name on a book cover alongside his was a proud moment and a fitting milestone in a friendship and collaboration that had begun decades earlier.
Another important chapter in our history began with my long collaboration with Matt Stephens, who would later become Parallel Agile's co-founder and Director of Development. During our years together at ICONIX, Matt and I co-authored Use Case Driven Object Modeling: Theory and Practice, eXtreme Programming Refactored, and Design-Driven Testing. Those books reflected our shared belief that better software comes from better models, better design, and better engineering discipline.
When we later founded Parallel Agile, Matt became the principal architect behind CodeBot, our model-driven code generation platform. He led the development of technology capable of generating complete MERN-stack applications, including MongoDB databases, Express.js services, React user interfaces, and Node.js server code, from UML and SysML models. Although AI-assisted software development has since transformed that landscape, the underlying goal remains the same: helping engineers build better software through better models.
Today, I'm continuing the work that Barry and I started together. That journey has led into new areas such as AI-Assisted MBSE, but the mission remains the same: helping engineers build better systems through better methods, better specifications, and better tools.
In my own mind, I'm still working for Barry.