Cutting Some Slack for our Programs

Good software design is sometimes understood as running a tight ship, in which every outcome of a program’s action is anticipated and carefully prepared for. I take an opposing view: in my experience, the tight ship model leads to brittle, unmaintainable programs. I prefer designs that are composed of loosely coupled components, leaving room for … Continue reading Cutting Some Slack for our Programs