practice
Doi: 10.1145/2380656.2380670
Article development led by
queue.acm.org
A thinking framework in the form
of an actionable kernel.
bY iVaR Jacobson, Pan-Wei nG, PauL e. mcmahon,
ian sPence, anD sVante LiDman
the essence
of software
engineering:
the semat
Kernel
eVerYone Who deVeLops software knows it is a
complex and risky business, and its participants are
always on the lookout for new ideas that will lead to
better software. Fortunately, software engineering
is still a young and growing profession that sees
innovations and improvements in best practices every
year. Just look, for example, at the improvements and
benefits that lean and agile thinking have brought to
software-development teams.
Successful software-development teams need to
strike a balance between quickly delivering working
software systems, satisfying their stakeholders,
addressing their risks, and improving
their ways of working. For that, they
need an effective thinking framework
that bridges the gap between their current way of working and any new ideas
they want to adopt. This article presents such a thinking framework in the
form of an actionable kernel, which
could benefit any team wishing to balance their risks and improve their way
of working.
Work on the kernel, the essence of
software engineering, was inspired by
and is a direct response to the Software
Engineering Methods and Theory (
SEMAT) call for action (see Figure 1). It is,
in its own way, one small step toward
redefining software engineering.
SEMAT was founded in September
2009 by Ivar Jacobson, Bertrand Meyer,
and Richard Soley, who felt the time
had come to fundamentally change
the way people work with software-
development methods. 3, 4, 8 They wrote
a call for action statement, which in a
few lines identifies a number of critical
problems, explains why there is a need
to act, and suggests what needs to be
done. The call for action is:
Some areas of software engineering
today suffer from immature practices.
Specific problems include:
˲ The prevalence of fads more typical of the fashion industry than an engineering discipline;
˲ The lack of a sound, widely accepted theoretical basis;
˲ The huge number of methods and
method variants, with differences little
understood and artificially magnified;
˲ The lack of credible experimental
evaluation and validation; and
˲ The split between industry practice and academic research.
The SEMAT call for action’s assertion that the software industry is prone
to fads and fashions has led some people to assume that SEMAT is resistant
to new ideas. This could not be further
from the truth. As you will see in this
article and in a soon-to-be-published
book (The Essence of Software Engineering—Applying the SEMAT Kernel), 6
SEMAT supporters are very keen on new