The biggest obstacle to building software properly is fear. Programmers are afraid of losing challenge and creativity, engineers are afraid of losing control, and executives are afraid of failing. Many programmers worry that architects and engineers will usurp the creative, challenging part of their job, leaving them merely to code what they’re told. They worry that their jobs will degenerate into mindless drudgery, devoid of intellectual stimulation. Nothing could be further from the truth.