ばやしのブログ

アジャイルとかやる中で考えていることを書きます

RSGT2026で「複雑さを受け入れるか、拒むか?」というタイトルで登壇してきました

どうも、ばやしです。 表題の通りRSGT2026で「複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと」というタイトルで登壇してきました。

発表資料はこちらです。

speakerdeck.com

複数人から「資料だけだと背景情報がわかりづらい」というフィードバックをいただいたのでブログにて補足したいと思います。

この資料は何を伝えたかったのか

エンジニアとして働いていると、複雑さは基本的に嫌いですよね。そもそも開発する際に大変だしバグも生みやすそうだしメンテナンスコストも高いし。 ということで複雑なものはシンプルにしたくなっちゃうのですが、過剰にシンプルにし過ぎると、簡単なものは競争相手がすぐ真似できてしまうので プロダクトとしての競争優位性が保てません。

そのため私たちは機能をたくさん揃えたり機能を磨き込んだりといった複雑さを増やす行為をして競争優位性を保つ必要があります。

とはいえ、複雑さが発生させるデメリットは依然として存在しています。 開発をすればするほど、複雑さが積み上がっていき、開発効率もどんどん悪くなるし、どんどんバグが発生しやすくなるし、しまいには一切手を入れられないプロダクトが出来上がってしまいます。

競争優位性のために複雑さを歓迎しながら、一方で開発効率のために複雑さを拒否する、この矛盾に対して取り組んでいきましょう。うちではこういう風にやってきました。ということが今回の発表の基本的なメッセージです。

うちでやったことをサマるとこんな感じです。

  • 捨てやすく作ることで、価値を生んでいない機能で複雑さを上げない
    • 捨てやすく作るべきか捨てづらく作るべきかの目利きも都度行う
  • 機能追加する際にちゃんと都度全体のモデリングをしようね
  • 要件にまで踏み込んで設計を考えることで、機能の価値と複雑さのバランスを取る
    • でもそのためには要件を出してる人と知的コンバットできるくらい背景理解しようね

もしご興味が沸いたら発表資料も目を通してもらえると嬉しいです!

ということで、登壇の補足でした。

登壇しての感想やRSGT2026の参加感想はまた別途書こうと思います。