InfoQ

News

階層アーキテクチャは開発者と彼らが作るソフトウェアの間にギャップを生むか?

作者 Sadek Drobi, 翻訳者 岡田 英久 投稿日 2008年1月7日 午前6時31分

コミュニティ
Architecture,
Agile
トピック
Delivering Value,
顧客要求,
コラボレーション
タグ
Face to Faceコミュニケーション,
Antipatterns,
Useability

今日のソフトウェアコミュニティにおける努力の多くは、ソフトウェア開発のプロとビジネスピープルとの間のギャップを解消するための橋渡しを目標としているが、一部のブロガーは問題をすこし異なった視点から見ており、開発者と彼らが作るソフトウェアとの間のギャップを強調している。

Jeff Attwood 氏によると、開発者が定期的にカスタマサービスで仕事をするという Amazon の経験は、ソフトウェアの品質とユーザビリティを向上させるための有益な手段である。彼は実際、「ソフトウェア開発者が単に自分たちの書いたコードを見てまわるだけの旅行者であるケースが多すぎる」と考えている。なぜならソフトウェア開発者たちには、ユーザおよびユーザが抱える問題や関心事についての基本的な理解が欠けているからだ。このことについて、彼は「象牙の塔のソフトウェア開発」というタイトルで早くから言及している。

他の無視することのできない証拠がなければ、開発者は他人がみんな開発者であると勝手に想定する。 [...] 開発者がまわりから浮いた存在になればなるほど、結果として生まれる成果物はひどいものになる。ほとんどのチームにはビジネスアナリストがいるが、彼らは開発者をユーザから守ることが自分たちの仕事だと感じているので助けにはならない。 [...] ユーザが誰なのかを開発者が知ることのできない環境を作るのは危険である。

しかし Abhijit Nadgouda 氏によれば、今日の業界は、階層構造と複数のレイヤの存在、そしてそれらのレイヤ間を遮断している情報によって特徴づけられる。これは管理を簡素化しビジネスをより安全にするが、ソフトウェアの品質面においてかなりのマイナス要素をもっている。

私たちは自分のプロジェクトに階層構造を作成し、すべてのレイヤはその下位レイヤを何らかの情報から隠蔽するようにしている。ソフトウェア開発チームにいるメンバーのうち何人が自分たちの取り組んでいるソフトウェアの価値を知っているだろうか? クライアントのビジネスの重要さを知っているだろうか? 彼らうち一体何人が、自分たちの取り組んでいるのとは別の部分について知っているだろうか?

[...]

よりよいビジネスとよりよいソフトウェア開発の間に断絶があるように思える。これが、私たちのほとんどはよいビジネスをするがソフトウェア開発では相変わらずお粗末である理由であると、私は考えている。

ソフトウェア開発が相変わらずお粗末である理由を特定する彼の試みでは、Reg Braithwaite 氏もまた問題を提起し、経験の浅い人たちがコードを破損することを防ぐためにプロジェクトの作業を分割するのは誤りかもしれない、と主張している。

このようなアプローチに基づくアーキテクチャは開発者が抽象化を行うのを容易にしてくれることが多いが、これが行き過ぎると、開発者のタスクは機能という文脈からはずれて純粋に技術的なものと化す。これは潜在的に開発者と彼らの取り組んでいるソフトウェアとの間にギャップを生み出す可能性がある。

あなたの意見はどうだろう?このような保護主義的なアーキテクチャはソフトウェアのユーザビリティ確保の妨げになると考えるだろうか?それとも、全体像に無知な開発者が存在するアーキテクチャが効果的である場合があるだろうか?そういうアーキテクチャはソフトウェアと価値を提供できるだろうか?

原文はこちらです: http://www.infoq.com/news/2007/12/gap-between-devs-and-software

ブックマーク
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を実行したか、プロセス改善を行ったかを記しています。