形式と言うのは人を雇うか、プログラムを買うか と言う区別でしょうか?
「プログラムを作ってもらう」 と言う作業を頼むとして、
・成果としてプログラムの提出、検証試験の結果の提出でいつまでにいくら と言う契約
と、
・設計仕様書の提示
・バグがあったときの対応とその時の費用の取り決め。
(バグがあったときは無償で修正とか。ただバグだか、仕様の不備かの判断でもめることがありそう。)
・顧客情報等の取扱いと、違反時の罰則
・提出期日の取り決めと、違反時の罰則
・改版、メンテナンスが必要そうだったら、その対応。
この辺を取り決めておけばいいのではないでしょうか?