Save 37% off PRO during our Black Friday Sale! »

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

B303a306959e28c9869d84aa5620814d?s=47 Autify
October 27, 2021

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

B303a306959e28c9869d84aa5620814d?s=128

Autify

October 27, 2021
Tweet

Transcript

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

  2. • Autify Co-founder & CEO • エンジニア歴10年以上、3カ国で開発に従事 • ブログ「顧客のBurning needsを解決する」

    自己紹介 Ryo Chikazawa (近澤 良)
  3. Blog & Podcast

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

  5. 概要・沿革 30名

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

  8. Autify for Web & Autify for Mobile Autify for Web,

    for Mobile デモリクエスト受付中
  9. Agilityがなぜ重要か

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

  11. 大手テック企業の例 1日1,000回以上デプロイ 11.7秒毎にデプロイ * 10 companies killing it at DevOps

    彼らに匹敵する競争力が求められてきている
  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%
  13. こんなことありませんか?

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

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

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

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

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

  19. Agility vs Quality

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

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

  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
  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 トレードオフが発生
  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 トレードオフから脱却する
  27. Agility & Quality

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

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

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

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

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

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

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

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

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

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

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

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

  40. Shift LeftとShift Right Spec Design Implementation Test Deploy Shift Left

    より早くテストする Shift Right 本番でテスト
  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
  42. Measuring the success

  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
  44. • 週のデプロイ回数をトラック • 四半期でデプロイの目標数値を設 定 Deployment Frequency

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

  46. まとめ

  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 トレードオフから脱却する
  48. まとめ Eliteを目指すために • 技術負債は定期的に返済 • 品質基準を定義 • テストは自動化し、より早く頻繁に回 す

  49. 積極採用中!(フルリモート) 全方位で募集中 デモリクエスト受付中! • Autify for Web トライアル受付中 • Autify

    for Mobile デモリクエスト受付中 デモリクエスト受付中 & 積極採用中 https://autify.com/ja https://autify.com/ja/careers https://autify.com/ja/mobile