article thumbnail

TDD and System Architecture

Net Objectives

When first adopting TDD, developers can run into some roadblocks that seem to indicate that TDD is a difficult process. In truth, some of these problems actually indicate faults in the system architecture.

article thumbnail

AoAD2 Practice: Incremental Design

James Shore

As “A TDD Example” on p.XX Refactorings occur every few minutes, during the “Refactoring” step of the TDD cycle. For example, there’s a breakthrough at the end of “Refactoring in Action” on p.XX, when I realized that the regular expression allowed me to simplify the transformLetter() function. Across classes and modules.

Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

article thumbnail

15 Books by leading software architects

Apiumhub

They range from a general understanding of structure and quality attributes through technical issues like middleware components and service-oriented architectures to recent technologies like model-driven architecture, software product lines, aspect-oriented design, and the Semantic Web, which will presumably influence future software systems.

article thumbnail

Our book “Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture” is published!

Apiumhub

. “We are grateful to the Global Software Architecture Summit, which reunited us and gave us the idea of writing a software architecture metrics book together. In 2018, the Software Engineering Institute at Carnegie Mellon University honored him with the Linda Northrup Award for Software Architecture.

article thumbnail

AoAD2 Practice: Blind Spot Discovery

James Shore

For example, “70% of our customers say they like us” is an objective measurement of subjective data. For example, one team’s purpose was to improve surgical spine care outcomes. Chaos engineering can be considered a specialized form of exploratory testing which focuses on system architecture. Test-Driven Development.