Our first Jersey City JUG session for 2021 followed the evolutionary design conversation from last month, as Emily Bache introduced a safety-enhancing technique for evolving the design of legacy code. She demonstrated Approval Tests and code coverage, then split us into groups of three to get tests around the provided codebase. (This entailed belatedly enabling Breakout Rooms for my Zoom account on the fly, with everyone’s help. Totally worth it.)

My top insight from today’s session: every Approval Test is inherently also a test for the absence of the unexpected. Not something we usually test for, because it requires some expensive thinking — but with Approval Tests it just happens. An argument for including at least a few of these tests in your suite.

For more insights, both from Emily and from my fellow participants, watch the session.

Emily’s new book

Check out Technical Agile Coaching with the Samman method, in which Emily carefully documents a particular way software development coaches can more effectively engage with clients. In my experience, engaging in this way is much more effective and cost-effective for clients than any other way I’ve tried. If you coach programmers, this book will help you. Don’t believe me? Take Kent Beck’s foreword for it.

(See also Emily’s other books.)