Reginal Braithwaite's favorite interview question of programmers is: Sketch out a software design for a game of Monopoly (via Coding Horror). I dunno'. I like it in terms of being open-ended and non-trivial, but it's a real quagmire. I mean, my first reaction was to drop back to OO 101 and a simulation architecture ("Well, there's a Board and Spaces and Money...") just to put some stakes in the ground. But many different architectures might produce a solution: Braithwaite mentions a domain-specific language, maybe a "board game rules" inference engine, maybe something entirely different. Honestly, I can't imagine coming to a decision on architecture, much less beginning design, in thirty minutes or so.