nite methodology, but without the use
of Essence this will be very difficult, if
not impossible, for teams to do.
Many other practices could be useful for teams developing for the Internet of Things. Some of these will
be innovations unknown at the time
of writing this article or the creation
of Ignite. This can easily lead to the
approach becoming out of date and
unfashionable. The presentation of
Ignite as a practice library allows the
practice set to respond to the needs of
the users, who may regularly add new
practices and retire those that are no
The process of extracting the practices from an existing method or methodology is called essentialization. Essence is designed to allow people to
extract the essence of any method or
practice, so essentialization of a method means identifying the method’s
practices and practice architecture.
Moreover, each practice is described/
codified in terms of the elements in Essence and the Essence language with
new practice-specific elements added
as needed. As of this writing, the Unified Process has been essentialized,
and DSDM (dynamic systems development method) is in process. Several
other methods are in the planning
stages to become essentialized. Many
companies around the world are now
using the Essence standard to essentialize their methods.
The value of essentialization is that
people can easily learn what really
matters about a practice, compare it
with other practices, compose it into
a method (with many other proven
practices), and easily modify/change
the method as new knowledge becomes available. Applying Essence
also makes it easier to govern the
methods you have in your organization, so you create an effective
learning organization. Moreover,
an essentialized method is not just
a static description, but helps the
team while they actually use the
method, allowing them to measure
progress and health at any moment
during their endeavor.
Less work has been done to capture
the domain-specific practices needed
to bridge the gap between craft and
engineering. As discussed earlier, the
concepts can be illustrated using Ig-
nite8 and other popular methodolo-
gies, but a vibrant and committed en-
gineering community must flesh out
and complete the necessary set of en-
There are two ways to accelerate the
˲Slice the popular methods into
practices and design these practices so
that they can be composed in any reasonable way teams want, maybe resulting in a method with practices from
several existing methods such as DAD,
SAFe, LESS, and SPS.
˲ Codify existing or new practices so
that they can be composed with other
practices to form complete methods.
There are already hundreds of practices in the world, but they are not
described in a way that allows them
to be easily composed. Now this can
be done without having to describe a
In both cases Essence is key as it
provides the foundation for this work
and for the industry to transition successfully from craft to engineering.
As software becomes more essential
to the world’s day-to-day activities, it is
time for software development to move
beyond a craft-based approach to become a true engineering discipline.
This will require a shared base of
codified engineering practices that can
be reused across various technical domains and various types of software;
this set of practices will grow and adapt
as better ways of developing software
This is not going to happen overnight, but it is a challenge to which our
industry needs to rise as it matures and
evolves into something beyond agile
and other current practices.
We still need the dedication, innovation, and invention of craft, embodied in:
˲Skilled professionals, passionate
about their subjects and committed to
mastering new, complex, fast-moving
˲Local experts who understand
complex problems in depth and respond rapidly to changing needs, perceptions, and challenges.
However, we also need the codified
knowledge and professionalism of an
engineering discipline to be able to:
˲ Sustain and grow delivery capability through changes in technologies,
teams, and suppliers.
˲ Predictably scale operations from
early prototypes to global rollouts.
˲ Take control of investments and
know when to pivot to solutions more
likely to deliver favorable returns.
˲ Systematically grow the levels of
reuse and interoperability of solution
components and systems.
˲ Produce long-lived solutions with
affordable costs of ownership.
This is what we mean by moving
from craft to engineering—a journey
that must be made practice by practice, domain by domain. Thanks to Essence, that journey can start today for
all of us.
1. Graziotin, D., Abrahamsson, P. A Web-based modeling
tool for the SEMAT Essence theory of software
engineering. J. Open Research Software 1, 1 (2013),
2. Ivar Jacobson International. Agile Essentials, 2015;
3. Jacobson, I., Seidewitz, E. A new software
engineering. acmqueue 12, 10 (2014); http://queue.
4. McDonough, A. Munich Re and ESSENCE—Kernel and
Language for Software Engineering Methods: A Case
Study. Object Management Group, 2014; http://www.
5. Object Management Group. Essence—Kernel and
language for software engineering methods (Essence),
6. Ralph, P., Johnson, P., Jordan, H. Report on the first
SEMAT workshop on general theory of software
engineering. ACM SIGSOF T Software Engineering
Notes 38, 2 (2012): 26-28.
7. Shaw, M. Prospects for an engineering discipline of
software. IEEE Software 7, 6 (1990), 15–24.
8. Slama, D., Puhlmann, F., Morrish, J., Bhatnagar, R.
Enterprise Internet of Things: Strategies and Best
Practices for Connected Products and Services.
9. Stimson, R. Industrial scale agile—challenges and
solution strategies. Ivar Jacobson International,
Ivar Jacobson is a father of components and component
architecture, modern business engineering, the Unified
Modeling Language, and the Rational Unified Process.
His latest contribution is a formal practice concept that
promotes practices as the “first-class citizens” of software
development. Jacobson is also one of the founders of
the SEMAT (Software Engineering Method and Theory)
Ian Spence is CTO at Ivar Jacobson International and
the team leader for the development of the SEMAT kernel.
An experienced coach, he has introduced hundreds of
projects to iterative and agile practices.
Ed Seidewitz is the former CTO, Americas, for Ivar
Jacobson International and is currently chair of the
ongoing Essence Revision Task Force. With Ivar Jacobson
International, he has led agile system architecture and
development engagements in both the commercial
and government sectors and participated in practice
Copyright held by owners/authors.
Publication rights licensed to ACM. $15.00