This book is probably mandatory if you are developing UMDF or KMDF WDF drivers. Although much of the information is available on the internet, having all the information in one place was a great help to me when becoming familiar with such a large topic. I found the book a difficult read first time around as many of the terms and acronyms were unfamiliar. I'm not sure whether this is a fault of the book, or whether it is inevitable given the size of the topic. However, having written my first production quality driver (in about 2 weeks, including testing) I re-read the book and this time it mostly made sense. At this stage the book became a useful check that I had not missed any important issues - something which is vital in kernel driver programming.
I already had some knowledge of writing WDM drivers, but that was probably a disadvantage because I was expecting many things to be more complex than they actually were. Writing KMDF drivers is mostly about providing event handlers, and the good news is you can add the event handlers one by one, testing as you go. I developed my KMDF driver on a single PC (rather than a two machine setup as recommended), and only had a handful of BSODs in total (which were all due to careless and fairly obvious errors). This was a much better experience than writing an equivalent WDM driver.
The book recommends that you study various sample drivers (e.g Skeleton, FX2 and Toaster) before writing your own. I did not do this because I was under extreme time pressure, but doing so would not only ease the steep learning curve, but would also make the book make a lot more sense.