Book == Software Development. The Comparison might seem a bit weird at first, but my experience so far seems to be compatible with this.
- Creating the Table Of Contents == Big Design Up Front
When submitting your book proposal to your publisher(I work with Manning on this book), they'll ask you to provide a TOC for the book including chapter length, sub sections in each chapter etc. Whatever you write there is at best a guess.
As I wrote the first 2 chapters of the book I realized that the TOC I had was all wrong, and that I was doing it all wrong. So I rewrote the TOC because I suddenly realized that half the subject I wanted to talk about in the last half of the book, actually belong in the first few chapters, and that 3 chapters from the rest can be combined, and that some of the stuff I wrote is simply not going to be relevant, as a specific chapter, that is.
Kinda like design, where you realize you designed something wrong the minute you try to implement the design.
- You learn as you go
Like software, you realize what you actually want to say in the book as you are writing it, so the design needs to keep changing, and your thoughts about what's good and what's not keep changing as well.
- It's always more complicated than you initially thought
Nothing to add here.
Have you ever written a book? Feel the same way?