Software Design plusシリーズ『間違いだらけのソフトウェアアーキテクチャ』
―非機能要件の開発と評価
2010年8月17日紙版発売
Tom Engelberg 翻訳,長谷川裕一,土岐孝平 著
A5判/176ページ
定価2,178円(本体1,980円+税10%)
ISBN 978-4-7741-4343-9
ただいま弊社在庫はございません。
書籍の概要
この本の概要
ソフトウェア工学における幻の著『Downward Bound:Guide to application Architecture』をベースにソフトウェア開発におけるアーキテクチャの真髄を解説。巷間を賑わすITアーキテクトの真の姿・あるべき姿を問い,様々な開発手法に対してそれが本当に役立つのか極めて現実的な見地から批判を加える。一方でSEI(カーネギーメロン大学ソフトウェア工学研究所)が提唱するATAMやADDを応用した実現手法の紹介など,アーキテクチャの構築だけではなく,実際に効果的だったリファクタリングやメトリクス測定なども惜しみなく解説する。
こんな方におすすめ
- ソフトウェアアーキテクトになりたい方(?),非機能要件について知りたい方など。
著者の一言
「人生万事,道化芝居さ!(センバー・ファルシシムス!)」
2007年にそれまでお世話になった会社を辞めて独立してから,僕はアーキテクチャに関するコンサルティングやセミナを仕事としてやってきた。
まぁ,そもそも業界歴が長いのでそれも入れると,かなりいろいろとやっている。最近では,異なる金融系のレガシーなシステムを統合するためのアーキテクチャを構築したり,USと香港,そして日本にあるサーバを結合したシステムのアーキテクチャだって構築したりしている(この辺の話を詳しくできるといいんだけど,残念なことに,そうすると僕は訴えられちゃうだろう……)。
ナントカという厳めしい国の機関のとある部門からの依頼でさまざまな企業のアーキテクトと称する人たちと会って,アーキテクチャのベストプラクティスを分析したり――この分析結果は最悪だった。何しろ,ほとんどの企業がベストプラクティスと言いながら,自社製品の宣伝を始めるんだから,まともな分析なんてできやしない――これまた厳めしい学会のある分会でDIとAOPを核としたAADL(SAE:Society of Automotive EngineersのArchitecture Analysis and Design Languageにもアーキテクチャ記述言語としてAADLって云うのがあったのがダメだったかな……。で,う~ん,僕が考えたコイツは一体なんの略だったっけ?)などのアーキテクチャの評価方法を考案(これは,まったく流行らなかった。そういえば,DIコンテナを利用した場合の凹型アーキテクチャなんていうのも考案したけど,これもまったく流行っていないなぁ)したり,ITだけでなく工事なども含めた国内の品質工学についてちょっとは知られた機関の講座で,非機能要件について語ったり,それと並行して,各企業でアーキテクチャの構築や改善だって随分とこなしてきた。少しは失敗もあったかも知れないけど,大抵の場合はなんとか帳尻をあわせうまくいっている。
だから,その経験を週末の2,3回潰してまとめあげ,ちょちょいと本にして少しばかり生活費を稼いでも良いじゃないかと思ったわけだ。それに,それが少しは世間の役に立つのであれば……。この週末にちょちょいという計画が大間違いだったのは,本を書き始めてすぐにわかったけどね。僕はプロジェクトマネージャ支援も仕事としておこなっている。見積りやスケジュール計画,リスク管理の話を日頃,偉そうに話したりしてるのに,こんなずさんな計画を立てたなんて,ひどくがっかりだ。それでも執筆というデスマーチをこなして,なんとか僕の成果を1冊の本にまとめることができた。
さて,この本に書いてあることは,学術論文や技術論文なんかじゃなくて,僕が日頃アーキテクチャについて考えているロクでもないことや,SEI(カーネギーメロン大学のソフトウェア工学研究所)が提唱するATAMやADDにアレンジを加えて現場で利用した結果のエッセンスとか,アーキテクチャを構築する時に利用できる実現手法の話や,アーキテクチャを構築するだけじゃなく,管理/維持するために実際に効果的だったリファクタリングやメトリクス測定などといったことに対する僕の感じたことを書いたエッセイだ。
もちろん,書いてあることが,そのままで役立ったりすることはないだろうし,かなりムダなロクでもない話がいっぱい散らばっているので,その辺は適当に読んで,利用できるところは利用して,あとは捨てるなりなんなりしてほしい。そうするとアーキテクチャ構築とかアーキテクトに必要な色んなことが理解できるはずだ。それとアーキテクトっていうのがどんな人種でどんなことを考えているかもね。多分……。
最後に,この本を買おうとしてる人にお断りしておくが,この本は,多少ふざけて,しかも,僕の思いを込めて書いている。だから,現場で即役に立つとか,まじめな,客観的な事実に基づいたアカデミックな権威をもった技術書を読むつもりだったら,大間違いだ。皆に話しても恥ずかしくない話を読みたい人は,自分のブログやアマゾンなどの書評で,この本を酷評する前に,頼むからこの本を買うのをやめて,他の真面目な本を買ってほしい(まぁ,この本に書かれているダメなアーキテクチャの悪口を考えることで,頭の中のアーキテクチャが整理できたのなら,それはそれで,役に立ったってことだと諦めてくれ)。
翻訳者の一言
本書の内容について,具体的ではないとか,詳細が語られていないとか,業界の揶揄やメンタルな部分の話が多すぎるなど,いろいろなご意見もあると思いますが,僕自身がエンジニアを続ける上では,詳細に書かれた技術書(こうした書籍はもちろん必要です)よりも,こうした他のエンジニアの思いや考えに触れられる本書こそ,読みたかったものであり,時折仕事で悩んだ時に,読み返したくなる1冊なのです。もちろん,品質特性シナリオやATAM,DSMなどは本書を参考に,実際の仕事で役立てたことは言うまでもありません。
トム・エンゲルバーグさんは,自身のセミナー以外で人前に出ることを嫌い,また,モノを書くことも嫌いなため,日本で彼の存在を知っている人が少ないのは非常に残念ですが,彼自身は非常な親日家であり,旅行にそして技術的なコンサルタントとしても若い頃から何度かの来日を果たしており,本書を読んでいただけるとわかりますが,日本の青函トンネルをたとえにしたり,派生開発も理解しています。最近はIT業界から離れ,山奥で隠遁生活を送っているようですが,是非一度は日本でその過激で攻撃的なジョーク満載のセミナを実施してほしいと,心から思うものです。
この本を訳すにあたり,トム・エンゲルバーグさんの本は日本人には理解しがたいジョークや強烈なスラングが満載でしたので,さまざまな人のご協力やアドバイスを得て,本書を完成しました。とくに,中原慶さん(株式会社チェンジビジョン),吉野雅人さん(株式会社日産),後藤正一さん(株式会社豆蔵),福地博文さん(合同会社Starlight&Storm),大野渉さん(合同会社Starlight&Storm)には,内容についての適切なアドバイスをいただききました。英訳に関しては河本吉夫さん(株式会社ハピネット)にご協力いただきました。ここに,感謝の意を表します。
読みづらいところや誤訳があった場合は,それは,ひとえに私たち翻訳者の責任です。
この書籍に関連する記事があります!
- 「話題のソフトウェア・アーキテクト,トム・エンゲルバーグ氏 独占インタビュー!」
- ―今日は,著名なソフトウェア・アーキテクトにして偉大な登山家でもある「トム・エンゲルバーグ」さんにお越しいただきました。ヨセミテの山荘から,夏のセミナー参加のための再来日です。
目次
第1章 アーキテクト入門―長い道のりの最初の一歩
- プロローグ ─ 最後のセミナー
- セミナーの始まり
第2章 アーキテクチャという名の歴史と思想―僕の偏った歴史観
- コンピュータとアーキテクチャの歴史
- 休憩時間に……その1「アジャイルについて」
第3章 アプリケーションアーキテクチャへようこそ―もしくは勝手な思いつき
- アーキテクチャ概要
- 休憩時間に……その2「製造業と開発プロセスについて」
第4章 品質特性シナリオ―ようやくアーキテクトの仕事っぽくなってきた
- 品質特性を見つける
- 休憩時間に……その3「認証について」
第5章 ビジネスロジックと形式手法―人間の仕事という不可解な部分を考察する
- 人間の仕事ってヤツは
- 形式主義者
- 休憩時間に……その4「見積もりと経験について」
第6章 ATAM による分析評価―アーキテクチャを丸裸にする話
- アーキテクチャの分析/評価
- 休憩時間に……その5「派生開発とアーキテクチャの分析と評価」
第7章 メトリクスとDSM―俺の考えたアーキテクチャを壊すヤツは許さん
- アプリケーションの分析/評価
- アーキテクトへの長い道のりの次の一歩
- セミナーのおわり
- おわりに
- 訳者あとがき
- 参考文献
この本に関連する書籍
-
アプリケーションアーキテクチャ設計パターン
本書は,アプリケーションアーキテクチャの基本設計フェーズにおいて「何を作るか」ではなく「どう作るか」を設計する際のガイドです。心臓部となるサーバサイドを中心...
-
Trac入門――ソフトウェア開発・プロジェクト管理活用ガイド
『ソフトウェア開発における必須のプロジェクト管理ツール・Trac』Tracは,もはやソフトウェア開発に欠かすことができないプロジェクト管理ツールです。基本的には,情...
-
日本のソフトウェア産業がいつまでもダメな理由
「なぜ,ソフトウェア産業の生産性は低いのか?」「なぜ,仕事ができる人ほど割を食うのか?」「なぜ,いつも使えないシステムばかり出来あがるのか」……。 ソフトウェ...
-
Spring入門 ―より良いWebアプリケーションの設計と実装
Javaを使ったWebアプリケーションの開発は転換期に来ています。より軽量で構造がシンプルな設計をしようという機運が高まっているからです。 1つのソリューションは,Sp...