
『Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス』
- Titus Winters, Tom Manshreck, Hyrum Wright 編、竹辺 靖昭 監訳、久富木 隆一 訳
- 2021年11月29日発売予定
- 664ページ(予定)
- ISBN978-4-87311-965-6
- 定価4,840円(税込)
Googleの現役ソフトウェアエンジニアたちが、超大規模ソフトウェアの開発と保守を長期的に支えてきたGoogle社内の多様なベストプラクティスを、文化、プロセス、ツールの側面からこの一冊に凝縮。時間と変化、規模と成長、トレードオフとコストという3つの基本原理に沿って、コードを持続可能にする方法論を紐解きます。「謙虚、尊敬、信頼」、心理的安全性、ダイバーシティとインクルージョンなど、公正を重んじる文化から、コードレビューやテスト構成法など人間の行動を規定するプロセス、継続的インテグレーションや大規模変更システムなど変化への対応を支援する自動化ツールの基盤技術まで、Googleが試行錯誤を経て獲得した教訓を余すところなく紹介しています。経済学、心理学、マネジメント論などを背景にした人間への深い洞察をふまえ、データ駆動かつトレードオフから導かれる、定量的かつ定性的な決定プロセスも解説。Googleの成長力の源泉を理解でき、得られる知見は、学生から組織の意思決定者、小規模スタートアップからデジタルトランスフォーメーション(DX)を目指す大企業まで、幅広く活用できます。
本書の読後に感想を共有される際は、ぜひハッシュタグ #swebookjpを付けてご投稿ください。
「監訳者まえがき」より:
私がGoogleに入社した際に最も印象に残っていることの一つは、同僚のソフトウェアエンジニアたちの飛び抜けた優秀さでした。彼らは卓越したプログラミング能力と確かな技術知識を持ち、人間的にも親切で尊敬できる人たちでした。コードレビューでは私が書いたコードにあっという間に数十のコメントが付き、圧倒されたものです。
しかし、ビジネス要件や技術が常に変化する環境において、Googleのような規模のソフトウェア開発では、単に優秀なプログラマーを集めて優れたコードを書くだけでは長期的な成功は望めません。変化に対応しつつコードベースを持続可能な形で発展させていくためには、優れたチーム作りに加えて、様々なプロセスやツールを組み合わせた包括的なアプローチが必要になります。以前から繰り返し語られているように、ソフトウェアエンジニアリングにおいて銀の弾丸は存在しないのです。
本書は、そうしたGoogleでの長年のソフトウェア開発を支えてきた様々なベストプラクティスを、文化、プロセス、ツールの側面からまとめたものです。それらのベストプラクティスは、ユニットテストの書き方やコードレビューのプロセスといった技術的なものから、いかに複数のチームを率いるか、ソフトウェアエンジニアリングにおけるダイバーシティ、エクイティ(公正さ)、インクルージョンの必要性、といったものまで多岐にわたります。
Googleの日本法人でソフトウェアエンジニアをしている私の日常業務でも、実際にこれらのベストプラクティスは活用されています。例えば、文化のパートで紹介されている謙虚、尊敬、信頼の社会交流の三本柱は、国籍や性別などが様々なメンバーからなるチームで働く上で極めて重要な原則になっています。また、本書で紹介されているプロセスやツールのほとんどは、社内で仕事をするためには知っていなければならないものです。
本書では単にこれらを説明するだけにとどまらず、多くのポリシーや技術的選択について、なぜそのような選択をするに至ったかの背景や理由も合わせて詳しく解説しています。これにより、あらためてそれらの設計意図が明確になり、なるほどと納得させられることが多かったです。
このように、これらのベストプラクティスはGoogleでの経験に基づいているものですが、文化やプロセスの各章の内容は幅広い組織で応用して頂くことができると考えられます。また、本書で紹介している技術やツールの中には、例えば大規模なモノリポのように、そのままの形では必ずしも導入が容易とはいえないものも含まれていますが、Google固有のツールに関してはオープンソースやサードパーティーの代替品を紹介するなど、多くの組織で応用が可能となるように配慮がなされています。
このため、Googleの技術にご興味のある方や、ご自身のソフトウェア開発チームやプロセスのスケーリングに課題を感じているマネージャーやソフトウェアエンジニアの方はもちろん、あらゆるソフトウェア開発に関わる方にも、ぜひ本書を読んで頂きたいと考えています。
また、ソフトウェアエンジニアを目指す学生の方などにも本書をお勧めしたいです。本書では、コンピューターサイエンスやプログラミング技術、ソフトウェア設計技法などの基礎はカバーされていませんが、これらの基礎に加えてソフトウェア開発の現場で用いられるベストプラクティスの事例として本書を参照することにより、今後の学習に際して新たな視点が得られるでしょう。
本書の監訳にあたっては、Google社内で使われる用語や表現ができるだけ日本の読者の方にわかりやすいものになるよう心がけました。本書が皆さんのソフトウェア開発の一助となることを願っております。
全国の有名書店、Amazon.co.jpにて予約受付中です。