InfoQ

News

ソフトウェアアーキテクチャでありがちな間違いトップ10

作者 Niclas Nilsson, 翻訳者 編集部 投稿日 2007年10月17日 午前4時28分

コミュニティ
Architecture
トピック
エンタープライズアーキテクチャ
タグ
Checklists and Guides

IASA Fellows(サイト・英語)の一員であるEoin Woods氏(サイト・英語)は、ソフトウェアアーキテクチャにおいて一番ありがちで大変厄介な間違いが何であるかという事に関する記事を書いている。下記はその10個のポイントを簡潔に引用したものである(source)

  1. スコープの問題 ”シンプルな予約システムだが多大なる構築コストがかかってしまった状況では、当然プロジェクトのコストや時間軸や品質に影響が出てくる。シンプルなログイン以外にはセキュリティが必要ないのは本当だろうか?システムに一度ログインしたらユーザーは本当にどんなシステム動作でも行うことができるのだろうか?"
  2. ネットワークを幅広く把握できていないこと ”私たちがよく犯していた過ちは数人のシステムステークスホルダーだけに注目していた事である。従来的にその取得者(システムのコストを負担する人)とエンドユーザーのみに焦点を当てていたことである。"
  3. 機能のみに集中していること ”システムが幅広い領域で品質(パフォーマンス、セキュリティ、保持性等)を証明していな限り成功は見込めないだろう。"
  4. ボックスとライン解説 ”巨大なVisioの図がアーキテクチャ解説と同じように、効率良く働かないのには二つの理由がある。一つ目は単一の表示に過度の情報を表示しようとしていることである。二つ目は誰も自分が描いた画像がそれぞれが何を意味しているかあまり把握していないことである。”
  5. 構築されるべきであることを忘れていること ”システムの構築に関して気を付けなければいけないのはデベロッパやテスターがあまり理解していないデザイン、彼らがあまり思い入れのなく学ぶ時間もないテクノロジー、そしてまだ良いツールサポートがない、またはあまり馴染みのない働き方を強要されるような新たなテクノロジー等が含まれていることである。"
  6. プラットフォーム正確性の欠如 ”プラットフォームを特定する時、単純に「UnixとOracleが必要です。」と言うだけではもう十分ではないのです。 自分が必要とするものを的確に得るには、特定のバージョンとそれぞれの部分の設定に関して忠実でならなければならない。こうすることによって他の何かが機能しなくなるということを知らずに、誰かがご親切にプラットフォームの一部のライブラリをアップグレードしてしまったために自分がシステムをデプロイできないという状況を防ぐのである。"
  7. パフォーマンス作成とスケーラビリティ想定 ”早いうちにパフォーマンスとスケーラビリティに関して考慮し、キーパフォーマンスメトリックを予想してパフォーマンスモデルを作り、デザインのアイデアを形成するのと同時に障害を発見し、実際に可能である何らかの作業に没頭するのだ。こうすることによって、あなたのデザインにパフォーマンスやスケーラビリティの障害が潜んでいないという自信に繋がるのである。"
  8. DIYセキュリティ ”たくさんのシステムにおいておかされてきた過ちは、"自家製"セキュリティテクノロジーを使用してセキュリティをシステムに導入し ようとしていたことである。カスタムされた組み込みアルゴリズムでも、開発者の独自の監査システムか全体的なDIYアクセスコントロールシステムでも、自分で開発したセキュリティ解決策が良い案であることは稀である。一方ほとんどの人々が効率の良いセキュリティテクノロジーを瞬時に作り上げることができると考 えているが、それは間違っているのである。”
  9. 障害回復の欠落 ”DRメカニズムをシステムに実装するためのリソースを取得するコツは、たくさんのシナリオを想定してシステムの非有効性コストを具体的に数量化することである。もしもシナリオが実現する可能性を見積もることができたら、DRが重要であることを人々に納得させるのと、またそれを実装するのに必要な予算を正当化するためにこの二つの数字を使用することができる。”
  10. 障害回復プランの欠落 ”システム、もしくはアップグレードのデプロイメントの間に何が起こっても良い様に、デプロイメントを始める前にその環境をステートにリストアするのを可能にするドキュメント、レビュー、同意された障害回復プランを用意すること。”
Eoin Woods氏はUBS Investment Bankのソフトウェア、エンタープライズアーキテクトである。

原文はこちらです:http://www.infoq.com/news/2007/10/top-ten-architecture-mistakes
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

インタビュー: Emmanuel Bernard氏にBean Validation仕様について聞く

Bean Validationフレームワークの初期ドラフトに関する以前の記事に続き、InfoQは専門家グループが求めているコミュニティの関与と提案について理解を深めるため、Emmanuel Bernard氏と対談しました。

ポーカーに学ぶ、ソフトウェア開発のレッスン

ポーカーは他のトピックにも広く適用できるような数少ない教えを私にもたらしてくれたと信じています。実際私はソフトウェアを開発すればするほど、これら二つの仕事は非常に似ていると言う確信の度合いを深めています。

InfoQがBPEL4PEOPLEの代表と対談

恒例の「バーチャルパネルセッション」で、InfoQは新しいOASIS BPEL4People技術委員会の代表と対談をし、この作業が何故必要であるかについて彼らのフィードバックを得る機会を得ました。

CLR上でのドメイン特化言語の構築

ドメイン特化言語は最近非常に人気が高まっている話題です。これは恐らく、Rails現象に起因していると考えられます。Railsの人気と、Railsにおけるドメイン特化言語(以降、DSL)の大規模な使用は、DSLに対する広範な関心を呼び起こしました。

Rubyのデバッガを調査

Rubyには、Rubyコミュニティの内外で広く知られている誤解が一つある。Rubyにはデバッガがないという誤解だ。しかし、Rubyにデバッガが無いということは誤解なのだ。実際のところ、Rubyにはデバッガ用のツールがある。

改善、成功と失敗: 中国でのスクラム導入

InfoQ Chinaは中国でスクラム(Scrum)がどのように導入されているかに関する調査を行いました。私たちはこの記事のために5つの事例をピックアップしました。これらの事例は、異なるさまざまな会社によるもので、異なるプロセスが利用され、異なる結果が生じたものです。

洗練されたサービス契約による見事なスケーラビリティ

Udi Dahan氏のチームが、サービス契約を利用した2度の失敗を避け、複数の側面でのスケーラビリティに対処しています。

塹壕より Scrum と XP

Agileを始めるときは、とても分かりにくいです。一体どこから手をつければいいのでしょう?この物語はそんな皆様の一助になれば幸いです。本書は、スウェーデンにある、とある40人ほどの会社で、どのようにAgileとXPを実行したか、プロセス改善を行ったかを記しています。