Slide 1

Slide 1 text

OK OK アジャイルでの品質の進化 Agile in Motion vol.1 #AgileJapan 株式会社SHIFT 2024.11.18 Agile in Motion

Slide 2

Slide 2 text

2 #SHIFT_EVOLVE ナビゲータ 自己紹介 アジャイル開発における品質保証を軸に複数のプロジェクトに参画。 ウォーターフォール開発からアジャイル開発への転換を行ったり、公的組織でのアジャイル開発 での参画経験あり。 所属 ソリューション本部 ソリューション事業部 アジャイル推進部 アジャイルエバンジェリスト 佐藤 博之 (さとう ひろゆき) 名前

Slide 3

Slide 3 text

3 #SHIFT_EVOLVE SHIFT LIVE 早速、練習してみましょう SHIFT LIVEでコメントを打つ練習をしましょう 今日どんなこと知りたいですか? 例)自動テストのこと。アジャイルのこと。情報収集。 特にない人は今日のお昼ごはんを投稿してみてください! 例)幕の内弁当。からあげがおいしかった 更に昼ご飯食べてない人はエバンジェリストのイメージを 投稿してみてください!何しようか迷っています!

Slide 4

Slide 4 text

4 #SHIFT_EVOLVE SHIFT LIVEでもいいですし、ハッシュタグをつけてポストでもいいです。 自動化技術については議論が進んでいると感じます。一方で、テスト自動化以外のコミュニケーションや 組織化の技術について体系化など進められていらっしゃれば伺いたいです! アジャイル開発での品質の作り込みの意識気づけどのように浸透させればいいのかお聞きしたい QA担当は上流(要件定義時点)でどのようなコメント・指摘をすると試験品質の向上につながるのか テストベンダーなど社外/第三者メンバーを、いかに「ワンチーム」に組み込むか? 品質保証の意識をお客様に持っていただくにはどのようにアプローチすればよいのか 「アジャイルQA」は、どのような資質を持つ人やどのようなマインドセットの人が向いていると思います か? 質問も会話中にガンガン投稿してください! 抜粋

Slide 5

Slide 5 text

#SHIFT_EVOLVE 簡単にアジャイルを説明

Slide 6

Slide 6 text

6 #SHIFT_EVOLVE Agile Japan 初学者向けセミナー アジャイル開発における品質やテストについて、呼び水となる情報を皆さんに 共有していきます アジャイルの中でサイクルを作って、テストをしていくときにテストの効率 化ってテーマになりますよね? 今だと今や当たり前になっている自動テスト。いまよりも整備されていない時 期から自動テストをやっていた人たちといっしょにアジャイルにおけるテスト、 品質保証、自動テストについて喋っていきます

Slide 7

Slide 7 text

7 #SHIFT_EVOLVE どんなふうに1週間のサイクルで動くの? ロール Day1 Day2 Day3 Day4 Day5 プロダクトオーナー ス プ リ ン ト プ ラ ン ニ ン グ デ イ リ ー ス ク ラ ム デ イ リ ー ス ク ラ ム デ イ リ ー ス ク ラ ム プ ロ ダ ク ト バ ッ ク ロ グ リ フ ァ イ ン メ ン ト デ イ リ ー ス ク ラ ム ス プ リ ン ト レ ビ ュ ー レ ト ロ ス ペ ク テ ィ ブ リ リ ー ス 作 業 開 発 者 デベロッパーの活動 要件定義 設計 実装 テスト 実装 テスト 実装 テスト 実装 テスト スクラムマスターの活動 2 H 1 H 1 H 1 H 1 H テスト活動のSTEPとイベントとの関係の詳細は次頁 15 m 15 m 15 m 15 m 目安時間

Slide 8

Slide 8 text

8 #SHIFT_EVOLVE まずは簡単にアジャイル開発の説明。今回はスクラム プロダクトオーナー 製品に対して責任を持ち、 機能に優先順位をつける ステークホルダー 製品の利用者、出資者、 管理職などの利害関係者 スクラムの活動の流れにおいて実施するイベント 製品 プロダクト スプリント バックログ スプリント プランニング デイリー スクラム 1日 スプリント (〜4週間) スプリント レビュー レトロスペクティブ リリース 作業 プロダクトバックログ リファインメント プロダクト バックログ 開発者 スクラムマスター スクラムの活動の流れ イベント お客様 SHIFT ユーザー フィード バック

Slide 9

Slide 9 text

