ブログ:技術書を書くための10ステップ

"Grails in Action"の著者Peter Ledbrook氏のブログ記事について、要約とコメント。

要約



本の書き方
How to write a book

1. サンプルで1章かその半分を書いてみる("Write a sample chapter/half-chapter")

  • おためしで1章かその半分でも書いてみると良い。
  • 本を書くのにどのくらい時間がかかるのかが分かれば妥当なスケジュールが引けるし、自分にとって楽しい作業かどうかも分かる。


2. 読者はどんな背景を持っているだろうか?("What background will your readers have?")

  • 初心者かベテランか、あるいはそのトピックに対して前提知識があるかどうかなどは、書こうとしてる本のスタイルと内容に大きな影響を与える。そして一度決めたら、ブレないこと。


3. どのくらいの分量になるか?("How big will your book be?")

  • どのくらいの内容をカバーしようとしているのか、ということ。本を持ち運びたい人もいれば、分厚い本を避ける人もいるし、一方で薄い本は内容も薄いと考える人もいる。
  • 全ページ量の見積もり=伝えたい情報量÷その情報をカバーするペース:このペースは対象読者に左右される。つまり初心者の方が専門家よりもペースは遅い。


4. 何を書くかを決める("Decide what you want to put in the book")

  • 少ないトピックを深く掘り下げるか、広く浅く扱うか。または多くのトピックを深く掘り下げて本の分量を増やすか。
  • きわめて重要な決定なので、書き始める前に決めるべきこと。最初に決めた対象にこだわることで、本は的が絞られたものになる。


5. 先に章立てを整理する("Organise your chapters up-front")

  • 章の構造は本を俯瞰したものとなる。何をどういう順番で伝えるかについて、一定の見解を持つ必要がある。最初に決定したものに固執する必要はないが、変更するとこれまで書いたものに影響は出る。


6. サンプルコードに関するアプローチを選ぶ("Pick an approach for sample code")

  • 本全体を通じて1つのサンプルを使うか、章ごとにちがったサンプルを使うか。この2つを組み合わせることもできる。
  • 1つのサンプルの方が連続性があるし、実際に動くものになり得る。しかし、1つのサンプルが全てのトピックにうまく合うとは限らない。


7. 最初から始める("Start at the beginning")

  • 各章を順番に書くことで叙述の整合性を保つことができる。ただし、リファレンス・ブックであればどういう順序で書いてもそれほど問題ない。
  • 別のやり方として簡単なものを最初にやって勢いをつけるというものもある。この場合も、その後は順番に従った方が良い。


8. フリーライティングを用いる("Use free writing")

  • 書き始める時には、1時間半程度フリーライティングをするところから始めると良い。フリーライティングとは構造や正確性などを考えずに、思いつくままに書くというもの。やらなければいけないものではないが、役に立つ。


9. 各章についてマインドマップを用いる("Use mind maps for each chapter")

  • マインドマップは、考えをまとめ、その章に何を入れるかを整理するのに最適なツール。各チャプターについて1回、フリーライティングの後にやると良い。マインドマップを書いたら、そこから節、小節といった構造を起こすことができる。


10. 共著者とのコミュニケーション・チャネルを開けておく("Keep communication channels open between co-authors")

  • 当たり前のことのようだが、時間に追われてただ自分の章を終わらせたいという時には、他の人の章を読んだり、変更を伝えるのを忘れがち。整合性が取れていないものを作ってしまわないよう、出版前には全員が全ての章を読むこと。

That’s it for now. If I think of any more advice, I’ll add it in later. Hopefully the above will help at least one poor soul who’s writing a book, or at least planning to.


今のところはこんなものです。他のアドバイスを思いついたら、後で追加します。これらのアドバイスが、現在執筆中か、少なくとも書こうとしている哀れな魂を1つでも助けることができたらよいのですが。

コメント

経験に裏打ちされた、実に実践的なノウハウがまとめられた記事だと思います。ある程度の量がある情報を整理し、特定の構造へまとめあげていく技術を惜しげもなく教えてくれる人はそういないので、そういう意味でも貴重な記事でしょう。前半の構想の立て方にしても、後半のフリーライティングからマインドマップを描き、さらにそれを構造化していくプロセスにしても、書籍に限らず、例えば1時間程度のプレゼンなど、ある程度の構造を持ったドキュメントを作る時には役立つ手法と言えます。ちなみにフリーライティングとは:

Free writing (also stream-of-consciousness writing) is a writing technique in which a person writes continuously for a set period of time without regard to spelling, grammar, or topic. It produces raw, often unusable material, but helps writers overcome blocks of apathy and self-criticism.


フリーライティング(ストリーム・オブ・コンシャスネス・ライティング)とはライティングのテクニックで、区切った時間の中でスペルや文法、トピックを気にせずに書き続けるというものです。これによって生み出されるのは、使えないことも少なくない生の素材ですが、行き詰まりや自己批判に打ち勝つ助けになります。
http://en.wikipedia.org/wiki/Free_writing


個人的に特に興味深かったのは1つ目の「サンプルのチャプターもしくはその半分を書いてみる」でした。書きたいと思うことと、実際に書いてみることとの間には恐ろしく広い隔たりがあります。書きたいと思ってもなかなか書けずにいるという場合、その理由の一つに「すごいものをいきなり全部作ろうとしてしまう」というものがあると思います。ここでアドバイスされているのは「1章か半分」ですが、そのお試しチャプターも「とりあえず1行書いてみる」ところから始めるのが意外と有効なのではないでしょうか。ちなみに自分にとっては、ブログを書くことが考えを少しずつ整理していくためのいい機会となっています。ただし、とりあえず書いてみるというのも、いいことばかりではないようですので注意が必要です:

It’s also a good idea to find out whether you enjoy writing enough to create a whole book. Better to find out now, rather than half-way through. That said, if I’d tried this, I may never have agreed to do Grails in Action!


1冊全部を書き上げられるほど執筆を楽しめるかどうかを調べるのもいいアイデアです。半分ほど書いたところで分かるよりは、今調べた方がいいです。それというのも、もし私が試していたら、「Grails in Action」を書くことに合意しなかったでしょうから!

やっぱり大変なんですね・・・