Tactical Relevance vs. Strategic Relevance

methodology design

Mon Apr 13 18:29:01 -0700 2009

Mads Torgersen, language designer for C#, described about his approach to language design his talk at Codemash. I don’t know the first thing about C#, but I did like a point he made regarding how they evaluate possible new features for the language.

When considering adding (or changing, or removing) a feature in the language, it has to satisfy two criteria:

  • Tactical relevance - The feature is useful for solving a real problem for a real user, right now, today.
  • Strategic relevance - The feature moves the language in the direction the designers want it to go over the long term.

You can easily imagine having only one or the other. A feature which is a quick workaround to accomplish some immediate goal, but which doesn’t reflect the long-term vision, would only satisfy tactical relevance. And a feature which fulfills some academic goal and might be useful “someday” only satisfies strategic relevance.

The harmony of tactical and strategic relevance on each day-to-day decision, aggregated over the long term, creates a truly useful and innovative product.