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

AgilityとQualityを両立し競争力を高めるプロダクト開発手法

Autify
October 27, 2021

 AgilityとQualityを両立し競争力を高めるプロダクト開発手法

Autify

October 27, 2021
Tweet

More Decks by Autify

Other Decks in Business

Transcript

  1. AgilityとQualityを両立し
    競争力を高めるプロダクト開発手法
    pmconf 2021

    View Slide

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

    View Slide

  3. Blog & Podcast

    View Slide

  4. セッション満足度 1位 を獲得
    再演動画はYoutubeに
    pmconf 2020

    View Slide

  5. 概要・沿革
    30名

    View Slide

  6. Sales &
    Marketing / 2
    Global team 󰏦󰑔󰑍󰐣󰏙󰑐󰐮󰏅
    CEO & Co-founder
    Ryo Chikazawa
    CTO
    Hayato Matsuura
    COO
    Taka Shimizu
    Development / 14 CS / 6 Admin / 2 US / 3

    View Slide

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

    View Slide

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

    View Slide

  9. Agilityがなぜ重要か

    View Slide

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

    View Slide

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

    View Slide

  12. リリース頻度調査
    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%

    View Slide

  13. こんなことありませんか?

    View Slide

  14. 機能開発に想定以上の時間
    がかかっている
    こんなことありませんか?

    View Slide

  15. リリースする度に
    バグが出る
    こんなことありませんか?

    View Slide

  16. QAが長くてなかなか
    リリースできない
    こんなことありませんか?

    View Slide

  17. いつもユーザーの指摘で
    バグに気づく
    こんなことありませんか?

    View Slide

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

    View Slide

  19. Agility vs Quality

    View Slide

  20. 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

    View Slide

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

    View Slide

  22. プロダクトローンチ前~直後
    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

    View Slide

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

    View Slide

  24. プロダクトローンチ1~2年後
    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

    View Slide

  25. 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
    トレードオフが発生

    View Slide

  26. 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
    トレードオフから脱却する

    View Slide

  27. Agility & Quality

    View Slide

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

    View Slide

  29. 1.技術負債が溜まる
    技術負債とは、変更のコストが負債のよ
    うに積み上がっていくこと
    原因
    ● 過去の仕様の負債化
    ● システムの複雑化
    ● テストしにくいコード
    ● etc

    View Slide

  30. 技術負債が溜まると
    ● 変更が広範囲に
    ● 予期せぬバグの発生
    ● 仕様理解に時間がかかる
    → 開発に想定以上の時間がかかる

    View Slide

  31. 技術負債は避けられない
    ● 仕様は変わり続ける
    ● 完璧な設計はない
    ● 完璧なコードはない
    借りすぎず、返済プランがあれば、負債
    は悪いことではない。

    View Slide

  32. 技術負債をどのように返却するか
    ● 進み続ける限り負債は溜まる
    ● 一度に完済はできない
    → 定常的に返却する
    Autifyではスプリントの30%を改善に当
    てている

    View Slide

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

    View Slide

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

    View Slide

  35. 3.テスト量が増える
    ● 品質基準の上昇に伴いカバー範囲
    が広がる
    ● 機能が増える
    → 自動化しない限り、QAにかかる時間
    は長くなり続ける

    View Slide

  36. テストを自動化する
    ● まずUnit/Integrationテストを書く
    ● カバーしきれない部分をE2E自動テ
    スト/手動E2Eテストで補う

    View Slide

  37. ● Unit/Integrationがほとんどない
    ● 大部分を手動E2Eテストに依存
    ● 自動E2Eテストがほとんどない場合も
    Ice cream cone

    View Slide

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

    View Slide

  39. LayerX様の事例
    ● Autifyを活用してE2Eテストの自動

    ● ピラミッドを上下から攻略
    ● 機能が増えてもリリース頻度を保て
    ている
    LayerXのQAへの取り組み〜アイスクリームの誘惑に負けるな〜

    View Slide

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

    View Slide

  41. 修正コストは後になるほど高い
    ● NASAのリサーチ
    ● リリース後の修正コストは開発中の
    最大100倍
    ● 早くバグに気づけば修正コストもそ
    の分低い
    →より早く頻繁にテストを回す
    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

    View Slide

  42. Measuring the success

    View Slide

  43. 1. Deployment Frequency
    2. Lead Time for Changes
    3. Change Failure Rate
    4. Time to Restore Service
    → Autifyでは現在1と3を追っている
    DORA Metrics by Google
    Are you an Elite DevOps performer? Find out with the Four Keys Project

    View Slide

  44. ● 週のデプロイ回数をトラック
    ● 四半期でデプロイの目標数値を設

    Deployment Frequency

    View Slide

  45. ● デプロイ毎の問題発生率
    ● 15%以下に抑えると良い
    Change Failure Rate

    View Slide

  46. まとめ

    View Slide

  47. 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
    トレードオフから脱却する

    View Slide

  48. まとめ
    Eliteを目指すために
    ● 技術負債は定期的に返済
    ● 品質基準を定義
    ● テストは自動化し、より早く頻繁に回

    View Slide

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

    View Slide