This project has allowed me to combine two of my passions: team software development and personal effectiveness. I've learned a lot about how to write a book; how to avoid getting too lost in the details or too intimidated by the big picture. Writing many hundreds of pages can be daunting if its looked at all at once! I've always enjoyed writing, but remarkably this is only my second contribution to a real book. My first was a chapter in a rock climbing guide to Montana, which is still available here on Amazon.com. I imagine there will be many more to come.
If you are interested in team development with Visual Studio, you can download the guide here: http://www.codeplex.com/TFSGuide.
I learned the following lessons on writing which I intend to apply to future projects:
- Passion. Pick a topic that you are passionate about, something you can sustain energy and focus on for months at a time.
- Outline. Create an outline of what the book should cover so you know how each day's work contributes to the larger picture.
- Iteratively Render. Don't try to write each chapter from start to finish. Instead, start by writing rough drafts that cover each chapter of the book. This process helps you maintain cohesion through the book and keeps you from getting bogged down in any one place. Once you have the rough chapters in place you can iterate over time to improve and flesh them out. Its like building a skeleton first, then building up the layers of flesh over time.
- Get Help. Its hard to write a high quality book on your own. At the very least you need people to review your work, bounce ideas off of, tell you when you are writing crap, and edit out your mistakes. Don't try to do it all yourself.
- Consistency. Spend time writing every day until you are done, don't let up.
- Quality. Don't get stuck on perfectionism, know when your writing is good enough. Sometimes I spend so much time revising my writing that it ends up worse than what I started with.