It occurred to me that fully subscribing to Test Driven Development and YAGNI leads to many functions that look like this, even if just for a short time:

def has_government_clearance?

While this is the case, no matter how far a user has gone through her rigorous interview process, anything depending on has_government_clearance? will follow the same path.

As you add tests implying more complexity, conditionals are added here and there throughout your application. Although complexity is being added, I find it interesting to see this as the removal of possibilities. This makes certain types of complexity subtractive, like sculpture in stone or wood.

Admittedly a rather half-baked idea, thinking in this way can lead to some interesting, albeit soft biases. Thinking about reducing possibilities does encourage finding the leanest approach to removing possibilities. Along this path is the notion of confident coding, or relegating validation to specific tiers of the application.

This idea also indicates that there are different types of complexity in an application. A conditional that reduces scope is, in a sense, simplifying the application, even though it represents additional code and tests. For example, how liberating is this:

if ($.browser.msie) {
  widow.location = "";

I'm always on the lookout for new points of view on my work. I wouldn't call this a productivity-altering new paradigm, more of an interesting little stretch of the imagination.