Jonathan Cauldwell has released a new version of his excellent programming guide. The document covers nearly every aspect of writing assembly language games for the ZX Spectrum home computer in great depth.
But it is more than just that: "How To Write Spectrum Games" is one of the few docs out there that bridges the gap between beginner's knowledge and advanced expertise. When I started to learn Z80 asm a few years back, this was the guide that finally helped me make the transition from understanding the theory of Z80 asm to actually writing programs in it. I therefore highly recommend it to any aspiring ZX Spectrum programmer.
You can download the document here (scroll to bottom of the page).