2022/08/04 『ソフトウェアアーキテクチャの基礎』 - Techmee vol.2 感想

timeedev.connpass.com

参加してきました。 タイトルの「ソフトウェアアーキテクチャの基礎」自体は未読で参加したのですが、学びが多かったので感想をメモしておきたいと思います。

アーキテクチャ決定は「最善」ではなく「最悪ではない」アーキテクチャを目指す

  • 自分としては最善を目指しがちで作業が止まる、というのが癖としてあるので、もしアーキテクチャ選定に関わるのであれば気をつけないとなと思いました
  • 同時に、「最悪ではない」を実現するには(発表にもあった)判断を遅らせることや、また判断を遅らせてもよいポイントを見抜くための「後で変えられるもの/変えられないもの」を見極めるスキルや経験、意識が必要だよなとも思いました

アーキテクチャ特性は全ての特性を高い水準で満たすことはできないので、トレードオフを意識して取捨選択をしたり、程度を決める必要がある

  • こういったトレードオフの判断をするために、アーキテクチャ特性にどんなものがあるか理解が必要になるんだな、ということを思いました
  • また「どういう状況で、どういう選択を、なぜとったのか」というのをしっかり把握しておく、ないしは記録しておくことが、アーキテクチャの継続的な成長にも必要そうだと思いました
    • この話に関連してADRも話題に上がっていたかなと思いますが、お話を聞く限りまだここら辺のベストプラクティスはないような気もしています

機能が増えるに従って設計の重要性が増し始める

  • 具体的にはPMFあたりから設計の重要性を意識し始めるよね、という話もあった気がします(間違ってたらすみません)
  • 個人的な所感ですが、だいたい最初のローンチから2-3年くらいという感覚もしており、ここら辺は皆何となくの感覚があるのかもしれません
  • いずれにせよ、「アーキテクチャが今の環境に対応できているか?今後対応していけるか?」というのは、何かしら時期(四半期とか)や企業活動(調達とか)の折に触れて検討すべきことなのかもしれません(何かしら内外の変化が生じているはずなので)

DevOps・組織構造・ビジネスおけるコアな価値など、さまざまな要因が アーキテクチャ決定に影響する

  • この要因を把握するだけでもしんどそう...と思いました
    • だからこそ発表の中でも「アーキテクチャの決定は難しい」とされていた気がします
  • どこまで検討に時間をかけるか、というのも現実の問題として現れてきそうとも思いました

参考になった書籍

感想として大きなものはこんなところだったかなと思います また、「dependency-cruiser で依存関係を把握して境界作りに役立てる」というのは良いアイデアだと思ったのと、以前別の勉強会でもありましたがやはり実戦で学ぶところが多いので、身近なところから考えてみるというのは大事だなと感じました。

駄文ですが、感想でした。 参加させていただき、ありがとうございました!