Slide 1

Slide 1 text

未来の開発組織で QAが担う役割とは JaSST'22 Tokyo

Slide 2

Slide 2 text

1. Introduction 2. ソフトウェア開発の変化 3. Agility vs Quality 4. Agility & Quality 5. これからのQAの役割 Agenda

Slide 3

Slide 3 text

● Autify Co-founder & CEO ● エンジニア歴10年以上、3カ国で開発に従事 ● ブログ「顧客のBurning needsを解決する」 ● 趣味は蒙古タンメン中本自作 自己紹介 Ryo Chikazawa (近澤 良)

Slide 4

Slide 4 text

概要・沿革 48名

Slide 5

Slide 5 text

Global team 󰏦󰑔󰑍󰐣󰑐󰐮󰏅󰎼󰎺 CEO & Co-founder Ryo Chikazawa CTO Hayato Matsuura COO Taka Shimizu Engineering / 20 CS / 8 Admin / 2 Revenue / 11 Product / 3

Slide 6

Slide 6 text

AutifyのSolution No codeで誰でも簡単 AIがメンテナンス AIを用いたWeb/MobileアプリのE2Eテスト自動化サービスです。

Slide 7

Slide 7 text

Autify for Web & Autify for Mobile Autify for Web, for Mobile デモリクエスト受付中

Slide 8

Slide 8 text

ソフトウェア開発の変化

Slide 9

Slide 9 text

● 競争環境の激化 ● 継続的に価値を届ける必要 → 素早く変化し続けなければ生き残れ ない Agilityがより重要に

Slide 10

Slide 10 text

大手テック企業の例 1日1,000回以上デプロイ 11.7秒毎にデプロイ * 10 companies killing it at DevOps 彼らに匹敵する競争力が求められてきている

Slide 11

Slide 11 text

リリース頻度調査 45.1%が週1回以上リリース → 顧客ニーズの素早い変化 に対応するには、 高速なリリースサイクル が必要不可欠 週1回以上 29.3% 週1回 15.8% 隔週 16.7% 1ヶ月に1回 17.5% 3ヶ月に1回 7.2% わからない 10.9% リリース頻度(Autify調べ) 半年に1回 2.6%

Slide 12

Slide 12 text

● 機能開発に想定以上の時間がかかっている ● 不具合が多い ● QA項目が多く、テスト工数が足りない ● ユーザーの指摘でバグに気づく こんなことありませんか?

Slide 13

Slide 13 text

このどれかに当てはまる場合 AgilityとQualityがトレードオフ になってしまっている Agility vs Quality

Slide 14

Slide 14 text

QualityとAgilityのトレードオフを解消し、 事業を素早く推進する道筋を作る これからのQAの役割

Slide 15

Slide 15 text

● テストをする部隊 ● 品質の最後の砦 ● 開発の最後にのみ関わる これからのQAの役割ではないもの

Slide 16

Slide 16 text

QualityとAgilityを高める エバンジェリスト これからのQAの役割

Slide 17

Slide 17 text

Agility vs Quality

Slide 18

Slide 18 text

Quality x Agility Quality Agility 高い Low quality trade-off Agility: High Quality: Low Low performer Agility: Low Quality: Low Low agility trade-off Agility: Low Quality: High Elite Agility: High Quality: High 低い 高い 低い

Slide 19

Slide 19 text

プロダクトローンチ前~直後 ● QualityよりAgilityを優先 ● 品質が良くてもユーザーに受け入れられないと意味がない ● 少し壊れていても早く出して改善を重ねる

Slide 20

Slide 20 text

Low quality trade-off Quality Agility 高い Low quality trade-off Agility: High Quality: Low Low performer Agility: Low Quality: Low Low agility trade-off Agility: Low Quality: High Elite Agility: High Quality: High 低い 高い 低い

Slide 21

Slide 21 text

プロダクトローンチ1~2年後 ● 徐々にユーザーが増え品質基準が上がる ● プロダクトが複雑化 ● Qualityを優先してQAに時間をかける

Slide 22

Slide 22 text

Low agility trade-off Quality Agility 高い Low quality trade-off Agility: High Quality: Low Low performer Agility: Low Quality: Low Low agility trade-off Agility: Low Quality: High Elite Agility: High Quality: High 低い 高い 低い

