勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

「Design It! ― プログラマーのためのアーキテクティング入門」の前半を読んだ #デッドライン読書会

後輩エンジニアに追い立てられて、老兵エンジニアがリーディンググラス片手に未消化の積読技術書をデッドラインを決めて読んで感想をブログに書く企画(ざっくり)の第10回。今回は「Design It! ― プログラマーのためのアーキテクティング入門」である。2週間で本書の前半部分(最初〜226ページ、第1部と第2部)を読む約束でがんばった。

Design It! ―プログラマーのためのアーキテクティング入門

Design It! ―プログラマーのためのアーキテクティング入門

デッドライン読書会のルールは、以下参照

なお、訳書が発売されてはいるのだが、本ブログでは原著で読んでいる。https://learning.oreilly.com/ に加入しているので原著であれば購入せずに読めるからである。このテクニックについてはこちらの過去記事をどうぞ。

リーン/アジャイル時代のソフトウェアアーキテクチャ

個人的なアーキテクティングのバイブルは長らく

だったのだけれども、本書では従来のアーキテクティングアプローチをバッサリと切っているあたりが楽しい。

ソフトウェアアーキテクチャの文書化は、悪名高いことで有名だ。コードを書く時間を奪うし、賞味期限が切れていることがほとんどだ。独自のバイナリファイル形式で書かれていて、手軽に編集できないことも多い。それに加え、それを読む人がほとんどいない! ソフトウェアアーキテクチャ記述(Software Architecture Description)のことを SAD と呼ぶ人がいるのも不思議ではない。
Design It! ―プログラマーのためのアーキテクティング入門 11 章 アーキテクチャを記述する

というわけで本書の基本的なコンセプトとしては、

  • ライトウェイトかつスケッチに近い Architecturally Significant Requirement:ASR Workbook を中心に
  • BDUF(Big Design Up Front)ではなく、ENUF(ENough design Up Front)でやる

となっていて、これはさっそく試してみたくなってしまう。

実際問題、モノシリックで巨大なエンタープライズシステムは世の中から減ってきているので、以前に書いたEAともども、ファットなADは絶滅していくのかしら・・・というのがここまで読んだ感想である。

問題はどう実行できるかだ

さて前半を読んで、ASR Workbookを中心にしたアプローチはわかった。というわけで問題なのは「どうやるか」である。
本書の後半には様々なプラクティスやアイデアが散らばっているので、これを読んでいろいろとシミュレーションしてみたいところ。その上で、おそらく本書に書かれたことを学ぶためにもっとも良いのは「やってみる」なんだろうなぁ、と思う。実際問題、十分にプロセスは軽量なので、少しの時間さえ作れば素振りはできそう。
さて、どうしたものか・・・