見出し画像

書籍の共同執筆におけるTips - 「Visual Studio Codeの教科書【改訂2版】」での経験から

一昨日前の話になるが、VS Code Meetupさん主催のイベント「VS Code Meetup #30 - Visual Studio Codeの教科書/出版記念!!」に書籍の共同執筆者の一人として参加させていただいた(共同執筆者はこの3人だが、残念ながら平岡さんは諸事情で参加が叶わなかったため、私と阿佐さんの二人で参加した)。そのイベント中の座談会で、運営者と執筆者間で執筆における困難や工夫について話し合ったのだが、その内容が思いのほか参考になったという意見があったので今後共同執筆を目指す方々の参考になるよう、特に反応がよかった以下の2点を記録としてnoteにまとめておこうと思う。

  • 仲間集め

  • 非同期コミュニケーション


仲間集め

仲間集めというのは共同著書の仲間集めことを意味する。この書籍執筆のきっかけは、出版社(マイナビ出版さん)から阿佐さんに執筆の話が持ちかけられたことにある。それを受けて、阿佐さんは単独執筆ではなく共同執筆の道を選び、私と平岡さんに声をかけたというわけだ。ここでとても興味深かったのが、阿佐さんの共著仲間選びの基準だった。阿佐さんはこれまで何冊も本を執筆しているが、共著する場合は次のを基準を設けているとのことだった。

  1. 技術的な趣味嗜好が同じである人

  2. 人間性、性格がよいこと

  3. 自分より技術力が高いこと

書籍執筆は、想像以上に長距離マラソンで、長い道のりを走らなければならない。よって、技術的な趣味嗜好が大きく異る人、人間性や性格が悪い人とはなかなかうまくいかず、できるだけこの辺が近しい人、かみ合う人と組むことにしているとのこと。また、技術力が高い人と組むことで本を書きながら勉強もさせてもらうというライフハックを実践しているという。2と3については、共著仲間として選んでもらった身としては照れる観点ではあるが、とても合理的な観点だなーと思った。

実際、共同執筆者が執筆期間中に意見が食い違い、喧嘩になるケースはよくあるようだ。人間だから意見の相違は避けられないし、結果的に喧嘩に発展することもあると思うが、喧嘩は大きなエネルギーを消費するため、できる限り避けたいもの。一方、私たちの場合はどうだったかというと、初版の執筆を含め、喧嘩は一度もなかった。編集者の方からも「驚くほど仲が良かった」とのフィードバックをいただいている。これはひとえに、阿佐さんの仲間集めが成功した結果だと言えるでしょう。

非同期コミュニケーション

座談会で、共同執筆で使用したツールやコミュニケーションに関する質問があったが、そこで答えた内容の中心的なキーワードが非同期コミュニケーションだった。執筆者3人とも別々の会社組織に所属し、本業の合間に時間を確保して執筆していたため、オンライン会議など同期をとるタイミングをみつけることさえ難しかった。自然と、時差を前提とした非同期コミュニケーションが中心となった。

我々がフルに活用したのがGitHubだった。使い方はとてもシンプルで、執筆用のGitHub Organizationを作成し、編集担当者を含む全ての執筆関係者をメンバーとして追加した。そして、GitHub Issue、PR、Projectsなどの機能を駆使して、Markdownやサンプルコードなどの成果物の開発を行った。

特に斬新な点はないが、今回のGitHubを中心とした書籍執筆において工夫した点や使い方について、以下に簡単に紹介する。

VS Codeの設定を統一

書籍執筆物を管理するGitHubリポジトリのルートディレクトリにDev Containersの定義ファイル(.devcontainer/devcontainer.jsonやDockerfile)やVS Codeの設定ファイル(.vscode/settings.json)を配置し、執筆者が使用するVS Codeの設定を統一するようにした。書籍で使用するスクリーンショットのテーマなどが執筆者間でバラバラにならないようにする必要があった。

Dev Containers / VS Codeの設定

ガイドライン・ルールの作成

最低限の統一感・一貫性がでるようにREADMEにガイドラインやルールを書いておいた。ルールは見つけ次第継ぎ足していった。

執筆ガイドライン

作業ステータスの可視化

GitHub Projectsを活用して、執筆作業アイテム(Issue)をProjectに紐付けて作業ステータスを可視化した。

GitHub Proで管理

執筆物のレビューや補足会話

GitHub Pull RequestやIssue機能を活用して共同執筆者や編集者間で執筆物のレビューや補足コミュニケーションを行った。

PR / Issueで管理

だいたいこんなかんじである。

特に意識した訳では無いが、執筆物の管理や関連コミュニケーションにおいて、多くのツールを使うのではなく、ほぼGitHubという単一のツールに閉じていたのでスイッチングコストが少なく楽だったのと、非同期であってもコミュニケーションの齟齬が少なく全員の作業状況が把握できたといえる。

なお、今回の執筆活動ではGitHubを活用したが、GitHub以外のツールでも同様の成果は得られると思う。重要なのは、非同期コミュニケーションの重要性を認識し、それを効果的にサポートできるツールを選定することだと考える。

以上、書籍の共同執筆におけるTipsとして参考になったら幸いです。

補足

  • 表紙のイメージはDALL·Eで作りました

いいなと思ったら応援しよう!