Slide 23

Slide 23 text

トレードオフが起きている Quality Agility 高い Low quality trade-off Agility: High Quality: Low Low performer Agility: Low Quality: Low Low agility trade-off Agility: Low Quality: High Elite Agility: High Quality: High 低い 高い 低い

Slide 24

Slide 24 text

Eliteを目指す Quality Agility 高い Low quality trade-off Agility: High Quality: Low Low performer Agility: Low Quality: Low Low agility trade-off Agility: Low Quality: High Elite Agility: High Quality: High 低い 高い 低い

Slide 25

Slide 25 text

Agility & Quality

Slide 26

Slide 26 text

なぜトレードオフが発生するのか 1. 技術的負債が溜まる 2. 品質基準が上がる 3. テスト量が増える

Slide 27

Slide 27 text

1.技術的負債が溜まる 変更のコストが負債のように積み上がっ ていくこと ● 過去の仕様の負債化 ● システムの複雑化 ● テストしにくいコード ● etc → 開発に想定以上の時間がかかる

Slide 28

Slide 28 text

技術的負債の定常的な返却 ● 技術的負債は避けられない ● 一度に返却はできないので定常的 な返済を Autifyではスプリントの30%を改善に当 てている

Slide 29

Slide 29 text

2. 品質基準が上がる ● ユーザー・顧客増 ● バグによる売上げインパクト増 ● 信頼毀損のインパクト増

Slide 30

Slide 30 text

品質基準を定義する ● バグをゼロにする ● 絶対に守るべきものは何か ● バグが出ても迅速に対応する仕組 みを構築

Slide 31

Slide 31 text

3.テスト量が増える ● 品質基準の上昇に伴いカバー範囲 が広がる ● 機能が増える → テスト量は線形に増加し続ける

Slide 32

Slide 32 text

解決策 ● テストを自動化する ● Shift Left & Shift Right

Slide 33

Slide 33 text

テスト自動化戦略 ● Ice cream coneの解消は容易では ない ● Unit/Integrationを増やしつつ ● E2Eテストを自動化して負荷を下げ る

Slide 34

Slide 34 text

LayerX様の事例 ● Autifyを活用してE2Eテストの自動 化 ● ピラミッドを上下から攻略 ● 機能が増えてもリリース頻度を保て ている LayerXのQAへの取り組み〜アイスクリームの誘惑に負けるな〜

Slide 35

Slide 35 text

Shift Left & Shift Right Spec Design Implementation Test Deploy Shift Left より早くテストする Shift Right 本番でテスト

Slide 36

Slide 36 text

Shift Left ● リリース後の修正コストは開発中の 最大100倍 ● 早くバグに気づけば修正コストもそ の分低い →要件定義からQAを始める →より早く頻繁にテストを回す Relative Cost to Fix an Error Average Cost Ratio 400 300 200 100 0 500 600 1 3-6 10 15-40 30-70 40-1000 Requirements Design Coding Development Testing Acceptance Testing Operation Phase in Which Found

Slide 37

Slide 37 text

Shift Right ● 本番環境で適切な監視 ● Autifyを本番環境で回す ● すぐにロールバックできる仕組みを 構築

Slide 38

Slide 38 text

これからのQAの役割

Slide 39

Slide 39 text

Quality Agility 低い 高い 低い 高い Low quality trade-off Agility: High Quality: Low Low performer Agility: Low Quality: Low Low agility trade-off Agility: Low Quality: High Elite Agility: High Quality: High トレードオフから脱却する

Slide 40

Slide 40 text

Eliminating the test phase 「テストフェーズをなくす」 ● Shift Left & Rightでテストフェーズのタスクをなくす ● 常にテストが回り続けいつでもデプロイできる状態に ● AgilityとQualityを両立し、より素早く事業を前に進める

Slide 41

Slide 41 text

積極採用中!(フルリモート) 全方位で募集中 デモリクエスト受付中! ● Autify for Web トライアル受付中 ● Autify for Mobile デモリクエスト受付中 デモリクエスト受付中 & 積極採用中 https://autify.com/ja https://autify.com/ja/careers https://autify.com/ja/mobile