Blogs

   Writing and Publishing a Book

I recently completed the process of getting a book published ("Emergent Design"). It was my first time doing this, and I thought it might be valuable to some of you if I shared some of the things I learned about writing a book, and about the publishing world.

First, the reason I wrote the book dictated some of this. Al Shalloway and I have been teaching patterns, TDD, and so forth for a number of years now (adding all the other good folks at Net Objectives along the way), and we've always given a lot of attention to student feedback, to improve the course materials and to tweak our delivery style. Not surprising; Agile course creation.

Anyway, over the most recent few years, I would get the following comment on a very regular basis:

"Great class, man. Really useful. Unfortunately, I don't work by myself, and my colleague Fred does not go to classes. But if you wrote a book with the same great stuff in it, he'd read that. Could you write a book, please?"

Well, not exactly like that. J But there is always the notion that classes have inherent limitations: not everyone gets to/can afford to come, some people are elsewhere in the world, our instructors don't speak Chinese, etc... Books don't have the same limitations. They can travel, can be translated, and are relatively inexpensive. They provide a much greater reach.

Books have different limitations of course. They are static, they don't allow for interaction, and so on. I've created some online material that my book links to, in an effort to overcome some of this (www.netobjectivesrepository.com for example).

Still, I'd never written a book before. So, in starting to write, I asked other people who'd already written good books how they did it. I asked Al and Jim Trott (authors of "Design Patterns Explained"), Gerry Weinberg, Jim Shore, Bruce Eckel, and basically anyone I came across who'd written a book.

Some said "write a book you'd like to read." I'd heard that in other venues too; make the movie you'd like to see, write the tune you'd like to hear. I guess, sometimes, that's right.

But Al, Jim and Gerry all said "imagine a reader, the reader you have in mind for this book. Put the image of that person in your mind, and constantly ask... what would they want to know next? What question would they have here?" This works, of course, only if you feel confident that you know this representative person well enough to be able to answer these questions.

For me, this was the way, because I had been teaching for a number of years. As a result I had met literally thousands of developers, and knew the kinds of questions they asked, when they asked them, and what answers tended to satisfy them. So, that's what I did; I created a representative student to talk to. His name, by the way, was Vince. J

Now, it turns out that I made a bit of a mistake, but got lucky.

The mistake? I wrote the book, then went to the publisher. This can lead to a real disaster. You may have written a beautiful, smart, compelling book for which there is no market whatsoever. Even a great book that nobody wants to read is worthless.

In my case, I knew there was a market because the market had asked me to write the book. Still, if I'd gotten involved with the publisher earlier, several things would have happened:

  1. They would have kept me on a writing schedule. From time to time I got lackadaisical about getting the book done, and the publisher would have held my feet to the fire a little. That would have been healthy for me.
  2. They would have reviewed chapters as I wrote them, which would give me early and frequent feedback. In other words, I would have gained all the benefits of using a Lean/Agile approach.
  3. They would have helped me write. I didn't realize that publishers have extensive support mechanisms to help their authors; access to peer-review, copy editors, technical editors, and so on.

In other words, they would have really smoothed the process. As it was, after I thought I was "done" with the book, and I handed it to the publisher, we had to go through peer-review, technical editing, copy-editing, production formatting, and on and on, all of which we could have done as I wrote. It took 15 months after I thought I was done to get the book out.

So, don't do that. The next book I write I will come up with a general proposal, write a sample chapter or two, and probably outline the general shape of the book, and then contact my publisher and make sure there is a market, and then let them help me to write it efficiently.

As a last point, I cannot say enough about Chris Guzikowski and his editorial team at Addison-Wesley. I had some trepidations about getting involved with publishing people (which is probably why I put it off), but they were super to work with, really encouraging and supportive, and extremely easy on my ego. I don't know how that compares to publishers in general, but I really loved the process with them.

-S-

Technorati Tags: