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

開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の...

nihonbuson
February 13, 2025

開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality

nihonbuson

February 13, 2025
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. 各登壇者の立ち位置 • 雄介さん ◦ アーキテクトとして ◦ アジャイルプラクティス実践者として • 🥦 ◦

    QAとして ◦ Agileな開発におけるテスト活動の実践者として • 安達さん ◦ 雄介さんと🥦が話した内容で分かりづらいところ のツッコミ役として
  2. 自己紹介 • 鈴木雄介 • Graat 代表取締役社長 • アイムデジタルラボ 取締役 ◦ 三越伊勢丹グループ •

    社外活動 ◦ 日本Javaユーザーグループ CCC運営委員長 ◦ X:https://x.com/yusuke_arclamp ◦ ブログ:https://arclamp.hatenablog.com/
  3. 利用時の 品質 利用時の 品質 そもそも品質って何? プロセス 品質 内部品 質 外部品

    質 利用時 の 品質 JIS X 25010:2013より作成 構造 (残る) 挙動 作業 (残らない)
  4. アジャイルの品質 1/3 • 最終的に目指すのは「利用時の品質」の向上 ◦ まさに「価値」の向上 ▪ 「価値」はユーザーの体験によって生まれる ▪ 「価値」は相対的に変化する

    • 競合他社がより良いものを提供する ▪ 良い価値とは何か?は本日の対象外 • サービスデザインとかユーザビリティとか • 価値を向上させ続けるには機能をどんどん変えていく 必要がある
  5. 構造に取り組む • DevOps ◦ IaC、Gitによる構成管理、ビルド・デプロイの自 動化、GitOps... • マイクロサービスアーキテクチャ ◦ 部分の変更が全体に影響を及ぼさないようにする

    ▪ サービス同士を疎結合にする • クラウドネイティブ ◦ オブザーバビリティ、サービス間連携の高度化、 データ連携の高度化...
  6. 内部品質の定量化 1/2 • DORAによるDevOpsのFour Keys ◦ デプロイの頻度 ◦ 変更リードタイム ◦

    変更失敗率 ◦ サービス復旧時間 • 「優れたチームはスピードと品質を兼ね備える」 ◦ スピードと品質はバーターにならない スピード 品質 書籍:LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
  7. 内部品質の定量化 2/2 • GoogleによるSREのエラーバジェット ◦ SLOの停止時間を「予算化」して管理 ▪ 予算が余っている間はリリース速度を上げる ▪ 予算が足りなくなってきたら品質を重視する

    ◦ ◦ 十分に素早くリカバリできるなら、障害が起きても 利用時の品質は大きく毀損しない • 書籍:SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
  8. 構造に取り組む • 要注意 ◦ 内部構造を安定させすぎると変化しにくくなる ▪ 例:やりすぎた自動テストは、変化を阻害する ◦ 疎結合化すると構造は複雑になる ▪

    例:やりすぎたマイクロサービスは、以下同文 ◦ 最先端な技術が正解なわけでもない ▪ 例:扱いきれないKubernetesは、以下同文 • 機能の変更を許容できる構造を育てることは重要だ が、バランスは常に意識すべし
  9. 自己紹介 • 風間裕也(ブロッコリー) • 株式会社10X 品質管理チーム • 副業:B-Testing(個人事業主)として ◦ 株式会社MonotaRO

    (テストコンサルタント) ◦ グロース・アーキテクチャ&チームス株式会社 他数社でお手伝い • 社外活動 ◦ JaSST Review(ソフトウェアレビューシンポジウム) 実行委員長 ◦ WACATE(テストの合宿型ワークショップ形式勉強会) 実行委員長 ◦ SReEE(ソフトウェアレビューをエンジニアリング っぽく捉える会)リーダー SNS上の アイコン
  10. Agileな開発に対応する品質戦略 • 戦略1.自動テストをたくさん作成する ◦ 手動テストに比べてテスト実行時間の短縮になる ◦ 自動テストのケース数の選定をしないと いずれ限界が来る ◦ 仕様が固まっていない段階から

    自動テストを作るのは大変 • 戦略2.早い時点から段階的にテスト活動を行う ◦ バグの発見だけでなく、バグの予防に繋がる ◦ 今回話す内容はコッチ
  11. 受け入れ基準作成時に関わることの効果 • 実装担当者が設計・実装を行う時に、 「リファインメントでこんな会話をしたな…」と 思いながら実装する ◦ その部分でのバグの作り込みを防ぐことができる • バグが発生しなければ色々な工数が削減できる ◦

    実装内容を思い出すコスト ◦ 修正をするコスト ◦ もう一度テストするコスト ◦ 影響範囲のある箇所をテストするコスト ◦ バグチケットの操作をするコスト    など
  12. 自己紹介 • 安達賢二 • 株式会社HBA 経営企画本部/イノベーション推進室・理事 • 社外活動 ◦ NPO法人

    ソフトウェアテスト技術振興協会 (ASTER)理事 ◦ JaSST nanoお世話係 ◦ JaSST Review(ソフトウェアレビューシンポジウム) 実行委員 ◦ ソフトウェアレビューをエンジニアリングっぽく 捉える会:SReEE(スリー) メンバー
  13. 議論1:それぞれの発表を聞いた感想 • 共感した部分:(口頭で) • 確認したいところ1:すべての案件がAgileで? • 確認したいところ2:便利なツールも永遠ではない ◦ ツール採用決定要因は? •

    確認したいところ3:QAエンジニアが開発に参加 ◦ 参加するコツ/強みである客観性が失われないか? • 確認したいところ4:どっち?どのくらい? ◦ 鈴:やりすぎた自動テストは、変化を阻害する ◦ ブ:戦略1.自動テストをたくさん作成する
  14. どうして強制 退会機能を作 ろうと? 受入基準 議論2:🥦リファインメント事例の構造 新たに管理者 による強制退 会機能を作って 欲しい ユーザー本人

    の退会機能の ロジックを流用 する PO 開発コスト は低くでき そう! 開発者 QA 迷惑をかけるユー ザーはサービス利 用できないように 強制退会ユー ザーは会員再 登録できないよ うに! QA PO PO