Book Image

Agile Model-Based Systems Engineering Cookbook

By : Dr. Bruce Powel Douglass
Book Image

Agile Model-Based Systems Engineering Cookbook

By: Dr. Bruce Powel Douglass

Overview of this book

Agile MBSE can help organizations manage constant change and uncertainty while continuously ensuring system correctness and meeting customers’ needs. But deploying it isn’t easy. Agile Model-Based Systems Engineering Cookbook is a little different from other MBSE books out there. This book focuses on workflows – or recipes, as the author calls them – that will help MBSE practitioners and team leaders address practical situations that are part of deploying MBSE as part of an agile development process across the enterprise. Written by Dr. Bruce Powel Douglass, a world-renowned expert in MBSE, this book will take you through important systems engineering workflows and show you how they can be performed effectively with an agile and model-based approach. You’ll start with the key concepts of agile methods for systems engineering, but we won’t linger on the theory for too long. Each of the recipes will take you through initiating a project, defining stakeholder needs, defining and analyzing system requirements, designing system architecture, performing model-based engineering trade studies, all the way to handling systems specifications off to downstream engineering. By the end of this MBSE book, you’ll have learned how to implement critical systems engineering workflows and create verifiably correct systems engineering models.
Table of Contents (8 chapters)

Test-driven modeling

For the last recipe in the book, I'd like to present a recipe that is central to my view of the integration of modeling and Agile methods. The archetypal workflow in Agile software methods is test-driven development (TDD), in which you do the following:

    Loop
        Write a test case
        Write a bit of code to meet that test case
        Apply test case
        If (defect) fix defect;
    Until done;

It's an appealing story, to be sure. Each loop shouldn't take more than a few minutes. This is a key means in Agile methods to develop high-quality code; test incrementally throughout the coding process.

TDD aligns with this law of Douglass:

The best way not to have defects in your system is to not put any defects into your system....