Kent Beck on YAGNI
"A big part of the problem with YAGNI is that it is expressed indirectly. That was a communication style I was enamored of ten years ago that I found caused lots of problems. Today I would probably just say it directly, "It seems to me that you have reached a point where more experience would be better than more speculation. I encourage you to just implement X1 and see how it goes. You might want a simple little data storage abstraction. That will simplify the code in X1 and make it easier to move to a database later."
"Here's what I do: consider X2 a little, but try not to get so caught up in it that I freeze. As soon as I hit unknowns about X2 or X1, I stop thinking about X2 because I have something more important to learn. That's what I am getting at with YAGNI--breaking the cycle of fear and procrastination that I tend to fall into when programming. I use it with people who come to me for help when I think they have fallen into that same cycle. As I mentioned in a previous post, there is quite an opposite intervention, "Have you thought about..." that I use when I see an important issue, short- or long-term, that isn't being considered."



There are no comments for this entry.
[Add Comment]