Agile
Agile
Agile
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Agile Product Development For Dummies®, IBM Limited Edition
Published by
John Wiley & Sons, Inc.
111 River St.
Hoboken, NJ 07030‐5774
www.wiley.com
Copyright © 2015 by John Wiley & Sons, Inc.
Manifesto for Agile Software Development, Copyright © 2001 by Kent Beck, Mike Beedle,
Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning,
Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin,
Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas, (http://agilemanifesto.org)
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any
form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise,
except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without the
prior written permission of the Publisher. Requests to the Publisher for permission should be
addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ
07030, (201) 748‐6011, fax (201) 748‐6008, or online at http://www.wiley.com/go/permissions.
Trademarks: Wiley, For Dummies, the Dummies Man logo, The Dummies Way, Dummies.com,
Making Everything Easier, and related trade dress are trademarks or registered trademarks of John
Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be used
without written permission. IBM and the IBM logo are registered trademarks of International
Business Machines Corporation. Scaled Agile Framework® and SAFe® are registered marks of Scaled
Agile, Inc. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc.,
is not associated with any product or vendor mentioned in this book.
For general information on our other products and services, or how to create a custom For Dummies
book for your business or organization, please contact our Business Development Department in the
U.S. at 877‐409‐4177, contact [email protected], or visit www.wiley.com/go/custompub. For
information about licensing the For Dummies brand for products or services, contact
BrandedRights&[email protected].
ISBN: 978‐1‐119‐17736‐4 (pbk); ISBN: 978‐1‐119‐17737‐1 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
Publisher’s Acknowledgments
Some of the people who helped bring this book to market include the following:
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
About This Book......................................................................... 1
Icons Used in This Book............................................................. 2
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
iv Agile Product Development For Dummies, IBM Limited Edition
Model‐Based Engineering.............................................. 21
Incremental development.............................................. 21
Continuous integration.................................................. 22
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
2 Agile Product Development For Dummies, IBM Limited Edition
Tips are key things that make your life easier as you adopt
agile product development.
Watch out for Warning icons. These are pitfalls and things you
want to avoid in your adoption of agile product development.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 1
I n the last few years, the term agile has changed from a
slightly geeky subject only mentioned between software
developers to a topic that’s discussed much more widely in
businesses developing technology products. In this chapter,
you discover some of the market forces driving that change
and what agile can offer for product development.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
4 Agile Product Development For Dummies, IBM Limited Edition
But all this extra software and functionality means more com-
plexity. You’ve probably seen statistics about how the soft-
ware in a typical automobile has gone from a few thousands
of lines of code to a few tens or even hundreds of millions
in just a few years. The bottom line is there’s just a lot more
stuff to engineer — and to get right. And the difficulty doesn’t
increase linearly with the size of code, size of electronics,
number of sensors, and so on. More complex products mean
bigger development teams, perhaps outsourcing parts of
development, integration with third‐party technology, supply
chain management, and so on. And as products do more, the
potential to go wrong is greater. If those failures have signifi-
cant safety or financial implications then they may, in time,
lead to more regulation of the product, adding layers of com-
pliance to the development activity.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 1: Why Agile Product Development? 5
✓✓Products are becoming more instrumented. Low‐cost
sensors, such as cameras, microphones, accelerometers,
temperature and pressure transducers, and GPS location
receivers, are allowing products to monitor and react to
their environment.
✓✓Products are becoming more interconnected. Through
wired or wireless connections many products are no
longer standalone devices, and the functionality and
value they provide often depend on the wider system in
which they operate.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
6 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 1: Why Agile Product Development? 7
Continuous engineering isn’t a process; it’s a set of principles
that can guide the application of the detailed processes for
doing the design. You still need an approach for the detailed
processes — and that’s where agile comes in.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
8 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 1: Why Agile Product Development? 9
more recently, as embedded software has become an ever
more vital part of many products, embedded software devel-
opers have increasingly turned to agile.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
10 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 2
Understanding Agile
Product Line Engineering
In This Chapter
▶▶Looking into competitive pressure
▶▶Defining product line engineering
▶▶Listing the core needs for product line engineering
▶▶Understanding the techniques of variant management
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
12 Agile Product Development For Dummies, IBM Limited Edition
What is PLE?
Product Line Engineering (PLE) is a disciplined approach
to constructing a family of products that have commonality
in terms of their engineering data. This originated from an
earlier discipline called Software Product Lines (SPL) and has
been generalized to product development.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 2: Understanding Agile Product Line Engineering 13
to reuse the engineering data from previous systems to make
new ones. The Software Engineering Institute (SEI) reports
that SPL has resulted in “order of magnitude improvements in
time‐to‐market, cost, productivity, quality, and other business
drivers.” (https://www.sei.cmu.edu/productlines/)
Strategy
Various methods and workflows can be used to implement
PLE, and they all have benefits and costs. However, because
PLE is larger than a single project, it’s imperative that dif-
ferent teams approach PLE using the same workflows and
methods.
Interconnected engineering
repositories
People generate a lot of engineering data of many kinds in a
typical product development cycle, including
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
14 Agile Product Development For Dummies, IBM Limited Edition
Traceability
A key facility to interconnect the engineering data sets is
traceability. Traceability identifies the links between indi-
vidual elements in those engineering data sets. For example,
requirement R1 might trace to architectural elements A15 and
A22 and to test cases T155, T156, T158, and T436. Software design
element SWD17 and electronics design element ED89 might
collaborate to meet the safety analysis SA44. Traceability is
important in PLE because multiple variants of work products
differ in subtle but critical ways. It provides the detailed rela-
tionships between data elements required to maintain mul-
tiple product variants simultaneously.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 2: Understanding Agile Product Line Engineering 15
Techniques of Variant
Management
Reuse is harder than it sounds because PLE involves reusing
many different kinds of engineering artifacts. And, because
you’re creating variants, you’re reusing some data and also
creating new data. A number of techniques exist for imple-
menting PLE with different levels of sophistication, offering
different benefits.
Multi‐stream
In the multi‐stream approach each component — both core
and product variant-specific components — has a defined set
of engineering data (requirements, design, and so on) and is
managed in a stream to account for changes and fixes. New
product variants are constructed by taking most or all of the
core platform and adding in new components that define the
product variant. This allows for more opportunistic reuse.
Branching the streams of the components is the primary
means for variant management.
Product parametrics
Parameters can be used to identify the variant to be con-
structed. An automotive PLE model, for example, might have
parameters for the engine to be used (United States, Europe,
Asia, rest of world), the drive train (economy, performance,
4x4), which trim level (basic, advanced, luxury), and the info-
tainment system (basic, enhanced, premium). This defines a
large set of potential variants, not all of which must be pro-
duced; there might not be a need for a 4x4 car with an Asian
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
16 Agile Product Development For Dummies, IBM Limited Edition
Feature management
In feature management, the reusable pieces are organized
around product features. Each feature has its own set of inte-
grated work products and engineering data and may also pro-
vide internal variants of the features based on parameters or,
more likely, multiple streams.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 3
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
18 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 3: Agile Systems Engineering 19
Allocation of requirements
to subsystems
In preparation for subsystem development, requirements
must be allocated to subsystems prior to their being handed
off to teams or subcontractors for development. These
requirements must be consistent with the overall system
requirements and often must result from the decomposition
of system requirements into derived requirements.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
20 Agile Product Development For Dummies, IBM Limited Edition
Early verification of
specifications
A key tenet of agile is that you ensure quality of a work prod-
uct by verifying it as you create it (rather than some weeks
or months after the fact). In the pursuit of quality, you need
direct evidence of completeness, accuracy, and consistency
of the system engineering work products. This means you
need to “test” the specification. Using a more formal language,
such as SysML (and appropriate tooling such as IBM Rational
Rhapsody), to create executable specifications means that
you can simulate the system behavior, allowing demonstra-
tion of its functionality under different circumstances. The
more traditional alternative of reading hundreds of pages of
text is a poor substitute.
Test-Driven Development
The practice of Test‐Driven Development (TDD) is common
in agile software development. It entails the development of
test cases at, or slightly before, the development of some unit
of software, and the immediate application of those tests.
Unit level testing is performed incrementally, usually several
times per day during 20‐ to 60‐minute “nanocycles” to ensure
that the evolving software baseline is defect-free. The same
approach can be applied to the development of executable
specifications. As some set of related requirements are added
(resulting in the addition of a few states, transitions, and
system actions), test cases can be constructed to ensure that
the added capabilities are properly specified. Compared with
a test‐at‐the‐end approach, TDD significantly improves quality
and reduces rework.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 3: Agile Systems Engineering 21
System specifications can be extremely complex. Building
them up in tiny increments — with highly frequent testing —
is a key practice to ensure that your system specifications are
complete, consistent, accurate, and correct.
Model‐Based Engineering
Model‐Based Engineering (MBE) doesn’t remove textual
requirement specifications but augments it with high‐fidelity
models (discussed in Chapter 4) that allow you to reason about
the specifications that you’re creating. SysML was created for
exactly this purpose. MBE allows you to explore requirements
in ways that ambiguous textual specifications don’t, and when
you couple this with building executable specifications and
TDD, you can construct superior specifications over using text
alone. In addition, traceability between the modeled specifi-
cations and the textual requirements can be used to ensure
coverage of all requirements and also assist in impact analysis
when these requirements change.
Incremental development
Another key concept for agile systems engineering is the incre-
mental development of the system work products, and this
includes requirements, architectures, and dependability speci-
fications. This incremental development occurs at two levels.
First, you can incrementally construct your specifications by
working on one coherent set of requirements at a time. The
most common way to perform MBE with SysML is to group
requirements into use cases (or user stories) and work out the
functional (and non‐functional) requirements as well as their
interactions. Each use case then forms an increment of the
system specification.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
22 Agile Product Development For Dummies, IBM Limited Edition
Continuous integration
If different teams are working on different use cases simulta-
neously, it is important that the requirements specified for
one use case don’t conflict with the requirements for another.
This problem can be eliminated though a practice known
as continuous integration in which the work from different
engineering teams is brought together and tested to ensure
consistency. This approach identifies conflicting requirements
early at a much lower cost than in more traditional develop-
ment life cycles.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 4
Doing it Agile
In This Chapter
▶▶Making effective agile plans
▶▶Incorporating existing agile methods in your product development
▶▶Managing continuous verification with high‐fidelity models and
simulation
▶▶Connecting product development with the IoT Cloud
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
24 Agile Product Development For Dummies, IBM Limited Edition
For example, your process definition may say that you need
to create a software design document for a subsystem, but
if that subsystem has no software in it, that task is useless.
Alternatively, the process may not require you to produce a
DO-178 compliant test coverage analysis, but your product
requires FAA certification — so you must create one.
Plan to replan
If you pay attention during project execution, you can detect
when project execution deviates from the plan. This might
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 4: Doing it Agile 25
be due to an overestimation of engineering velocity, the dif-
ficulty of getting sample parts, the unavailability of key sub-
ject matter experts . . . or anything else. However, once you
detect a deviation from the plan, the plan should be updated
to reflect what’s actually going on. You can change the plan to
account for new information, such as the measured velocity of
engineering staff or a new schedule for sample parts delivery.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
26 Agile Product Development For Dummies, IBM Limited Edition
Agile Requirements
Management and Traceability
Engineers adopting agile may be tempted to eliminate or
heavily reduce requirements management; however, require-
ments are critical to successful agile delivery. A key function
of requirements is to maintain a common understanding
between the customer and the project team, which is vital for
successfully planning and managing both the project and the
product being developed. Agile emphasizes improving col-
laboration between stakeholders, which makes requirements
management more rather than less important.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 4: Doing it Agile 27
For all but the most trivial projects, requirements rapidly
become hard to manage in text documents and spreadsheets.
Consider using a requirements management tool that allows
individual requirements to be managed and that can provide
access to all necessary stakeholders.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
28 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 4: Doing it Agile 29
Models are not diagrams. Models are the data that may be
represented in diagrams; diagrams are simply views of the
model. High‐fidelity models contain precise enough state-
ments about the things being modeled that the information
and conclusions are verifiable.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
30 Agile Product Development For Dummies, IBM Limited Edition
Nanocycle development of
Derive Use-Case Functional Flow use case performs this
cycle in iterations lasting
20–60 minutes and verifying
the use case and updating
the textual requirements
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 4: Doing it Agile 31
Simulation enables continuous
verification
A key feature of high‐fidelity models is that they can be
executed (simulated). You can then test to ensure the model
is properly specifying what you think it’s specifying —
something not possible with natural language.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
32 Agile Product Development For Dummies, IBM Limited Edition
Continuous verification in
product development
Test early — test often. One of the keys to effective agile prod-
uct development is continuous verification of both the prod-
uct and other engineering data. Requirements, architectures,
interfaces, safety analyses — all these sets of engineering data
are valuable to the extent that they’re complete and correct.
And that means that you — as engineers — must verify the
engineering data is correct.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 4: Doing it Agile 33
so it’s possible to build a single simulation that integrates
UML for the software, SysML for the systems model, Simulink
for the control model, and SimulationX for the mechanical
physics model.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
34 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 5
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
36 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 5: Scaling Agile Product Development 37
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
38 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 5: Scaling Agile Product Development 39
Starting Small
Many agile software initiatives started with skunkworks
projects — projects that were run under the radar of
management — that could provide confidence in broader
agile adoption by providing a proof‐point of success. These
projects were typically small, co-located teams where the
work could be completed in a single room, which is a much
simpler context than today’s product development. For agile
product development, even at the start, you need to work
across different engineering disciplines, which typically
means across departments and management structures.
A pilot project is still a great idea, but make sure the objec-
tives, deliverables — and critical benefits — are understood
by all parties from the start.
Leveraging Support
You may already have agile embedded software develop-
ment as part of your product development. This group can be
strong advocates for agile adoption and can help with coach-
ing and mentoring the new groups adopting agile. They ben-
efit from the teams around them having an agile perspective
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
40 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 6
It’s a Fad
Agile may be new to non‐software disciplines, but it comes
with a proven decade‐and‐a‐half record in the software
domain where its use is still growing. The cost‐time‐quality‐
complexity crunch that agile addresses certainly isn’t going
to go away any time soon. In fact, as more products get ever‐
smarter, agile is likely to become more necessary than ever.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
42 Agile Product Development For Dummies, IBM Limited Edition
It’s Unproven
Agile has been in use and growing in popularity for software
development for at least a decade and a half. In recent years,
there has been intense interest in both agile systems engi-
neering and agile product development, and there are plenty
of companies across many industries that have successfully
applied agile in these areas.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
Chapter 6: Ten Myths about Agile Product Development 43
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
44 Agile Product Development For Dummies, IBM Limited Edition
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
These materials are © 2015 John Wiley & Sons, Inc. Any dissemination, distribution, or unauthorized use is strictly prohibited.
WILEY END USER LICENSE AGREEMENT
Go to www.wiley.com/go/eula to access Wiley’s ebook EULA.