I wasn’t really planning to write about Sudoku again, but here we are.
I wrote a few articles based on Sudoku, back in 2006. Right, nearly 16 years ago. Every now and again, some kind soul contacts me because some other well-meaning souls are pointing to those articles to prove, I don’t know, that XP doesn’t work or that TDD doesn’t work, or that I’m not as smart as I am touted to be, or something.
The facts are quite simple: I set out to program a bit on a Sudoku “solver”. I had played the game a few times. I had never read a book on how to solve the game. I was on vacation at Lake Okoboji with my extended family.
And I didn’t make much progress, and I stopped working on the project. I don’t think I even wrote up a summary of what happened and why.
I suppose you could say that I failed. I have no problem with that: if the objective was more than to have fun with Sudoku, well, I certainly did no more than have fun. And, frankly, it wasn’t all that much fun, compared to being at the Lake with my family.
Did XP fail? No, I wasn’t doing XP. I was all alone, at a lake. Did TDD fail? Probably not, I didn’t do very much in the way of TDD, if I correctly recall. Did incremental design and development fail? I don’t think so. Certainly I was using an incremental approach, and certainly no product came out. Did the approach fail?
I don’t think so. I think I wasn’t having fun and just stopped working on the project. No programmers were laid off, no customers were disappointed.
I wasn’t having fun, I wasn’t making enjoyable progress, and I stopped. Is that failure? OK, then I failed at coding up a Sudoku solver. Hell, I’ve failed at more important things than that.
Is there a lesson to be learned? Looking back over a foggy decade and a half, I’d say that it would have been helpful to have a expert in the game on the staff, and to have read a few books and articles on how to solve Sudoku.
Would that have been fun? I don’t know. I don’t feel like doing it now, so I suspect I would have failed to have fun.
I try never to fail at having fun. I commend the notion to you.