状況:dbaは、DALコード全体をTFSでチェックアウトしたままにするオフサイトの請負業者です。フロントエンドの開発者として、列を追加したり、プロシージャなどを調整したりできます。この男がメールに応答して作業を行うのを待つ必要はありません。
質問:データの整合性とチーム間の平和への愛と幸福を維持しながら、より迅速で機敏な開発を可能にする推奨ソリューション/プロセスは何でしょうか?
状況:dbaは、DALコード全体をTFSでチェックアウトしたままにするオフサイトの請負業者です。フロントエンドの開発者として、列を追加したり、プロシージャなどを調整したりできます。この男がメールに応答して作業を行うのを待つ必要はありません。
質問:データの整合性とチーム間の平和への愛と幸福を維持しながら、より迅速で機敏な開発を可能にする推奨ソリューション/プロセスは何でしょうか?
回答:
マーティン・ファウラーとプラモド・サダレージは、この問題について優れた記事を書いています。
すべての開発者は、変更を加えることができる独自のデータベースを持っています。その後、これらの変更は(チェンジセットとして)マスターデータベースに実装するDBAに伝えられるため、プロセスに関与しているため、おそらくデータベースの構造とニーズについて最もよく知っています。これは、プロセスに関与するすべての人にとって満足のいくものであり、非常に機敏なため、これが最良のアプローチだと思います。
同様の方法でDALを変更できます。変更を加え、完了したと思われるときにDBAに変更セットを提供するだけで、DBAはそれを確認してマスターにマージできます。
Wellll、私がDBAのことをしているとき、私はすべてをロックして、いまいましいダーティプログラマーがその目的を達成できないようにすることが知られています。誰もがそれをよりよくする方法を知っていると思っており、彼らは物事を「微調整」して自分のために簡単にし、それは不道徳な混乱を引き起こします。
他の選択肢は、それを大きく開いてプログラマーにしばらくの間近づかせ、次にジャンプして、物事が終わりに近づき始めるときに順序を課すことです...これは確かにより「機敏」ですが、何を切り取ったり変更したりする必要があるかによる実際の悪夢... DBAはプロジェクト全体をよく理解していることが多く、無害に見える変更によって問題が発生する場合があります。
彼が唯一の門番になる場合、彼は固定された仕様を持っているか、残りの開発者に自分のビジョンを「売り込む」ことができる必要があります。
他の問題に取って代わる大きな問題があります:
なぜ彼はこれを許されているのですか?積極的に編集を行わない限り、ファイルをチェックアウトしてはいけません。チェックアウトに関するチームポリシーが必要です。
請負業者は(気に入ったかどうかにかかわらず)チームの一員として働き、場合によってはチームの他のメンバーが変更を加える必要があります。これはコミュニケーションの問題です。残念ながら、この通信の問題を自動的に修正する方法はありません。