Testing Without Mocks: A Novel Approach to Unit Testing

2025-03-29

This article presents a novel approach to unit testing that eliminates the need for mocks and spies, resulting in fast, reliable, and maintainable tests. The core idea involves combining state-based testing with a new infrastructure technique called "Nullables." Nullables aren't test doubles; they're production code with an "off" switch, allowing tests to run without relying on external systems or state. While requiring modifications to production code, this approach avoids many drawbacks of traditional methods, such as flaky tests and difficult refactoring, and offers significant performance gains. The article thoroughly explains the patterns and techniques involved, including Narrow Tests, State-Based Tests, and Overlapping Sociable Tests, providing ample code examples and diverse use cases, making it ideal for developers to learn and implement.

Read more
Development

Building the World's Best Product Engineering Org: Six Key Elements

2025-01-12

This article is a transcript of James Shore's keynote presentation at the Regional Scrum Gathering Tokyo conference, exploring how to build a world-class product engineering organization. He proposes six key elements: People, Internal Quality, Lovability, Visibility, Agility, and Profitability. The article details how to achieve these goals through improved hiring strategies, enhanced code quality, fast feedback loops, agile methodologies, and collaboration with other departments, emphasizing the importance of continuous improvement. Through case studies and practical experience, the author shares valuable insights, providing guidance for building efficient and excellent product engineering teams.

Read more
Development product engineering