Home > Store > Process Improvement
Essence of Software Engineering, The: Applying the SEMAT Kernel
- By Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman
- Published Jan 16, 2013 by Addison-Wesley Professional.
- Copyright 2013
- Dimensions: 6-1/4" x 9-1/8"
- Pages: 352
- Edition: 1st
- Book
- ISBN-10: 0-321-88595-3
- ISBN-13: 978-0-321-88595-1
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
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 has multiple roles within Ivar Jacobson International, including the definition of best practices in architecture, use cases, and iterative development. Paul E. McMahon, principal of PEM Systems, is the author of Integrating CMMI and Agile Development (Addison-Wesley, 2011). Ian Spence, CTO and Chief Scientist at Ivar Jacobson International, is the coauthor of Managing Iterative Software Development Projects (Addison-Wesley, 2007). Svante Lidman has more than twenty years of experience in software development, primarily working with software development processes and related tooling.
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
Related Article
The Essence of Software Engineering: An Interview with Ivar Jacobson
Author's Site
Please visit the author sites ivarjacobson.com and semat.org.
|
1 of 1 people found the following review helpful
By
This review is from: The Essence of Software Engineering: Applying the SEMAT Kernel (Paperback)
I have had the opportunity to lead dozens of software development projects which I love doing. I have also had the opportunity to watch dozens of software development project from the sidelines, while working on my own project, or in place as a consultant to accomplish something other than run the development process.From the sidelines I have seen some succeed, some crash and burn, and the rest get close enough to success that the team can sell it as a success. Sometimes the later takes a heck of a sales job. I would say in my book 80% of those sold as successes failed. They either came in well over budget, well beyond their projected delivery date, or delivered such buggy software that the maintenance effort was as big as the development effort. Success to the team simply meant they considered the project over. You will find of those project teams run as fast as they can instead of doing a retrospective study. The hard, and sad part, of watching the projects... Read more
This review is from: The Essence of Software Engineering: Applying the SEMAT Kernel (Paperback)
In the same way that the invention of standard financial statements (Balance Sheet, Profit and Loss) established a universal platform for understanding the financial state and health of commercial enterprises, the SEMAT Kernel provides a universal platform for understanding the state and health of software engineering projects. The neat thing is that using the SEMAT Kernel does not prescribe your development approach; you can plug your chosen/favorite development practices and methods into the Kernel and gain the benefit of the framework that it provides for understanding, appraising, comparing and progressing your projects. I think the ideas in this book can take software development a significant step nearer being a mature engineering discipline.
By Jeanne Boyarsky (New York, NY) - See all my reviews
This review is from: The Essence of Software Engineering: Applying the SEMAT Kernel (Paperback)
"The Essence of Software Engineering - Applying the SEMAT Kernel" looks to be a classic one day. Not today of course because it just came out. But one day.SEMAT stands for Software Engineering Methods and Theory. Don't let the word "theory" scare you. It's not a book about theory. It's a way of looking at software. All projects have some things in common. Using a common language to describe them and looking at key concepts (alphas) makes for better software. The book is geared to software professionals and students. With a goal of making for better developers. And SEMAT isn't done. They are incremental releasing supporting products through 2014. I liked the parts about practices more than the kernel - I think because it was more concrete. The kernel does raise key points though. Some of which we take for granted and some of which we forget about. The cards and checklists are useful. Did I mention the cards? They are quite prevalent in... Read more |
› See all 16 customer reviews...
Online Sample Chapter
The Essence of Software Engineering with the SEMAT Kernel: Planning an Iteration
Sample Pages
Download the sample pages (includes Chapter 6 and Index)
Table of Contents
Foreword by Robert Martin xvii
Foreword by Bertrand Meyer xxi
Foreword by Richard Soley xxiii
Preface xxvii
Acknowledgments xliii
PART I: THE KERNEL IDEA EXPLAINED 1
Chapter 1: A Glimpse of How the Kernel Can Be Used 3
1.1 Why Is Developing Good Software So Challenging? 4
1.2 Getting to the Essence of Software Engineering: The Kernel 5
1.3 Using the Kernel to Address Specific Challenges: An Example 6
1.4 Learning How to Address Development Challenges with the Kernel 10
Chapter 2: A Little More Detail about the Kernel 13
2.1 How to Use the Kernel to Address a Specific Challenge: An Example 13
2.2 Introducing the Alphas 14
2.3 Alphas Have States to Help a Team Achieve Progress 18
2.4 There Is More to the Kernel 21
Chapter 3: A 10,000-Foot View of the Full Kernel 23
3.1 Organizing the Kernel 24
3.2 The Essential Things to Progress and Evolve: The Alphas 25
3.3 The Essential Things to Do: The Activities 32
3.4 Competencies 35
3.5 Finding Out More about the Kernel 36
Chapter 4: The Kernel Alphas Made Tangible with Cards 37
4.1 Using Cards As Aids to Address a Specific Challenge: An Example 38
4.2 Making the Kernel Come Alive 41
Chapter 5: Providing More Details to the Kernel through Practices 43
5.1 Making a Practice Explicit 44
5.2 How Explicit Should Practices Be? 45
5.3 Building Methods from Practices 47
5.4 Learning Methods and Practices 48
Chapter 6: What the Kernel Can Do for You 51
6.1 Developing Great Software 52
6.2 Growing 54
6.3 Learning 55
6.4 Evolving 55
Further Reading 56
PART II: USING THE KERNEL TO RUN AN ITERATION 59
Chapter 7: Running Iterations with the Kernel: Plan-Do-Check-Adapt 61
7.1 Terminology Used 61
7.2 Plan-Do-Check-Adapt 62
7.3 Setting the Scene 64
7.4 The Focus for the Next Few Chapters 66
Chapter 8: Planning an Iteration 69
8.1 Planning Guided by Alpha States 70
8.2 Determining the Current State in Our Story 73
8.3 Determining the Next State in Our Story 73
8.4 Determining How to Achieve the Next States in Our Story 73
8.5 How the Kernel Helps You in Planning Iterations 78
Chapter 9: Doing and Checking the Iteration 79
9.1 Doing and Checking the Iteration with the Kernel 79
9.2 Doing and Checking the Iteration in Our Story 81
9.3 How the Kernel Helps You in Doing and Checking the Iteration 84
Chapter 10: Adapting the Way of Working 87
10.1 Adapting the Way of Working with the Kernel 87
10.2 Adapting the Way of Working in the Story 88
10.3 How the Kernel Helps You in Adapting the Way of Working 90
Chapter 11: Running an Iteration with Explicit Requirement Item States 93
11.1 Working with Explicit Requirement Items 93
11.2 Planning an Iteration in Our Story 95
11.3 Doing Another Iteration in Our Story 97
11.4 Adapting the Way of Working in Our Story 100
11.5 Discussion 102
Further Reading 103
PART III: USING THE KERNEL TO RUN A SOFTWARE ENDEAVOR 105
Chapter 12: Running a Software Endeavor: From Idea to Production 107
12.1 The People in Our Story and Challenges along the Way 107
12.2 Understanding the Organizational Context 109
Chapter 13: Building the Business Case 111
13.1 Getting Ready to Start in Our Story 111
13.2 Understanding the Opportunity and the Stakeholders 115
13.3 Understanding the Solution 117
13.4 Preparing to Do the Work 119
13.5 Establishing a High-Level Plan 121
13.6 Building the Schedule 125
13.7 How the Kernel Helps You in Getting Started 128
Chapter 14: Developing the System 131
14.1 Building the Skinny System–Getting Things Working 135
14.2 Engaging the Stakeholders 136
14.3 Starting Development 138
14.4 Establishing an Agreed-on Way of Working 139
14.5 Making the Skinny System Usable–Getting Things Working Well 143
14.6 Keeping the Stakeholders Involved 144
14.7 Evolving a Usable System 146
14.8 Getting to a Good Way of Working 148
14.9 Evolving a Deployable Solution–Concluding the Work 149
14.10 Gaining Acceptance 151
14.11 Getting to Delivery 152
14.12 Done! Completing Development Work 154
14.13 How the Kernel Helps You Develop Great Software 156
Chapter 15: Operating the Software 157
15.1 Setting the Scene 157
15.2 Going Live–Successfully Deploying the System 161
15.3 Deploying the System 162
15.4 Handing Over between the Two Teams 164
15.5 Supporting the System until Retirement 167
15.6 Our Story Ends 170
Further Reading 170
PART IV: SCALING DEVELOPMENT WITH THE KERNEL 173
Chapter 16: What Does It Mean to Scale? 175
Chapter 17: Zooming In to Provide Details 179
17.1 Making Practices Precise for Inexperienced Members 180
17.2 An Example: A Requirements Elicitation Practice 182
17.3 An Example: An Acceptance Testing Practice 184
17.4 Understanding How Practices Work Together 186
17.5 Value of Precise Practices 188
Chapter 18: Reaching Out to Different Kinds of Development 191
18.1 Agreeing on the Practices to Use 192
18.2 Adapting to Your Development Life Cycle 193
18.3 Building a Method Incrementally during Development 194
18.4 Methods in Large Organizations 197
18.5 Putting Teams in Control of Their Methods 198
Chapter 19: Scaling Up to Large and Complex Development 201
19.1 An Example of Large Development 202
19.2 Organizing Work Using the Alphas 204
19.3 Visualizing Development with the Alphas 208
19.4 Coordinating the Development Teams through Alphas 210
19.5 Empowering Teams to Scale 212
Further Reading 213
PART V: HOW THE KERNEL CHANGES THE WAY YOU WORK WITH METHODS 215
Chapter 20: Thinking about Methods without Thinking about Methods 217
20.1 You Think about Methods All the Time 218
20.2 Doing Rather Than Discussing 219
Chapter 21: Agile Working with Methods 221
21.1 The Full Team Owns Their Method, Rather Than a Select Few 222
21.2 Focus on Method Use Rather Than Comprehensive Method Description 223
21.3 Evolve Your Team’s Method, Rather Than Keeping Your Method Fixed 224
PART VI: WHAT’S REALLY NEW HERE? 227
Chapter 22: Refounding Methods 229
22.1 Not a Lack of Methods, but a Lack of a Foundation–a Kernel 229
22.2 The Kernel Values Practicality 230
22.3 The Kernel Is Actionable and Extensible 232
Chapter 23: Separation of Concerns Applied to Methods 235
23.1 Separating the Kernel from Practices 236
23.2 Separating Alphas from WorkProducts 237
23.3 Separating the Essence from the Details 238
Chapter 24: The Key Differentiators 241
24.1 Innovations with Methods 241
24.2 Practical Tools for Software Teams and Professionals 242
PART VII: EPILOGUE 245
Chapter 25: This Is Not the End 247
Chapter 26: . . . But Perhaps It Is the End of the Beginning 249
Chapter 27: When the Vision Comes True 253
27.1 The Software Professional 253
27.2 The Industry 254
27.3 The Academic World 255
27.4 An Exciting Future 256
Further Reading 257
Appendix A: Concepts and Notation 261
Appendix B: What Does This Book Cover with Respect to the Kernel? 263
B.1 Inside the Kernel, and Inside This Book 263
B.2 Outside the Kernel, but Inside This Book 264
B.3 Inside the Kernel, but Outside This Book 265
Appendix C Bibliography 267
C.1 SEMAT Working Documents 267
C.2 SEMAT: Other Documents and References 268
C.3 Other References 270
About the Authors 271
What People Are Saying about This Book 275
Index 287

This book includes free shipping!
This book includes free shipping!
eBook (Watermarked)
$31.99
$25.59
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
- Request an Instructor or Media review copy.
- Corporate, Academic, and Employee Purchases
- International Buying Options
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.

