書評「Googleのソフトウェアエンジニアリング」

熊野 なおゆき
創業者・取締役副社長熊野 なおゆき
図:『Googleのソフトウェアエンジニアリング』オライリー・ジャパン

こんにちは、GMOリザーブプラスの創業者・副社長の熊野です。
私は「メディカル革命」という製品を2014年から開発しており、今年でちょうど10年になります。
この節目に、自分のプロダクトを長期的に成長させ、持続可能な形で運用していくためにはどうすべきか、改めて深く考えるようになりました。
そこで、ソフトウェアの持続可能性について学ぼうと「Googleのソフトウェアエンジニアリング」という書籍を手に取ってみました。

長期的視点と持続可能性

「Googleのソフトウェアエンジニアリング」を読んで感じたのは、ソフトウェア開発は単なる短期的なタスクではないこと、設計には時間の経過に耐えうる思想が求められるということです。
書籍では、プログラミングは特定のタスクを実行するための手段である一方で、ソフトウェアエンジニアリングはその先のライフサイクル全体(設計、開発、運用、保守)を見据えた取り組みである、と強調されています。

システムが長期間にわたって機能し続けるためには、単に目先の問題を解決するだけではなく、時間の経過とともに変化する技術や要求に適応できる設計を行う必要があります。
その点について書かれた章の中の「ソフトウェアエンジニアリングとは時間で積分したプログラミングである」という一文に、私は強く共感しました。
ソフトウェアは、一瞬の判断で創造されるものではなく、時間をかけて成長させられ、変化し続ける存在なのです。

ソフトウェア開発における「チーム」の重要性

もう一つ心に響いたのは、ソフトウェアエンジニアリングが「チームによる取り組みである」という点です。
Googleのアプローチでは、チームが協力して問題解決に取り組むために「謙虚」「尊敬」「信頼」という3つの柱が必要だとされています。

謙虚:自分の限界を認識し、常に学ぶ姿勢を持つこと。
尊敬:他者を思いやり、相手の成果や能力を尊重すること。
信頼:他者が正しく行動することを信じ、必要な時には任せること。

この3つの柱のいずれかでも欠けてしまうと、チーム内での衝突が生じやすくなります。
ソフトウェア開発は個人の力だけではなく、チーム全体の協調によって成り立つものです。
この考え方は、私のプロジェクトにおいても非常に大切だと感じました。
特に、長期的なプロジェクトにおいては、チームの一体感が成功の鍵となります。

「高速に失敗し反復せよ」の精神

さらに興味深かったのは、「高速に失敗し反復せよ」という考え方です。
Googleのエンジニアリングチームでは、小さな失敗を積み重ね、それを元に成功へと導くアプローチが推奨されています。
私はこの哲学は経営にも通じると感じました。
経営においても、小さな失敗を経験し、その失敗を活かして前進することが、最終的な成功につながるのではないかと思います。
成功に導く人は、あらかじめ失敗の可能性を想像し失敗しても屈せず、迅速に方向転換を行ってまた前進していきます。

正解が見えにくい時代だからこそ、柔軟な思考と失敗を恐れない姿勢が求められると感じます。

エンジニアにとっての理想的な環境

本書ではエンジニアの仕事環境についても言及されています。
エンジニアが集中してコードを書ける環境を整えることは重要で、特に邪魔が入らないことが求められます。
しかし同時に、他のチームメンバーとスムーズにコミュニケーションが取れるよう、抵抗の少ない接点も必要です。
私はこの点に非常に共感しました。集中するための静寂と、チームとつながるための対話のバランスは、どんなプロジェクトにも欠かせない要素です。

終わりに

「Googleのソフトウェアエンジニアリング」を読み、ソフトウェアの持続可能性について多くを学ぶことができました。
特に時間軸を意識した設計、チームによる協力の重要性、そして失敗を恐れずに反復する姿勢は、「メディカル革命」のさらなる開発にも応用できる考え方だと感じました。
今後も、この書籍から深めることができた考えのもと、プロジェクトを長期的に成長させていきたいと思います。

この記事を書いた人
プロフィール画像
創業者 / 取締役副社長熊野 なおゆき

創業者 / 取締役副社長。受付・予約システムの力で「医療の現場を豊かに」を理念にチーム一丸となって成長しています。「受付・予約から決済までのシームレスなシステム」を構築し、医療の現場へ貢献していく所存です。

GMOリザーブプラス
は一緒に働く仲間を募集しています