9 #SHIFT_EVOLVE 大事なポイント① 短いサイクルを構築する サイクルを構築することで一定の期間で、仕事を完遂することになるためメリハリがつく。 が、ゴールという締め切りが日々迫るので緊張感も生まれすぎてしまうことも プロダクトオーナー 製品に対して責任を持ち、 機能に優先順位をつける ステークホルダー 製品の利用者、出資者、 管理職などの利害関係者 製品 プロダクト スプリント バックログ スプリント プランニング デイリー スクラム 1日 スプリント レビュー レトロスペクティブ リリース 作業 プロダクトバックログ リファインメント プロダクト バックログ 開発者 スクラムマスター スクラムの活動の流れ イベント お客様 SHIFT ユーザー フィード バック スプリント (〜4週間)

Slide 10

Slide 10 text

10 #SHIFT_EVOLVE 大事なポイント② ユーザーフィードバックを得る 要件がユーザーに受け入れられるているかを確認しながら進めることで、一発屋にならないようにする 狙いを明確にすることによって、顧客への価値を開発チームも認識しながら進める事ができる すぐに効果が出る部分と出ないものがあるので注意を プロダクトオーナー 製品に対して責任を持ち、 機能に優先順位をつける ステークホルダー 製品の利用者、出資者、 管理職などの利害関係者 製品 プロダクト スプリント バックログ スプリント プランニング デイリー スクラム 1日 スプリント レビュー レトロスペクティブ リリース 作業 プロダクトバックログ リファインメント プロダクト バックログ 開発者 スクラムマスター スクラムの活動の流れ イベント お客様 SHIFT スプリント (〜4週間) ユーザー フィード バック

Slide 11

Slide 11 text

11 #SHIFT_EVOLVE 大事なポイント③ 多能工になるために興味を持とう 従来の視点から、エンジニアの視点を「ソフトウェアクラフトマンシップ」へスイッチする必要がある 意欲溢れるソフトウェアクラフトマンとして、我々は、技能の習得を支援し、 自らも実践することにより、プロフェッショナルとしてのソフトウェア開発が到 達すべき水準を高める。この活動を通じて我々は、次のことを尊重する。 すなわち、左の項目を追求することにより右の項目が不可欠であること ソフトウェアクラフトマンシップ 動くソフトウェアではなく、精巧なソフトウェアも 変化に対応するだけではなく、確実に付加価値も 個人と対話だけではなく、プロフェッショナルのコミュニティも ユーザとの協力関係だけはでなく、生産的パートナーシップも 業務ができる 部署が使える 正常フローが回る 改善効率が上がる ・・・etc… 価値 ログインができる エクスポートができる インポートができる 一覧が見れる ・・・etc… 機能 個別の機能を正確に作りこむことだけが重要なのではなく、機能 の集合体であるソフトウェアによって、どのような価値提供ができる かがを考え、そのためにどのようなプロセスが必要かを深く考える必 要がある。 開発者のマインドセットを「機能」から「価値」へ転換することとは

Slide 12

Slide 12 text

12 #SHIFT_EVOLVE 大事なポイント④ いつでもテストができるように ミニウォーターフォールになっていませんか? 設計 障害対応 実装 テスト設計 テスト実行 開 発 テスト ・コードFix後にコードの追記、変更ができない。 ・テスト実行が占める割合が多く、設計、実装の時間が少なくなるため、 作れる機能が少ない コードFix 5日 ※Sprint 1weekの場合 3日 2日 3日 2日 忙しい 暇 開 発 Q A プランニング & テスト計画 テスト レポート レビュー & リリース デプロイ 静的解析/簡易な脆弱性診断 単体テスト/結合テスト 単体テスト/ 結合テスト テスト実装 テスト実行 自動テスト実装 テストチャーターの作成 テスト実行 ※タイムボックス 実装 実装 実装 実装 実装 実装 開発する リファクタリング 自動テスト 開発 手動テスト 自動テスト 探索的テスト 開発の進行 • ストーリーテスト • 機能テスト • シナリオテスト

Slide 13

Slide 13 text

#SHIFT_EVOLVE パネルディスカッション

Slide 14

Slide 14 text

14 #SHIFT_EVOLVE 本日のお品書き 初回は品質を追い求めてきた、teyamagu氏とぱいん氏のお二人を 招き、これまでの変化や最新の動向について、SHIFTからアジャイ ルを発信し続けている佐藤博之がお尋ねします。 web、モバイルアプリ、第三者検証、とそれぞれ立場が異なる3名 によるディスカッションをお楽しみください

Slide 15

Slide 15 text

15 #SHIFT_EVOLVE 自己紹介タイム! teyamagu氏 品質周り何でもする係。メーカー、大手WEB企業やフィンテック企業を経て、 現在は、SaaSの品質周り何でもする係をおこなっています。社外活動では、 ソフトウェアテスト自動化カンファレンスやRegional Scrum Gathering Tokyo などの実行委員。 ぱいん氏 QAエンジニア。SIer、検証会社を経て、現在は、モバイルアプリのソフト ウェアテストを含む品質管理に従事。社外活動では、JaSST Review、及び JaSST Onlineの実行委員。 SNS: https://x.com/pineapplecandy

Slide 16

Slide 16 text

16 #SHIFT_EVOLVE アジャイル開発のQAってなにするんだろう? ① • 品質への向き合い方の違い テスト 計画 テスト 設計 テスト実行 ■ウォーターフォール開発のテスト活動 障害 障害 障害 設計 実装 壁 テスト計画 + 設計 テスト設計 テスト 実行 ■アジャイル開発のQA活動 リリースまで 期間の短縮 障害 障害 障害 障害 障害 障害の早期発見 実装 リリース 信頼度成長度曲線 リリース

Slide 17

Slide 17 text

17 #SHIFT_EVOLVE アジャイル開発のQAってなにするんだろう? ② • QAって役割は必要?どんなマインドが必要?どんな人が向いている? • 専門分野のメンバーは必要 スクラムにおける構成 ロール 主な役割 人数 プロダクトオーナー (PO) 製品に対して責任を持ち、機能に優先順位をつける 1名 スクラムマスター (SM) スクラムプロセスが円滑に進行するように、外部から支援する 1名 デベロッパー(Dev) プロダクトの開発を行う 複数名 テックリード プロダクトにおける技術面をリードする 1名 QAリード • スクラム内でQA活動が円滑に進行するように、リードする • プロダクトの特性、リスクを考慮し、テスト戦略を策定する 1名 QAエンジニア • デベロッパー、QAリードと連携しながら、 プロダクトをテストし、品質保証する • テストタイプ、テストアプローチごとにスプリント内での優先順位を検討し、 スプリントで実施すべきテストを完了させる • テスト結果・リスクを正しく共有する 複数名 スクラムチーム 開発者 スクラムマスター(SM) プロダクトオーナー(PO) QAリード デベロッパー (Dev) QAエンジニア テックリード

Slide 18

Slide 18 text

18 #SHIFT_EVOLVE アジャイル開発のQAってなにするんだろう? ③ • 様々なアプローチを駆使して、テストを効率的に実施していく テストの タイプ 手動テスト 探索的テスト 自動テスト テストベース 仕様書 業務フロー 仕様書 メリット • 曖昧な仕様でも補完してテスト実施がで きる • デザインや挙動に対しても確認ができる • ユーザーの心理を想像しながら実施でき る • ブラックボックス、グレーボックスのテストが 中心 • 業務フローを洗い出し、網羅的に実施 • 正常、準正常、異常の業務フローをベー スにテストを検討 • 準正常、異常の復帰を行う業務フロー を実施する • 学習&ふりかえりを短いサイクルで実施す るため業務知見がなくても実施可能 • 決められた手順に沿ったテスト • 繰り返し実施するテスト • 単体テスト〜総合テストまで各種テスト レベルに適用できる • いつでも実施ができ、短時間でレポートを 出力できる デメリット • 単体テストや結合テストには向かない • 実施には時間がかかる • 人によって能力に差がある • タイムボックスが存在するのでシステムの 品質に左右されやすく十分なテストを行 うことができないことがある • 実行速度が他のテストに比べて遅い • 開発の進め方によっては壊れやすい • プログラムの作りによっては壊れやすい • 失敗時に切り分けが必要

Slide 19

Slide 19 text

19 #SHIFT_EVOLVE フリーディスカッション 今日の参加者の質問事項 自動化技術については議論が進んでいると感じます。一方で、テスト自動化以外のコミュニケーションや 組織化の技術について体系化など進められていらっしゃれば伺いたいです! アジャイル開発での品質の作り込みの意識気づけどのように浸透させればいいのかお聞きしたい QA担当は上流(要件定義時点)でどのようなコメント・指摘をすると試験品質の向上につながるのか テストベンダーなど社外/第三者メンバーを、いかに「ワンチーム」に組み込むか? 品質保証の意識をお客様に持っていただくにはどのようにアプローチすればよいのか 「アジャイルQA」は、どのような資質を持つ人やどのようなマインドセットの人が向いていると思います か?