At some point in the game (or rather, at every point) you can sit back and say, okay, I've made these moves, opponent has made these other moves. What are my advantages, what are my disadvantages, what are his advantages, what are his liabilities... and if you are pretty accurate in assessing this, your attack will flow from it.
So here's a position, grabbed at random, more or less. What can we say about it? Development of minor pieces is about equal, white has slightly better central presence. Both sides have played 0-0 and there are no completely open files. One fairly major discrepancy between the sides is that Black's queen is engaged, but way over on the queenside. So White's plan must surely be to continue opening lanes for his rooks (probably the c file in this case), but he has to at the same time protect his a pawn from the black Queen. So a move like c3 comes to mind, allowing Qb2 (white's d pawn needs protecting here too for the moment).
So it's that type of assessment and planning which allows a guy to make strategic gains, make moves that might not have an immediate purpose but which will in time show up to be "right".
What is the best way to make an attack plan? I think I know about tactics averagely but making a checkmate plan in the middlegame isn't easy? In the end, I usually end up playing endgame..........