Small Things Considered: Why There Is No Perfect Design

by Henry Petroski