Help us understand the problem. What is going on with this article?

ちょっとずつ読むドメイン駆動設計 第四部 戦略的設計 第十四章 モデルの整合性を維持する6 顧客/供給者の開発チーム

More than 1 year has passed since last update.

これまでの十四章

顧客/供給者の開発チーム

例えば、供給者(上流チーム)が作成するAPIを顧客側(下流チーム)が使用するようなパターン。

顧客側は同じ社内の別チームだったり、別々の企業で進められるプロジェクトであることもある。
よくあるのは、複数の全く別のコミュニティに対して適用されるパターン。
モデルもツールセットも異なるので、共有カーネルのようにコードを共有することができません。

このパターンを採用すると、顧客側は「顧客」という役割なので、供給者に要望(クレーム?)を出すことができるし、供給者はその要求を最優先で対応する必要があります。

顧客/供給者の開発チームのあるある

そうなると、政治的な力関係がある場合、こんな問題が起きます。

  • 顧客側が変更に対する拒否権を持っている。
  • 変更を要求するのに手続きが面倒。
  • 下流のシステムを壊してしまうと不安になり、上流側が抑制されてしまう。
  • 影響力のある顧客は上流のプロジェクトを成功させる上で重要な要求を出すこともあるが、同様に、その要求によって上流の開発が阻害されるかもしれない
  • 上流が富者で下流が貧者の場合、下流チームが要求を実現してもらうために、上流チームに懇願しなければならない

最後の2つは力関係によってそうなるなということが凄くよくわかります。

解決策

イテレーションプランニングに下流のチームの代表を参加させて直接議論することが解決策になります。そうすることで、下流側が必要とする作業を上流がしてくれるか、延期するかその場で決定でき、下流側がそれに影響されて遅延することはなくなります。
手続きも不要。顧客側が強く言ってくることもないし、上流が不安に思うこともなくなります。

ただし、顧客が一つのチームだけとは限りません。その際に必要なのは、顧客の要求に対してバランスを取っていきながら、下流の要求を優先して対応していきます。
これによって、富者・貧者の関係や影響力のある顧客の関係を解消していきます。(それが難しいといえば、難しい)

もうひとつは、受け入れテストを共同で開発することです。
開発したテストは上流側のテストスイートに追加し、継続的な統合の一部として実行されるようにします。

Evansの経験

最後にEvansの経験談が載っていますね。

上流のメンバーが自分たちの役割は顧客に仕えることであると考え、こうした関係が非公式に組織され、2人のプロジェクトマネージャーが個人的仲が良い。こうしたケースは常にうまくいっていたとのことです。なるほど!

逆に上流チームを動機づけるものが何もない場合は非常に難しい・・・と。。。
NARUHODO・・・

zozotech
70億人のファッションを技術の力で変えていく
https://tech.zozo.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした