docomo Solutions PLUS 未来を技術の力でデザインするWEBマガジン

ITジャーナリストや現役書店員、編集者が選ぶ デジタル人材のためのブックレビュー 
ITジャーナリストや現役書店員、編集者が選ぶ デジタル人材のためのブックレビュー 
ポスト
        
        

今月の書籍

レビュワー:高橋 征義

  • 『継続的デリバリーのソフトウェア工学 もっと早く、もっと良いソフトウェアを作るための秘訣』

ソフトウェア開発の知見を改めて考えるために

表題に「継続的デリバリー」を冠しているものの、本書は継続的デリバリーがトピックの中心というわけではない。確かに重要なプラクティスの一つとして折りに触れ語られているものの、どちらかといえばテスト駆動開発(Test Driven Development )とテスト容易性の方が全編を通して何度も取り上げられているように感じる。後者の「ソフトウェア工学」が本書の核心である(原題は「Modern Software Engineering -- Doing What Works to Build Better Software Faster」)。

本書では、「(ソフトウェア)工学」を重視し、それに対する用語としての「工芸」を不十分なものと見なし評価を下げている。もっとも、本書で紹介される知見も、はたから見るとそれほど工学的とは言い難いというか、工芸的な「職人の経験則」を感じさせるところがある(本書第1部第2章にある、ライト兄弟の飛行機の例は、工芸と工学の間の産物として示唆的である)。

本書で注目したいのは第3部である。

ソフトウェア開発のプラクティスや概念の中には、一時的に流行したものや時代によって変化するものもあれば、古くから変わらず昔も今も重要なものもある。もっとも、後者のような時代を超えた考え方もあるとはいえ、それを紹介する書籍の方は必ずしも時代を超えるとは言えない。考え方自体は抽象的・普遍的なものであっても、それを具体的に説明するには現実のアーキテクチャーやプログラミング言語に基づくしかない。そのような個々の技術スタックは時代の制約を受けるため、現在プログラマーとして活動している人にとっては理解が難しい「古(いにしえ)の技術」になってしまう場合もある。結果として、名前はよく聞くけれど実際の設計・実装の指針としては日常的に見かけない、知る人ぞ知る技術になっているケースもあると思われる。

第3部の章タイトルとなっている「モジュラー性」「凝集度」「関心の分離」「情報隠蔽」「抽象化」「カップリング(結合)」といった概念は、まさにそのような昔も今も重要な概念のはずだが、改めて学びたいと思っても具体的な書籍タイトルが思い浮かばない。凝集度・結合度といえばグレンフォード J. マイヤーズ『ソフトウェアの複合/構造化設計』(1978)といった本がよく挙げられるが、さすがに半世紀近く前に刊行された書籍は、たとえ入手できたとしても読んで理解するのは困難だし、情報技術者試験の教科書などでは当たりさわりのないことしか学べないのが実情である。

その点本書は、多少の読みにくさを感じさせるところはあるものの、平易な文体で現代的なソフトウェアプラクティスに基づいた上で、歴史のある重要な概念について改めて紹介している。入門者や中級者には有益だろう。またベテランにとっても現代的な位置づけについて自分の知見と照らし合わせながら再確認する契機になるだろう。

『継続的デリバリーのソフトウェア工学 もっと早く、もっと良いソフトウェアを作るための秘訣』

著者:デイビッド・ファーリー

翻訳:長尾 高弘

出版社: 日経BP

https://bookplus.nikkei.com/atcl/catalog/22/12/01/00531/

今月のレビュワー

310_img03.jpg

高橋 征義(たかはし・まさよし)

札幌出身。Web制作会社にてプログラマとして勤務する傍ら、2004年にRubyの開発者と利用者を支援する団体、日本Rubyの会を設立、現在まで代表を務める。2010年にITエンジニア向けの技術系電子書籍の制作と販売を行う株式会社達人出版会を設立、現在まで代表取締役。著書に『たのしいRuby』(共著)など。好きな作家は新井素子。

2025/07/16

ポスト

NTTドコモグループ つなぐストーリー

スマートフォン用リンク

NTT R&Dフォーラム2024 開催レポート

スマートフォン用リンク

事例紹介

スマートフォン用リンク

エバンジェリストが語るICTの未来

スマートフォン用リンク

ページトップへ

トップへ