仕様や設計の根拠

 しかも、物にする過程には技術の選択というものがある(広義の技術と取ってください。テクノロジーやテクニック、手法、メソッド全般)。物というのは技術で作られているわけですが、なんでも使える完璧な技術は存在しません。しかも、ステークホルダーはコスト、期間、品質をはじめ、本当に多くのパラメタを要求してくる。そういったパラメタを把握し、どういった技術を適用するのかという選択こそが、デザイナに求められていること。僕の定義ではアーキテクトに求められること。

http://www.arclamp.jp/blog/archives/imi_gijyutsu_katachi.html

の部分に同意する。

良いソフトウェアの仕様や設計には、
なぜその仕様なのか、なぜその設計なのか、
それを説明できるだけの理由や考え方が求められる。
「ただ、なんとなく」ではダメなのだ。

ソフトウェアに求められる要件と、
ISO9126のソフトウェアの品質特性の両方を考慮して、
全体で矛盾しないように仕様や設計を決めなくちゃいけない。

たとえば、

運用性の考慮
「運用しやすいように、このような仕様にしています。」
回復性の考慮
「エラーが起こっても、再実行できるように、このような仕様にしています。」
試験制の考慮
「テストしやすいように、このような設計にしました。」

と言えたら仕様や設計に根拠ができたと言えるんじゃないだろうか。

そして、その説明責任がアーキテクトにはあると思ってる。