こんにちは mtj です
ソフトを作る上でどこに時間(費用)をかけるかはなかなか悩むとこだと思います。
物理的な装置と繋いでデータを取るシステムを作る上で無しで動くようにするテスト機能、デバッグ機能という物はシステムの動作自体には必要ありません。
実際に装置と繋いで動けば問題ないためです。
しかしそれは装置が無い限り動作を行えないソフトが出来上がってしまいます。
想定されるデータ、通信等を行っての動作テストが行えません。
結果 動作には不要なとこに時間をかけなかったせいで結局時間がかかる事になったりします。
仕様書等も同様で開発している間は不要に思える事が多いかもしれません
しかしいざそのシステムを久しぶりに使う、改造する時になった場合何を作ったか思い出せない可能性があります
改造するためにコードを見て作っていた物を把握しながら作る事になり、結果時間がかかってしまいます。
開発だけでなく 画面のデザイン等も重要になります。
必要な箇所には時間をかけてデザインし、UXにかかわらないようなところはそれなりの時間をかけてデザインのような感じでどこに力をかけるか考えるのはかなり大事な事だと思います。
必要な費用、期間でいいソフトを作るのが自分たちの腕の見せ所だと感じます。