http://www.infoq.com/jp/articles/model-driven-dev-best-practices
よんだ。

「生成したコードをチェックインしない」

私の経験では揺れた。
まれなケースだろうが、書き出しておく。はじめ、この原則と同じ考えで、ビルドラインを整えたが、最終的には生成したコードをチェックインして、くり返し生成しないようにしたブランチと、原則に従ったブランチができた。

生成したコードをチェックインのブランチ(保守側)の理由は次。

  • 生成のたねのモデル側の変更がほぼないほど安定した。
  • 生成するためのツールのバージョンの問題。通常の開発ラインと保守のラインのツールのバージョンが異なる。くり返し生成するビルドライン切り替える手間がかかった。
    • もしかしたら、2つ異なるバージョンのツールをインストールしておき、ビルドラインで切り替えで頑張ることが出来たかもしれない。

「ジェネレータをビルドプロセスに統合する」

これはかなり、クレバーなお仕事。胆力が問われる。

「チームワークはテキストのDSLが好き」

これは,ずーと悩まされてきた。

この問題を根本から直す方法の妄想を、いろいろ考えた。が。。。単に技術的な問題というだけでなく、情報の流れ、お金の流れ、チーム構造とふるまいから、デザインしないと解決が難しい課題のように見える。