The Essence of Software Engineering: Applying the SEMAT Kernel

Front Cover
Addison-Wesley, Jan 11, 2013 - Computers - 352 pages

SEMAT (Software Engineering Methods and Theory) is an international initiative designed to

identify a common ground, or universal standard, for software engineering. It is supported by

some of the most distinguished contributors to the field. Creating a simple language to describe

methods and practices, the SEMAT team expresses this common ground as a kernel–or

framework–of elements essential to all software development.

The Essence of Software Engineering introduces this kernel and shows how to apply it when

developing software and improving a team’s way of working. It is a book for software professionals,

not methodologists. Its usefulness to development team members, who need to evaluate and

choose the best practices for their work, goes well beyond the description or application of

any single method.

“Software is both a craft and a science, both a work of passion and a work of principle.

Writing good software requires both wild flights of imagination and creativity, as well as the hard

reality of engineering tradeoffs. This book is an attempt at describing that balance.”

—Robert Martin (unclebob)

“The work of Ivar Jacobson and his colleagues, started as part of the SEMAT initiative,

has taken a systematic approach to identifying a ‘kernel’ of software engineering principles and

practices that have stood the test of time and recognition.”

—Bertrand Meyer

“The software development industry needs and demands a core kernel and language for defining

software development practices—practices that can be mixed and matched, brought on board from

other organizations; practices that can be measured; practices that can be integrated; and practices

that can be compared and contrasted for speed, quality, and price. This thoughtful book gives a

good grounding in ways to think about the problem, and a language to address the need,

and every software engineer should read it.”

—Richard Soley



Foreword by Robert Martin
A Little More Detail about the Kernel
A 10000Foot View of the Full Kernel
The Kernel Alphas Made Tangible with Cards
Providing More Details to the Kernel through
What the Kernel Can Do for
Operating the Software
Scaling Development with the Kernel
Reaching Out to Different Kinds of Development
Scaling Up to Large and Complex Development
How the Kernel Changes the Way You Work with
Whats Really New Here?
Separation of Concerns Applied to Methods

Using the Kernel to Run an Iteration
Planning an Iteration
Doing and Checking the Iteration
Adapting the Way of Working
Using the Kernel to Run a Software Endeavor
Developing the System
Appendix A Concepts and Notation
What People Are Saying about This Book

Other editions - View all

Common terms and phrases

About the author (2013)

Dr. Ivar Jacobson, one of the prime movers behind SEMAT, is the principal author of six books, including, with Pan-Wei Ng, Aspect-Oriented Software Development with Use Cases (Addison-Wesley, 2005).

Dr. Pan-Wei Ng is the Asia Pacific CTO and chief scientist at IvarJacobson International and coaches large-scale development extensively.

Paul E. McMahon, principal of PEM Systems, is the author of Integrating CMMIŽ and Agile Development (Addison-Wesley, 2011).

Ian Spence, chief scientist and principal consultant at Ivar Jacobson International, is the coauthor of Managing Iterative Software Development Projects (Addison-Wesley, 2007).

Svante Lidman is a senior productivity expert at Hansoft and has been leading and coaching software development teams for twenty years.

Bibliographic information