プロダクト開発をしていると、よくこんな場面があります。
- 「その変更はよくない」と思う
- でも強く指摘すると空気が悪くなる
- 指摘しなければ、プロダクトには負債が残る
このとき、自分たちは何を守っているのか。
最近、「プロダクトを守る」と「チームを守る」は別の行動なのだと考えるようになりました。
「プロダクトを守る」とは
プロダクトを悪い方向へ変化させようとする動きに対して、
「それは違う」
と伝えることです。
設計、UX、品質、運用性など、理由はさまざまですが、長期的に見て問題になる変更を止める行為です。
開発者としては自然な責任感でもあります。
「チームを守る」とは
一方で、チームを守るとは何でしょうか。
これは単純に「仲良くすること」ではありません。
意見が対立したとしても、
- 相手を壊さない
- 関係性を壊さない
- 継続的に一緒に開発できる状態を維持する
ことだと思っています。
よくある失敗
プロダクトへの責任感が強い人ほど、
正しいことを言えばいい
と思いやすいです。
実際、内容としては正しいことも多い。
ただ、正しさだけで押し切るコミュニケーションを続けると、チームは少しずつ壊れていきます。
- 発言しなくなる
- 提案しなくなる
- レビューが怖くなる
- 本音を言わなくなる
こうなると、短期的には品質を守れても、長期的にはチームの生産性が落ちます。
そして最終的には、プロダクトそのものも弱くなります。
プロダクトは作り直せる
極端な話、プロダクトは作り直せます。
リプレイスもできます。
アーキテクチャ変更もできます。
数年単位で見れば、作り変わるのが普通です。
でも、チームはそう簡単には戻りません。
一度崩れた信頼関係は修復に時間がかかりますし、人は静かに離れていきます。
だから、まずチームを守る
もちろん、品質を諦めるべきという話ではありません。
プロダクトを守ることは重要です。
ただ、その守り方が「人を壊すやり方」になってしまうと、長期的には失敗する。
だからこそ、
プロダクトを守るためにも、まずチームを守る
ことが大事なのだと思っています。
強いプロダクトは、強いチームからしか生まれないので。