« 2008年10月24日

2008年10月25日の投稿

2008年10月27日 »

Ieee1471 アーキテクチャとは何だろうか?この問いはいろいろな人に聞くといろいろな答えが返ってくるので、「リクルートの面接時に必ず問う」という人もいるはずだ。ソフトウェアと分野に限らなくてもよいし、さらに、システムという分野に限らなくても答えられる。

ぼくの知識の中で、もっともらしいと思われているのが幾つかある。

  • IEEE1471のアーキテクチャに関するコンセプチャルなフレームワーク

これは、図のようなモデルで表現される。これは、かなりフォーマルに「アーキテクチャとは何か?」に答えているようだ。システムには1つのアーキテクチャがあり、1つ以上のアーキテクチャ記述によって記述されており、1つ以上のビューとモデルを含み、ステークホルダと関連している。ステークホルダは1つ以上の関心事をもっており、1つの視点は1つ以上の関心事をカバーしている。。。。。。」と読む(読めるか?)。

  • RUP

RUPは、それ自身、「アーキテクチャ中心」という冠詞が付いており、アーキテクチャは主に非機能要件から決定されるとしている。また、早期に決定することがプロジェクトのリスクを下げる上で重要とされている。

  • XP、アジャイル

アジャイルの旗手、XP(Extreme Programming)では、「ぼくは"A"からはじまる言葉をここではわざと使っていない。」として、アーキテクチャを避けている。もしくは、後に、「小さくはじめて育てる」とか、「アプリケーションの薄い縦スライスを作ってそれを太らせていく方法で、アーキテクチャは創発する」としている。これは、リファクタリング技術を最大限に活かした手法であるが、アーキテクチャが不連続に変わってしまう「アーキテクチャジャンプ」のリスクがある。

・Beyond Software Architecture

Luke Hohmann の本では、「アーキテクチャには技術できまる”ターキテクチャ”と、マーケティング要素から決まる”マーケテクチャ”の両面性がある」としている。

・POSA(Pattern Oriented Software Architecture)

よく知られたアーキテクチャをパターンとしてカタログ化するアプローチ。パターンムーブメントの中で、「デザインパターン」の自然な延長に出てきた。

そして、ぼくが最も興味があるのが、アーキテクチャの創発を「自然に起こる」のを待つアジャイルのアプローチと、最も変更しにくい部分と考えてなるべく早期に決定しようとするRUPアプローチのバランスである。もっとも、アジャイルでもリスクの高いストーリーを先に回すことで、アーキテクチャ創発を促すことができる。(ぼくはアジャイル信者である)

さらに、Jim Coplien が Uncle Bob との対談の中で、「TDDを過信して、アーキテクチャは創れない」という発言をしているのも気になるし、逆に「アーキテクトも実装に参加すべし(Architect Also Implements)」というパターンを組織プロセスパターンの中に含めているのもJim本人だ。

アーキテクチャは、創発するのか、あるいは、(経験から)選択するものなのか。直感的には、短期的な機能を実装することに焦点を当てると、健全なアーキテクチャは決まりにくいのではないか。。。アジャイルは機能するのだろうか?資産的な観点は?しかし、とは言っても行き過ぎたアーキテクチャ先行が逆に開発を阻む、いわゆるBDUF(Big Design Upfront)の弊害も多すぎる。先日マイクロソフトの萩原さんと話をしていたときにも、この話題になった。

こんなことを考えていたら、今日、Grady Booch のこんなスライドを発見してぶっとんだ。

    • すべてのアーキテクチャはデザインである。しかし、すべてのデザインがアーキテクチャであるわけではない。システムのアーキテクチャは、有意なデザイン上の意思決定で定義される。(ここで、有意かどうかは変更コストによって計測される)
    • ほとんどのアーキテクチャは、偶然的である。しかし、ときに意図的なものもある。
    • すべてのソフトウェアが主要な役割をしめるシステムには、アーキテクチャが存在し、それは、日々起こる何万もの意思決定の積み重ねである。
    • コードはいつでも正しい。しかし、それは正しいことの全体ではない。ほとんどのアーキテクチャ情報は、種族記憶(tribal memory: 個々人を含むチーム記憶の歴史的な全体)に存在する。

わお、だ。かっこいい。ほとんど言い尽くしている。。。。また Jim Coplien は、

    • 開発は2つのレベルで進行する。
      (1) アーキテクチャ
      (2) 実装
    • 2つは同時進行し、かつ、お互いに強い相互作用がある。新しい実装はアーキテクチャの変更を示唆する。アーキテクチャの変更は、ふつう大幅な実装の変更を強制する。

と示唆。これは、先の「Architect Also Implemets」のラショナルだ。

平鍋

« 2008年10月24日

2008年10月25日の投稿

2008年10月27日 »

» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

平鍋 健児

平鍋 健児

株式会社チェンジビジョン代表取締役社長、永和システムマネジメント副社長。
オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。

詳しいプロフィール

Special

- PR -
最近のトラックバック
カレンダー
2013年4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
hiranabe
Special オルタナトーク

仕事が嫌になった時、どう立ち直ったのですか?

カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