14 ポイント 投稿者 kunggom 2020-08-31 | 4件のコメント | WhatsAppで共有

マーティン・ファウラー(Martin Fowler)がOSCON 2015カンファレンスの2日目に、ソフトウェアアーキテクチャの重要性について14分間講演したもので、ここではその映像に字幕を付けて翻訳しています。 (字幕は韓国語)

マーティン・ファウラーは、GoFの一人であるラルフ・ジョンソン(Ralph Johnson)とメールで議論した内容を共有しながら、従来広く通用していた「ソフトウェアアーキテクチャ」という概念の過度な一般化を批判します。そして、ソフトウェアプロジェクトでは開発者たちがそのプロジェクトについて共有している知識の深さが重要であること、またアーキテクチャに関する決定は変更が難しいことを踏まえると、アーキテクチャ設計で最も重要なのは、プロジェクトの中核的価値のためのさまざまな意思決定であると指摘します。

そしてもう一つ、プロジェクトではコード品質が後回しにされる傾向についても指摘しています。これはある意味では当然のことで、その理由は、実際にそのソフトウェアにお金を払う顧客の立場からすれば、コードの質は目に見えるはずがないからです。マーティン・ファウラーは、ソフトウェアの品質は外的品質(External Quality)と内的品質(Internal Quality)に分けられるとし、ユーザーに露出するUXやバグのような欠陥は外的品質であり、コードの品質はユーザーには見えない内的品質だと述べます。ソフトウェアアーキテクチャは内的品質に関わるものですが、これは直接見えるものではないため、ユーザーの立場では同じ機能ならより安い方を選ぶのが当然だということです。しかし、内的品質が良くないソフトウェアは、機能追加や改善などの高度化にその分だけ大きなコストがかかるようになります。一方、内的品質の高いソフトウェアは、ソースコードがプラットフォーム化するため、長期的に見るほど機能追加が容易かつ迅速に行えるようになります。マーティン・ファウラーはこれを「デザイン・スタミナ仮説」と名付けました。継続的な機能追加こそが、まさにソフトウェアアーキテクチャが重要である理由だというのが彼の主張です。

講演の途中で出てきたコラムのPDFファイル:

https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

OSCON 2015当時の記事:

https://opensource.com/life/15/…

4件のコメント

 
kunggom 2020-09-01

参考 - ADRを書くべき理由:

https://ja.news.hada.io/topic?id=2665

 
verysatisfying 2020-08-31

Uncle Bob は Robert C. Martin のことです

 
kunggom 2020-08-31

そうですか? では、私の認識違いだったようです。

 
a12345 2020-09-01

頑張ってください