Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実際の業務で行った技術選定を通じて感じた 「君たちはどう技術選定をすべきか」 / "How Y...

実際の業務で行った技術選定を通じて感じた 「君たちはどう技術選定をすべきか」 / "How You Should Approach Technology Selection" - Insights Gained from Actual Technology Selection in Practice

2024年12月19日のエンジニアの成長を応援する忘年LT大会2024で発表した「実際の業務で行った技術選定を通じて感じた 「君たちはどう技術選定をすべきか」」の講演資料です。講演詳細についてはこちらを御覧ください ( https://engineers.connpass.com/event/338172/ )

NTT Communications

December 23, 2024
Tweet

More Decks by NTT Communications

Other Decks in Technology

Transcript

  1. © NTT Communications Corporation All Rights Reserved. 2 ⾃⼰紹介 Name︓松永和也

    NTTコミュニケーションズ株式会社でソフトウェアエンジニアやってます 主な仕事︓ 内製CI/CDプラットフォーム 「Qmonus Value Stream」の開発運⽤・利⽤導⼊⽀援 (~2024/12) https://www.valuestream.qmonus.net/ X︓ @_mk_net_ mixi2: @mk_net
  2. © NTT Communications Corporation All Rights Reserved. 3 前提 -

    この発表では、実際の業務で⾏ったDBマイグレーションツールの技術選定を振り返って感じた以下の点 について話します - 技術選定をより良く、かつ効率よく行うためにはどのようにしたらいいか - 技術選定する際はもっとこうすればより良くできたのではないか - etc. - 技術(DB)やツール(golang-migrate , atlas etc.)の詳細な話は今回はしません
  3. © NTT Communications Corporation All Rights Reserved. 5 結論 1.要件はちゃんと⾔語化せよ︕

    2.要件に重みをつけるべし︕ 3.⼈を巻き込みながらやろう︕
  4. © NTT Communications Corporation All Rights Reserved. 6 結論 1.要件はちゃんと⾔語化せよ︕

    2.要件に重みをつけるべし︕ 3.⼈を巻き込みながらやろう︕
  5. © NTT Communications Corporation All Rights Reserved. 8 実際にあった要件 ❌「既存のsqlcを使った

    開発体験」って何︖ 第三者からみたら よくわからない
  6. © NTT Communications Corporation All Rights Reserved. 9 実際にあった要件 第三者から⾒ても

    理解できるように これくらい具体的に ⾔語化せよ
  7. © NTT Communications Corporation All Rights Reserved. 10 結論 1.要件はちゃんと⾔語化せよ︕

    2.要件に重みをつけるべし︕ 3.⼈を巻き込みながらやろう︕
  8. © NTT Communications Corporation All Rights Reserved. 11 技術選定は常にトレードオフ -

    全ての要件を完璧に満たす技術は(よほどの奇跡が起こらない限り)存在しない - 「アーキテクチャ設計は常にトレードオフ分析なんだ」 - ( by Neal Ford ( O'Reilly Japan ソフトウェアアーキテクチャ・ハードパーツ 著者) アーキテクチャカンファレンス2024 基調講演) - 技術選定も同じ︕︕全ての要件を完璧に満たす技術は存在し得ない、だからトレードオフ分析はMust - そのためにも要件に重み(優先度)をつけるべし︕︕ - どの要件を必ず満たすべきで、どの要件は最悪落としても良いか etc.
  9. © NTT Communications Corporation All Rights Reserved. 12 結論 1.要件はちゃんと⾔語化せよ︕

    2.要件に重みをつけるべし︕ 3.⼈を巻き込みながらやろう︕
  10. © NTT Communications Corporation All Rights Reserved. 16 どの段階から⼈を巻き込む︖ 要件定義

    技術候補調査 候補技術 検証 選定議論 最初から 巻き込め︕︕
  11. © NTT Communications Corporation All Rights Reserved. 17 どの段階から⼈を巻き込む︖ 要件定義

    技術候補調査 候補技術 検証 選定議論 最初から 巻き込め︕︕ 第三者からしか 得られない視点も ある 検証の際に ⼿分けもしやすい 要件の⾔語化も ⼀⼈でやるより 皆でやった⽅がしやすい
  12. © NTT Communications Corporation All Rights Reserved. 18 結論(最後に再喝) 1.要件はちゃんと⾔語化せよ︕

    2.要件に重みをつけるべし︕ 3.(なるべく最初の段階から) ⼈を巻き込みながらやろう︕