2/11/2017

Googleでのソフトウェア・エンジニアリング (1)

Googleのソフトウェアエンジニアが書いた「Googleでのソフトウェア・エンジニアリング」と題する論文。非常に興味深い内容。

1. はじめに

Googleは驚異的な成功を収めた企業である。Google検索とAdWordsの成功はもちろん、Googleは、Googleマップ、Googleニュース、Google翻訳、Google音声認識、Chrome、Androidなど、他にも多くの傑出した製品を提供している。GoogleはまたYouTubeなどの小規模な企業買収を行って得た多くの製品を大幅に改良・拡張し、オープンソース・プロジェクトにも幅広い重要な貢献を行っている。そして、Googleは自動運転のようなまだローンチしていない素晴らしい製品群をいくつかデモしている。

Googleが成功した理由は、賢明な統率力、偉大な人々、高い採用ハードル、非常に急速に成長する市場で始めのリードをうまく生かした財務力など、たくさんある。しかし、理由の一つは、Googleが優れたソフトウェア・エンジニアリング慣行(practices)を開発して成功したことである。これらの慣行は地球上で最も才能ある多くのソフトウェア・エンジニアらが長い期間をかけて積み重ねられ、精製された知恵に基づいて進化した。我々の慣行の知識を世界で共有したいし、これまでの失敗から学んだ教訓のいくつかを分かち合いたいと思っている。

この論文の目的は、Googleの主要なソフトウェア・エンジニアリング慣行をカタログ化して簡単に説明することだ。他の組織や個人が、これらを比較して対比し、これらの慣行自身のいくつかを適用するかどうかを検討することができる。

多くの著者(例[9], [10], [11])がGoogleの成功と歴史を分析した本あるいは記事を書いている。しかし、そのほとんどはビジネス、経営、カルチャーを中心に扱ってきた。それら(例 [1, 2, 3, 4, 5, 6, 7, 13, 14, 16, 21])の本の一部だけが、ソフトウェア工学の側面を研究しているが、ほとんどの研究が単一の側面だけだ。そして、この論文が目指している、Googleでのソフトウェア・エンジニアリング慣行の概要を全体として簡単に説明したものはない。

Hacker News