まず、命名規約は必須
あと大まかなモジュール構造とデータ構造、グローバルデータや排他制御等
決めとかなきゃいけないだろ
イベントドリブンな構造にするのかどうするのかとか
機能ごとに末端だけを作るにしろ、スレッドセーフでリエントラントなのは必須だろうけど
排他制御が決まってないとファイルアクセス一つできないぜ