Table Of ContentAgile Systems Engineering
Agile Systems Engineering
Bruce Powel Douglass, Ph.D.
Chief Evangelist
IBM Internet of Things
AMSTERDAM(cid:129)BOSTON(cid:129)HEIDELBERG(cid:129)LONDON
NEWYORK(cid:129)OXFORD(cid:129)PARIS(cid:129)SANDIEGO
SANFRANCISCO(cid:129)SINGAPORE(cid:129)SYDNEY(cid:129)TOKYO
MorganKaufmannisanimprintofElsevier
AcquiringEditor:ToddGreen
EditorialProjectManager:CharlieKent
ProjectManager:PriyaKumaraguruparan
CoverDesigner:VictoriaPearsonEsser
MorganKaufmannisanimprintofElsevier
225WymanStreet,Waltham,MA02451,USA
r2016ElsevierInc.Allrightsreserved.
Nopartofthispublicationmaybereproducedortransmittedinanyformorbyanymeans,electronicor
mechanical,includingphotocopying,recording,oranyinformationstorageandretrievalsystem,without
permissioninwritingfromthepublisher.Detailsonhowtoseekpermission,furtherinformationaboutthe
Publisher’spermissionspoliciesandourarrangementswithorganizationssuchastheCopyrightClearance
CenterandtheCopyrightLicensingAgency,canbefoundatourwebsite:www.elsevier.com/permissions.
Thisbookandtheindividualcontributionscontainedinitareprotectedundercopyrightbythe
Publisher(otherthanasmaybenotedherein).
Notices
Knowledgeandbestpracticeinthisfieldareconstantlychanging.Asnewresearchandexperience
broadenourunderstanding,changesinresearchmethods,professionalpractices,ormedicaltreatment
maybecomenecessary.
Practitionersandresearchersmustalwaysrelyontheirownexperienceandknowledgein
evaluatingandusinganyinformation,methods,compounds,orexperimentsdescribedherein.
Inusingsuchinformationormethodstheyshouldbemindfuloftheirownsafetyandthe
safetyofothers,includingpartiesforwhomtheyhaveaprofessionalresponsibility.
Tothefullestextentofthelaw,neitherthePublishernortheauthors,contributors,oreditors,assume
anyliabilityforanyinjuryand/ordamagetopersonsorpropertyasamatterofproductsliability,
negligenceorotherwise,orfromanyuseoroperationofanymethods,products,instructions,orideas
containedinthematerialherein.
ISBN:978-0-12-802120-0
BritishLibraryCataloguing-in-PublicationData
AcataloguerecordforthisbookisavailablefromtheBritishLibrary.
LibraryofCongressCataloging-in-PublicationData
AcatalogrecordforthisbookisavailablefromtheLibraryofCongress.
ForInformationonallMorganKaufmannpublications
visitourwebsiteatwww.mkp.com
To my loving supportive mate
and Triathlon Sherpa extraordinaire,
Sarah—You’re Awesome.
About the Author
Bruce was raised by wolves in the Oregon wilderness. He taught himself to read at age 3
and calculus before age 12. He dropped out of school when he was 14 and traveled around
the US for a few years before entering the University of Oregon as a mathematics major.
He eventually received his M.S. in exercise physiology from the University of Oregon and
his Ph.D. in neurocybernetics from the USD Medical School, where he developed a branch
of mathematics called autocorrelative factor analysis for studying information processing in
multicellular biological neural systems.
Bruce has worked as a software developer and systems engineer in real-time embedded
systems for over 30 years and is a well-known speaker, author, and consultant in the area of
real-time embedded systems. He has been on the Advisory Board of the Embedded Systems
and UML World conferences where he has taught courses in systems engineering, project
estimation and scheduling, project management, object-oriented analysis and design,
communications protocols, finite state machines, design patterns, and safety-critical systems
design. He develops and teaches courses and consults in real-time systems and software
design and project management and has done so for many years. He has authored articles
for a many journals and periodicals, especially in the real-time domain.
He is the Chief Evangelist for IBM Internet of Things (IoT). Being a Chief Evangelist is
much like being a Chief Scientist, except for the burning bushes and stone tablets. Bruce
worked with UML partners on the specification of the UML and SysML standards. He
®
developed the first UML Profile for DoDAF for the Rhapsody modeling tool as well as
other profiles such as a Fault Tree Analysis Profile and a Security Analysis Profile. He has
been a co-chair of the Object Management Group’s Real-Time Analysis and Design
Working Group. He is the author of several other books on systems and software
development, including Doing Hard Time: Developing Real-Time Systems with UML,
Objects, Frameworks and Patterns (Addison-Wesley, 1999), Real-Time Design Patterns:
Robust Scalable Architecture for Real-Time Systems (Addison-Wesley, 2002), Real-Time
UML 3rd Edition: Advances in the UML for Real-Time Systems (Addison-Wesley, 2004),
Real-Time Agility (Addison-Wesley, 2009), Design Patterns for Embedded Systems in C
(Elsevier, 2011), Real-Time UML Workshop for Embedded Systems (Elsevier, 2014) and
several others, including a short textbook on table tennis.
xv
xvi About the Author
Bruce enjoys classical music and has played classical guitar professionally. He has
competed in several sports, including table tennis, ultramarathon bicycle racing, running,
and full-contact Tae Kwon Do, although he currently only fights inanimate objects that
don’t hit back. He has recently gotten back into racing triathlons and ultramarathon cycling
and completed his first Ironman triathlon in 2014.
Bruce does extensive consulting and training throughout the world. If you’re interested,
contact him at Bruce.Douglass@us.ibm.com.
Preface
Products are becoming more capable and complex at an exponential rate. Additionally, the
safety, reliability, and security concerns for these systems are making these systems much
more difficult to engineer. Simultaneously, product development cycles are shrinking.
Clearly, change in needed. We need to be able to produce more capable systems in less
time and with fewer defects.
One touted solution to this problem is to eschew text as the primary means for capturing
engineering data. While text is wonderfully expressive, it is ambiguous and woefully
imprecise. Modeling using more formally defined languages (notably, in this context,
UML and SysML) claims to improve specific engineering data. If only we could
figure out how.
Another offered solution is agile methods. These have been developed in the software IT
community although they have begun to be applied to embedded and real-time systems
as well. However, the agile literature is (almost) entirely focused on desktop or IT software
development. The development environments they consider are (almost) exclusively small
co-located teams where there are no safety, reliability, or security concerns. And no
co-development of electronics or mechanical parts. So the systems engineer is left to
wonder, “How does this apply to ME and my work?” The agile literature offers no answer.
There are (good) books on systems engineering. There are (also good) books on SysML and
Model-Based Systems Engineering (MBSE). There are books on agile methods for software
(and some of those are good too). However, there is currently no book that attempts to
integrate these concepts together into a cohesive, usable approach for systems engineering.
This book is meant to address that need.
We start with a short introduction to the discipline of systems engineering followed by a
brief discussion of agile methods, as they are discussed in the (mostly software) literature,
including their benefits. Rounding out the introductory portion of the book, there is a
chapter on basic SysML. With that, we are ready to start on the journey to understanding
how to effectively and efficiently apply MBSE in Real Life (IRL).
xvii
xviii Preface
The approach in the book is based on the author’s Harmony Agile Systems Engineering
Process. The software development aspects of this process are described in detail
elsewhere1; this book only addresses the systems engineering concerns. The Harmony Agile
Systems Engineering process is an agile, model-centric approach to developing the
engineering data required of systems engineering; requirements, architectures, interfaces,
and dependability analyses are the foremost among these. The Harmony process has been
developed and honed by the decades of systems experience of the author in real projects
that fly, drive, and otherwise perform all around the world.
There is a saying among educators—“I show you, and you see. I tell you and you hear.
You do it and you understand.” To that end, there are extensive examples in the book to
illustrate the details of executing the engineering steps involved. These examples contain
aspects from multiple engineering disciplines, including software, electronic, and
mechanical engineering. The first of these examples is a high-end running treadmill. The
second, and more complex, example is a wearable robotic industrial exoskeleton (known as
a waldo) capable of carrying 1500kg. Each of the primary activities of the Harmony Agile
Systems Engineering process is discussed and then demonstrated with these and other
examples. The reader is urged to construct their own solutions to the problems presented
and to build the models described in these chapters.
Audience
The primary audience for this book is, naturally enough, systems engineers. This means
engineers whose primary focus is the specification and design of systems that will be
implemented (generally) by multiple engineering disciplines. Systems engineers specify the
system properties of the product but leave discipline-specific details to the appropriate
downstream engineering team. Some of those downstream engineers may find the
information in this book of interest as well, especially the details of how the systems
engineering data are formatted and adapted to meet their needs in the Handoff activity.
Goals
As I travel throughout the world, I am struck by the difficulty systems engineers have in
applying MBSE approaches. The primary language—SysML—is daunting. SysML includes
the 800-or-so pages of the UML specification and adds hundreds more. It is a highly
capable but quite complex language.
1 See,forexample,Real-TimeAgility(Addison-Wesley,2009)orReal-TimeUMLWorkshopforEmbedded
Systems(Elsevier,2014).
Preface xix
Beyond just the language itself, as product complexity increases exponentially and product
delivery cycles decrease monotonically, there is an urgent need to simultaneously increase
the efficiency of systems engineering work and to improve its quality as well. More and
more, we see systems taking over for humans in safety-critical, high-reliability, and secure
environments, and we must be able to depend upon these systems functioning properly, all
the time.
This book has a simple goal—provide enough guidance for systems engineers so that they
can easily and effectively apply agile methods and MBSE to the development of complex
systems in a world that increasingly relies on these systems for operation.
Tooling
The modeling examples in this book are all modeled with the IBM® Rhapsodyt tool.
However, one of the good things about a standard is that there are multiple options for
different tools. If you have a different tool that you prefer that supports the SysML
standard, you should have little difficulty in building these models in the tool of your
choice. This is not a book about Rhapsody, nor is it Rhapsody-specific.
Where to Go After the Book
If you’re interested in tools, training, or consulting, see www.ibm.com. I teach advanced
classes and consult worldwide on UML, SysML, MDA, DoDAF, architectural design,
design patterns, requirements modeling, use cases, safety critical development,
behavioral modeling, the development process improvement, project management and
scheduling, and quite a bit more. You can contact me for training or consulting services at
Bruce.Douglass@us.ibm.com. I also run a (free) yahoo group forum as well at http://
groups.yahoo.com/group/RT-UML—come on down! My IBM Thought Leader page
(http://www-01.ibm.com/software/rational/leadership/thought/brucedouglass.html) also has
many white papers available for downloading on different topics that may be of interest.
Bruce Powel Douglass, Ph.D.
Summer, 2015
Acknowledgments
I want to thank my editor, Charlotte Kent, for nagging me when I clearly needed it and
being supportive when I need that too. My reviewer Barclay Brown of IBM was also
helpful in keeping me honest. I have no doubt that errors remain—and I claim full
responsibility for those. Most of all, I want to thank my family for keeping me sane, or at
least trying to, while I burned the midnight electrons, creating this book.
xxi