プログラムは、動作するだけならすぐできる。

ような気がする。同じ人間だと。ただし、動作が遅くないかとか変更に耐えうるかとかの視点が加わると、色々考えなきゃいけない。
早くできることと柔軟にできること。運用・保守を含めたトータルのコストバランスが重要だが、開発側・ユーザ側それぞれの視点を一致させる必要がある。視点というか利益かな。
ここで注意したいのが、ソフトウェアの品質についての一般論。ISO/IEC 9126-1とかでは、機能性だけではなく信頼性や保守性を含めてソフトウェアの品質としている。大抵のシステム屋は、機能性位しか見てないんじゃないかなぁ。

設計の開始前に品質要求を完全に定義することはできない。

  1. 利用者が自分の真の必要性に気づいていないことがある
  2. 必要性は、明示された後に変わることがある
  3. 異なった利用者は、異なった運用環境をもつことがある

ソフトウェア品質特性について

ISOとかJISとかって案外と普通のことを言ってたりするんだなぁ、と思った。
ただし、これはISO/IEC 9126-1。ISO 9001とは違う。ISO 9001を適用してるシステム開発会社って多いのかな。うちの会社はそうなんだけど。なんか、ずれてるんだよね。