ラベル acdm の投稿を表示しています。 すべての投稿を表示
ラベル acdm の投稿を表示しています。 すべての投稿を表示

2011年1月19日水曜日

自分のプロフィールとして残しておきたかったこと [reflection]

前エントリーで,翻訳した本の紹介をしました.
Peace Pipe: 「アーキテクチャ中心設計手法」を翻訳しました [arch]

巻末に訳者紹介があるのですが,
IMG_0184

技術書の訳者プロフィールとしては不適切・不謹慎と重々自覚しながらも,最後はこんな風に締めています.

人生で必要なことは忌野清志郎の歌から学んだ。

ブロガー。

7歳の愛娘がなによりの宝物。


エンジニアであることの他に,「本質的に自分を形容する言葉は何かな?」と考えた時,素直に出てきたのはこんな言葉でした.


2011年1月16日日曜日

「アーキテクチャ中心設計手法」を翻訳しました [arch]

もう1度言います.

やっと,やっとこの本を紹介できる日が来た.
「鉄板」である.自信を持って紹介させて頂こう.


以前このブログで紹介した,"Architecting Software Intensive Systems" を翻訳しました.今週発売になります.
Peace Pipe: 全てのアーキテクトに読んでほしい - Architecting Software Intensive Systems [arch]

本書の内容は上記リンクをご参照頂くとして,自分が携わったことを差し引いても,「ソフトウェア」に関わる全ての同志に自信を持ってお勧めしたい書籍です.

4798122378アーキテクチャ中心設計手法
アンソニー・J・ラタンゼ


私が人生において学んだ、3つの原則がある。

1) インスピレーションはビジョン、発見、そして発明の始まりである。
2) 誠実な勤勉さと決意があれば、どんなことでも可能である。
3) 奢ることなく、人生の全てをかけて己を向上させる心構えを持て。

--中略--

日本において関わった仕事をとても誇りに思っている。私の生まれ育った小さな農村から地球の半分も離れた場所で、私が何年もかけて学んだこの3つの原則を同じように尊重するエンジニアたちに、私は出会ったのだ。

--中略--

エンジニアは独特の世界観を共有しており、エンジニアリングについて語る際、これらの違いに関わりなく自然と互いに引き寄せられる。私たちは皆、日常において同じ苦しみと楽しみを経験している。つまり世界中のエンジニアは、特別な血族関係にあると言えないだろうか。

-- Anthony Lattanze (日本の読者に向けたメッセージより)


様々な技術が台頭し、また廃れていく秒進分歩の今日において、本書は魚を与えるのではなく、釣り方を説いている。

--中略--

そして自信を持って、本書を組織のマネージャに勧めて頂きたい。変革の提唱者にだけではなく、その権限を持つマネージャにも、本書は確かな気づきを与えるに違いない。

-- 長谷川 倫也 (訳者あとがきより)


2008年12月21日日曜日

全てのアーキテクトに読んでほしい - Architecting Software Intensive Systems [arch]

やっと,やっとこの本を紹介できる日が来た.
「鉄板」である.自信を持って紹介させて頂こう.

1420045695Architecting Software Intensive Systems: A Practitioner's Guide
Anthony J. Lattanze

著者の Anthony Lattanze は,CMU (Carnegie Mellon University: コンピューターサイエンスの名門・コンピューターサイエンス部門では2009年全米大学ランキング3位) の教壇に立つ一方で,SEI (Software Engineering Institute: ソフトウェアに関する最も権威ある研究機関の1つ・CMM やプロダクトラインの開発などが有名) のシニアメンバーを務める.ちなみに CMU と SEI は密接な関係にある (SEI は CMU のキャンパス内にあり,CMU によって運営されている) が,両者のスタッフを務めるのは現在彼1人である.

…などと書くと「理論ばかりのアカデミック・アカデミックした頭でっかち」という印象を持つかもしれないが,私に言わせれば Lattanze ほど現場の感覚を合わせ持った研究者はいない.というのも,元々彼は実企業で15年の経験を持つ叩き上げで,現在は世界中で企業のコンサルを行う傍ら,市場の製品を受注し自身で設計・実装している.先日 CMU が優勝した無人車レースではナビゲーションシステムを担当し,Google がスポンサーのロボットを月に飛ばすコンテストでも実装を担当している.現在もバリバリにコードを書く,筋金入りのアーキテクトなのである.

