engineering programs.
For example, the kernel supports
the values of the Agile Manifesto. With
its focus on checklists and results, and
its inherent practice independence,
it values individuals and interactions
over processes and tools. With its focus
on the needs of professional software-development teams, it values the way
of working and fulfilling team responsibilities over methods.
The kernel does not in any way compete with existing methods, be they
agile or anything else. On the contrary,
the kernel is agnostic to a team’s chosen method. Even if a team is already
using a particular method, the kernel
can still help. Regardless of the method used, as Robert Martin pointed out
in his foreword to The Essence of Software Engineering, projects—even agile
ones—can get out of kilter, and when
they do, teams need to know more.
This is where the real value of the kernel lies. It can guide a team in the actions they need to take to get back on
course, to extend their method, or to
address a critical gap in their way of
working. It focuses on the needs of the
software professional and values the
“use of methods” over “the description
of method definitions” (as has been
normal in the past).
The kernel does not just support
modern best practices; it also recognizes that a vast amount of software is already developed and needs to be maintained. It will live for decades and will
have to be maintained in an efficient
way. This means the way you work with
this software will have to evolve alongside the software itself. New practices
will need to be introduced in a way
that complements the ones already in
use. The kernel provides the mechanisms to migrate legacy methods from
monolithic waterfall approaches to
more modern agile ones and beyond,
in an evolutionary way. It allows you to
change your legacy methods practice-by-practice, while maintaining and improving the teams’ ability to deliver.
How the kernel will help you. Use
of the kernel has many benefits for ex-
perienced or aspiring software profes-
sionals, and for the teams they work
in. For example, it helps you assess
the progress and health of software-
development endeavors, evaluate cur-
rent practices, and improve your way
of working. It also helps you improve
communication, move more easily be-
tween teams, and adopt new ideas. It
will help the industry as a whole by im-
proving interoperability among teams,
suppliers, and development organiza-
tions.
Related articles
on queue.acm.org
There’s no Such Thing
as a Free (Software) Lunch
Jay Michaelson
http://queue.acm.org/detail.cfm?id=1005066
Purpose-Built Languages
Mike Shapiro
http://queue.acm.org/detail.cfm?id=1508217
Open Source to the Core
Jordan Hubbard
http://queue.acm.org/detail.cfm?id=1005064
References
1. Azoff, m. Apt methods and Tools, Fujitsu. Ovum
Technology Report. Reference Code O100032-002
(Jan. 2011).
2. Fujitsu, Ivar Jacobson International AB, model driven
Solutions. Essence—kernel and language for software
engineering. Initial submission, 2012, version 1.0.
3. Jacobson, I. and meyer, B. methods need theory.
Dr. Dobb’s Journal, (2009).
4. Jacobson, I., meyer, B. and Soley, R. Call for action:
The SEmAT initiative. Dr. Dobb’s Journal, (2009).
Ivar Jacobson, the chairman of Ivar Jacobson
International, is a father of components and component
architecture, use cases, the Unified modeling Language,
and the Rational Unified Process. He has contributed to
modern business modeling and aspect-oriented software
development.
Pan-Wei ng coaches large-scale systems development
involving many millions of lines of code and hundreds
of people per release, helping them transition to a lean
and agile way of working, not forgetting to improve their
code and architecture and to test through use cases and
aspects. He is the coauthor, with Ivar Jacobson, of
Aspect-oriented Software Development with Use Cases.
Paul McMahon is an independent consultant focusing on
coaching project managers, team leaders, and software
professionals in the practical use of lean and agile
techniques in constrained environments. He has been a
leader in the SEmAT initiative since its inception.
Ian Spence is CTO at Ivar Jacobson International and
the team leader for the development of the SEmAT kernel.
He has introduced hundreds of projects to iterative and
agile practices as well as led numerous successful large-scale transformation projects working with development
organizations of up to 5,000 people.
Svante Lidman has extensive experience building high-performance enterprise software-development teams.
He has held positions at Hansoft AB, Ivar Jacobson
International, microsoft, Rational Software, Objectory,
among others. Since mid-2010 Lidman was the leading
change agent in the largest lean/agile transition ever done
in Scandinavia.