1. You must have a positional advantage, it could be space, material, better minor piece(s), opposite colored bishops, lead in development, etc.
2. You must have a degree of control on the center and space advantage on K-Side
3. Manuever pieces to best squares and induce weaknesses in the enemy position. These could include an h7-h6, g7-g6, etc.
4. If the center is locked, the position may call for a pawn storm or bayonette attack. If not, a piece sacrifice is almost always used to break open the enemy position, targetting the weaknesses. This is also used to open diagonals, files, or bring new pieces into the attack with tempo
5. After the pawn or piece breakthrough, the rest is mainly tactics. More sacrifices could be used to break down the enemy position or weave the mating net. However, most attacks end only in material advantage or transition into the endgame.
Lastly, you must always consider your own king safety. Preferably where your opponent cannot check you king, therefore gaining tempo. Counterattacks are common since the opponent is often at an advantage in material, or can sacrifice material back for the initiative. Also watch out for central counterthrusts by the opponent.
*The Art of Attack is a great book and I have read it. Storming the Barricades by Larry Christiensen, Fire On Board, or Alekhine/Kasparov games are all great for studying the method of attack.
The Keres book about the Middlegame has good parts about attack but it's a very small book with only a few snapshot of the big picture so I wouldn't buy it if you want an attacking manual. It is very inexpensive to purchase used, however, so still a great deal.