Books

Systems engineering, software engineering, and project management.

I've written a lot of books over the years.

I don't write books just for the sake of writing books.

I usually write one because I see an important problem in the industry and think I have something useful—hopefully even insightful—to contribute toward solving it.

Over the years, those problems have led me down three closely related paths. The books below are organized into those three areas of interest.

I hope you'll find one that helps solve a problem you're working on.

Illustrated headshot of Doug Rosenberg saying he has written a lot of books over the years

SysML & Model-Based Systems Engineering

Cover of AI-Assisted MBSE

AI-Assisted MBSE

An Integrated Systems/Software Approach

Cover of Pain-Free MBSE

Pain-Free MBSE

A Rigorous but Gentle Approach to SysML Modeling

Cover of Embedded Systems Development using SysML

Embedded Systems Development using SysML

An Illustrated Example using Enterprise Architect

Use Cases, UML & Object-Oriented Design

Cover of Use Case Driven Object Modeling: Theory and Practice

Use Case Driven Object Modeling: Theory and Practice

Theory and Practice

Cover of Design-Driven Testing

Design-Driven Testing

Test Smarter, Not Harder

Cover of Applying Use Case Driven Object Modeling

Applying Use Case Driven Object Modeling

An Annotated e-Commerce Example

Cover of Use Case Driven Object Modeling

Use Case Driven Object Modeling

A Practical Approach

Software Engineering & Project Management

Cover of Parallel Agile

Parallel Agile

Faster Delivery, Fewer Defects, Lower Cost

Cover of ICONIX Process Roadmaps

ICONIX Process Roadmaps

Step-by-step guidance for BPM, SOM, embedded, and algorithm-intensive systems

Cover of Agile Development with ICONIX Process

Agile Development with ICONIX Process

People, Process, and Pragmatism

Cover of eXtreme Programming Refactored

eXtreme Programming Refactored

The Case Against XP

Although these books may appear to cover different subjects, I have always thought of them as parts of the same engineering discipline.

My early books focused on software engineering and object-oriented design. That work naturally evolved into systems engineering and Model-Based Systems Engineering, and more recently into AI-assisted engineering.

"Without software there is no system."

As software has become the defining element of modern systems, the boundaries between software engineering and systems engineering have largely disappeared.

Today my work focuses on helping engineers use AI to create better specifications, better SysML models, and ultimately better software. Modern coding agents are remarkably capable, but they still have to guess whenever a specification is incomplete. Better specifications help AI guess less, iterate less, and produce software that more closely matches the engineer's intent.

Looking back, I realize that every one of these books started with the same motivation: seeing a problem that needed solving and trying to contribute something useful to the engineering community.