実はこのブログに何度も登場している「某 SEI アーキテクト」とは全て彼のことである.以前書いていた ソフトウェアアーキテクチャのエントリー も,彼から学んだことを,本人の許可を得て掲載したものだ.

私は光栄にも本書の監修の一部を依頼され,ちょうど去年の今頃から半年あまりかけて本書の原稿をレビューした.まだ原本を読んでいないので,どれだけ私の指摘が反映されたかは分からないが,少しでも本書の出版に貢献できたとしたら,これ以上の喜びはない.
R0011294


内容について紹介すると,本書は大きく3つのセクションに分かれている.

セクション1は,ソフトウェアアーキテクチャについて抑えておきたいコンセプトが網羅されている.イメージとしては,SEI のシリーズでありアーキテクトのバイブルとされる Software Architecture in Practice (実践ソフトウェアアーキテクチャ)
Software Architecture in Practice (Sei Series in Software Engineering) 実践ソフトウェアアーキテクチャ
のエッセンスを抜き出し,その内容をさらに進化させたものと言ってよいだろう.SEI のシニアメンバーでありながら,SEI が提唱している一部の理論については「考えが古すぎる」「現実に即していない」と自身のスタンスを貫いてきた彼が,ソフトウェアアーキテクチャの基礎を紐解いている.

セクション2は,本書の真髄とも言える ACDM (Architecture Centric Design Method) の解説だ.ACDM とは Lattanze が1999年から研究をはじめ,本書ではじめてその全貌を明かす渾身の開発プロセスである.ADD は設計にしか特化しておらず,ATAM は評価にしか特化していない.また CMM,RUP,XP,Scrum などは,本質的な部分は「設計しろ」としか言っていない…といった問題がある中で,数々の企業に携わった Lattanze が,その経験の集大成として提唱するソリューションだ.言わば「アーキテクトの活動手順書」であり,読めば目から鱗がポロポロと落ちてくるだろう.

セクション3では,実際の適用方法について言及している.一般的に方法論というものは,いつだって理想的な形で述べられており,時にはあまりに現実離れしている.だが彼はセクション2で ACDM の理想形を示した上で,セクション3で「では実際にどう適用すれば良いか」について,明瞭に答えている.


自信を持って断言するが,今日ソフトウェアアーキテクチャを語る上で,これほど現実的かつ,要所を分かりやすくおさえている書籍は存在しない.また本書で豊富に紹介されているテンプレートは,すぐにでもドキュメンテーションに役立つだろう.


まだ完全に成熟していないソフトウェア工学の世界において,いわゆる「王道」は存在しない.手法もプロセスも山のように転がっているが,どれもそのままでは使いものにならない.

それは当たり前なのだ.一口にソフトウェア開発といっても,その規模や形態は千差万別である.その中でやり方が一意に決められるのであれば,極端に言えば開発は全て自動化できてしまう.

そのままでは使えないという点では,本書も同じかもしれない.だが本書が他と違うのは,明確な視点に基き,とことん現場目線で書かれており,「実際に自分の組織・開発に適用するにはどのようにカスタマイズして取り込めば良いか」が,自ずと導き出されるという点であろう.


プロセスは,それが良いか悪いかではなく,そもそもプロセスが「ある」ということがまず重要である.もしあなたがアーキテクトという立場で,組織としてやり方が確立されており,過去のプロジェクトが全て大成功というなら,ACDM など必要ないだろう.だがもし私と同じように,理想と現実の狭間にもがき,それでも日々の開発を推し進めて製品やサービスをリリースしながら,少しでも良いやり方を模索しているなら,本書は必ず何かしらのヒントを与えてくれるはずである.

GoF が言っていること,Gamma が言っていること,Bushman が言っていること,Shaw や Garlan が言っていること,我々が SEI で言っていること,これらは重複もしているし,相反もしている.

なぜなら,まず第1に粒度がバラバラであるからで,そして第2に視点が明確になっていないからだ.

この2つだけでも,万人を混乱させるのに十分でしょう?

この議論にウンザリしているから,もう自分で本を書こうと思ったんだ.

-- Anthony Lattanze