SEが設計(業務・基本・詳細)を行い、PGがコーディングをする・・・こんな関係はもうやめにしたほうがいいんじゃないのっていうところで。
ではどうするといいんでしょうか? ということで一つの妄想をしてみました。

前提

PGがツールを作成し、SEがそれを使って業務を実現する

PGが行うこと

  • 業務を実現するための、ある程度汎用的なDSLおよびツールを作成する
    • ※ドメインの制約があるので、「ある程度」汎用的なものを
  • 成果物:汎用ツール、APIドキュメント及び説明書
  • 責任範囲:ツールの不具合(業務の仕様漏れはSEに責任)

SEが行うこと

  • 業務をどんな風にシステム化すればよいか、しないほうがよいか、ということを考える
  • PGが作成したツール・DSLを駆使して、業務に役立つツールやアプリケーションを作成する
  • 成果物:業務仕様書、アプリケーション仕様書、業務システム
  • 責任範囲:業務システムの仕様(業務に関係ないバグはPGに責任)

PGとSEが共同で行うこと

  • 業務を実現するためにどんなツールが必要か、という打ち合わせ

期待されるメリット

  • 「仕様」と「設計」の分離
  • PGはプログラムだけに集中できるし、SEは業務だけに集中できる
  • PGは仕様変更・仕様漏れへのリスク回避、SEはプログラムバグへのリスク回避ができる

思いつきで書いてみた。