ソフトウェアの開発手法がどのようなものであったとしても、最終的にはユーザが必要とする機能を提供しなければなりません。ですから、品質は最も重要なものだと言えるでしょう。開発をするときには、ユーザがどのような機能を求めているのかを意識する必要があるでしょう。不要な機能を付加することに固執すると、デバッグの作業も増えますし、それによってコストもかかります。
ユーザのニーズを満たす機能が何なのかを把握しておくことで、開発にかける時間やコストを削減することが可能です。次に意識しなければならないのが効率性です。CPUやメモリなどのリソースを無駄に消費しないような効率的なソフトウェアが好まれます。できるかぎりリソースの使用量の少ないものを開発するようにするべきでしょう。
そして、信頼性も求められます。エラーがよく発生するようなものであると現実的には使いにくいでしょう。オーバーフローやアンダーフローなどが頻繁に発生するようなソフトウェアは使い物になりません。安定性も重要視されます。
最近では常にソフトウェアを起動させて、リアルタイムで処理を行わせると言ったことが普通になってきています。もしもエラーが生じて停止してしまうと言ったことになると、リアルタイムでの処理に弊害が生じてしまう可能性があります。ソフトウェア自身でエラーを修正できるような機能があれば、安定して稼働させることができると考えられますから、利用価値は高いです。