Let me suggest the opposite point of view. I think the second approach has legs. I agree with the principle of a single responsibility, but it seems to me that there is one protected one mission / concern for the Board class: Maintaining the playing field.
I can imagine a very reasonable set of methods such as getSize() , getPiece(x,y) , setPiece(x, y, color) , removePiece(x, y) , movePiece(x1,y1,x2,y2) , clear() , countPieces(color) , listPiecePositions(color) , read(filename) , write(filename) , etc., which have a consistent and clear joint mission. Consideration of the problems associated with managing these tips would allow other classes to implement the logic of the game more cleanly, and for Board or Game will be more easily expanded in the future.
YAGNI is doing well and well, but I understand that he encourages you not to start building beautiful buildings with the hope that one day they will be useful. For example, I will not spend time on the future possibility of an endless game surface, a three-dimensional game surface, or a game surface that can be embedded in a sphere. If I wanted to take YAGNI seriously, I would not write simple Board methods until they were needed.
But this does not mean that I will drop the Council as a conceptual organization or a possible class. And this, of course, does not mean that I would not even think about how to share the problems in my program. At least YAGNI in my world does not require you to start with low-level data structures, little or nothing through encapsulation, and a fully procedural approach.
I do not agree that the first approach is more general (in any way), or that it seems to the consensus that you need to "just see how far you can go without abstracting something." Honestly, this sounds like we decided eight queens . In the year 1983. In Pascal.
YAGNI is an excellent guiding principle that helps to avoid many second system effects and similar solutions, we-can-do-it We must be wrong too. But YAGNI, which crossed the Agile Practice Thupidity Threshold , is not a virtue.