One of my intellectual heroes, Ronald Langacker, recently released a new book which summarizes his 30-year-old program of Cognitive Grammar, a radical and insightful approach to understanding language. In the very beginning of the book, Langacker outlines three principles which guide his work.

Integration means his explanations about language shouldn’t stand alone from our understanding of how the brain works or how psychology works. He wants his analyses to fit with neighboring disciplines instead of standing in their own tower.

Naturalness is his second principle. It means that a really good explanation should be reasonable and understandable. If an explanation is arcane, artificial, or exotic, it’s probably wrong.

Patience is an unexpected final principle. Being sure not to put the cart before the horse, it means withholding judgment on questions that are premature. As software designers, this means developing a “wait and see” approach that doesn’t indulge in too much speculation. Most feature ideas are speculative. “Wouldn’t it be cool if (x)” is very different from saying “for the last two weeks I’ve been frustrated by (y).” Having patience means putting speculative ideas on a shelf until actual life experience proves they have benefit. Launching a product with “too few” features is a kind of patience. Keeping your team small is a kind of patience.

At 37signals, we focus on lean features, short iterations, quick wins, small improvements, and the satisfaction of “build and release.” Paradoxically, all this quick movement and quick satisfaction rests on a foundation of patience. Most of our ideas are never implemented. Our products are never finished. Doing what’s in front of your nose, doing smart work that makes an impact today and leaves space for changes tomorrow takes patience. I’m glad Langacker’s book pointed this out.