seven iterations, but delivered after
13, owing to a barrage of change requests. Nevertheless, it worked, and
we were able to keep a substantial
formal specification and all the other design documentation up to date
as the project evolved. Knowing that
“change” and “iteration” were at the
heart of the Agile manifesto, we decided to see what we could learn and
bring to future projects.
THERE IS MUCH interest in Agile engineering, espe- cially for software develop- ment. Agile’s proponents promoteitsflexibility, leanness, and ability to manage changing
requirements, and deride the plan-driven or waterfall approach. Detractors criticize Agile’s free-for-all.
At Altran U.K., we use disciplined
and planned engineering, particularly when it comes to high-integrity
systems that involve safety, security,
or other critical properties. A shallow
analysis is that Agile is anathema to
high-integrity systems development,
but this is a naïve reaction. Pertinent
˲ Is Agile compatible with high-integrity systems development?
˲ Where is Agile inappropriate?
˲ Do Agile’s assumptions hold for
high-integrity or embedded systems?
˲ Could high-integrity best-practice
We don’t have all the answers, but
we hope this Viewpoint continues to
provoke debate on this important
Why bother with Agile at all? We
often encounter two myths regarding
the “traditional” approach to high-
integrity software development: that
we somehow manage to perform a
single-iteration waterfall style pro-
cess, and that “formal” notations
are not amenable to change. Neither
myth rings true with our experience.
As our projects develop, they must
absorb change and respond to defects just like any other. This led to
an observation: your project is going
to become iterative whatever you do,
so you might as well plan it that way
from the beginning. This lesson was
put to good effect in the MULTOS CA
6 which initially planned for
What Can Agile Methods
Bring to High-Integrity
Considering the issues and opportunities raised by Agile
practices in the development of high-integrity software.