仕様書を書けない大手のエンジニアたち2009年09月21日 23時47分01秒

最近出会うエンジニアで特に大手のメーカのエンジニアの書く仕様書でまともなものを見た事がありません。支離滅裂な場合が多い。

仕様書というものは抽象的なものから具体的なものに落とし込んでいくプロセスが必要なのですが、一貫して独りよがりの他人に理解できない自分だけの用語を使って、抽象的な表現に終始している。

例えばμITRONで動作する一部のタスクで実行されるはずのライブラリと他のタスクでそのタスクへ要求するためのAPIの仕様を明確にしなければならないのに以下のような仕様書を平気で提示してきます。

  • タスク関連を明記しない
  • API部分の実行タスクとそれを処理するタスク間のインターフェースを明記しない
  • タスク優先度とコンテキストスイッチのタイミングについて全く検討しない
  • データフローを検討しない
  • 同期処理とデータフローの関連を検討しない
  • どの部分の仕様を記述している仕様書なのかが結局わからない
  • 同じ意味のはずの用語が途中で変ってしまう

上記の問題点は逆に言えば本来やるべき設計書の章立てになります。 以下のような感じです。

  1. ハードウェア条件とソフトウェアの適用範囲の定義
  2. OSがあるのであればタスクやプロセス構成を記述する
  3. 記述している仕様書の適用範囲の明確化
  4. 用語の定義と記述の一貫性を保つ配慮
  5. 特定のタスクの内部の機能ならば他のタスクとの要求などの外部インターフェースの定義
  6. 外部インターフェースによって受け付けた要求を内部的にどう処理するかの定義
  7. 内部リソースの確保や解放に関する定義
  8. データ構造とAPIの定義
  9. ローカルな処理内容