Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【SQiP2016】楽天のアジャイル開発とメトリクス事例

1,503 views

Published on

ソフトウェア品質シンポジウムのパネルディスカッションのスライドです。

Published in: Engineering

【SQiP2016】楽天のアジャイル開発とメトリクス事例

  1. 1. 楽天のアジャイル開発とメトリクス事例 Sep/15/2016 Rakuten Inc. Ecosystem Service Department Delivery and Quality Solution Group Manager 荻野恒太郎 http://corp.rakuten.co.jp/careers/engineering/
  2. 2. 自己紹介: 荻野恒太郎 2 2010 2011 2012 2013 2014 2015 2016 役割:テスト自動化エンジニア 役割:DevOpsエンジニア マネージャー SQiP 2014 事例発表 本日の話題② DevOpsでのメトリクス 本日の話題① アジャイルチーム でのメトリクス (継続的システムテスト)
  3. 3. 3 本日の話題① アジャイルチームでの メトリクス (継続的システムテスト)
  4. 4. アジャイルチームでのメトリクス 4 スプリント1 スプリント2 スプリントNスプリントn … … アジャイル開発の特徴: 反復型開発とチームの自己組織化 アジャイルでは迅速な開発とリリースの実現に向けた チームの自己組織化が求められる。 そのため自律的かつ継続的な改善のための素早いフィードバックが重要。 改善とメトリクス ・Process -ベロシティ -スモークテスト安定率 ・Product -規模 -静的コード解析結果 -テストカバレッジ -バグ件数
  5. 5. 継続的システムテストによる改善活動事例 5 事例: サーチ基盤開発プロジェクトへの 継続的システムテストの導入 継続的システムテスト導入の目的 ・システムテストがボトルネック バグの修正に中央値で5日かかっていた メトリクス活用の目的 ① チームへの改善活動の提案 ② チームとの改善効果の合意 ③ マネージメント層へのレポート ④ 展開のためのコンセプト説明
  6. 6. 継続的システムテストの概要 6 システムテストを自動化し 継続的に開発と並行して実行 “システムテスト自動化による大規模検索 プラットフォームの開発工程改善”, JaSST’Tokyo 2014
  7. 7. メトリクスの活用事例①:チームへの改善活動の提案 7 アジャイルチームではチームが自ら問題点を見つけ改善提案をする。 そのためメトリクスから継続的にチーム状態のフィードバックを得る。 チームの問題: イテレーションの後半でのバグの発見 メトリクスから調査した原因: ・スモークテストのカバレッジ ・スモークテストの実行タイミング 改善提案: ・スモークテストのカバレッジ向上 ・スモークテストのプロセスの変更 チームへの改善提案の例:スモークテスト
  8. 8. メトリクスの活用事例②:チームとの改善効果の合意 8 アジャイルチームではチームメンバー全員で改善活動を実施する。 そのためメトリクスから改善活動の効果をチーム全員で確認する。 テスト種別ごとのバグ曲線改善施策: ・ストーリーの分割方法 ・開発プロセスの変更 メトリクスによる評価: ・バグ収束の改善 チームとの改善効果の合意の例:バグの収束
  9. 9. メトリクスの活用事例③:マネージメント層へのレポート 9 アジャイルチームではチームの改善活動をマネージャーが支援する。 継続的に支援を得るため、定期的に導入効果をレポートする。 マネージメント層へのレポートの例:継続的システムテスト導入 マネージメント層の興味 ・ボトルネックが解消されたか? メトリクスによるレポート: ボトルネックが解消されたことを メトリクスで示す ・バグ修正日数の改善 ・デリバリ可能な状態をキープ
  10. 10. メトリクスの活用事例④:展開のためのコンセプト説明 10 アジャイルチームでは効果の出た改善事例を横展開する。 そのため改善事例のコンセプトを見慣れたメトリクスで可視化する。 展開のためのコンセプト説明の例:継続的システムテスト導入 改善活動の横展開 ・しかし、新しいコンセプトは 理解してもらうことが難しい メトリクスによる説明: 見慣れたメトリクスで可視化 ・継続的なテスト実行とバグ検出 ・開発とテストの並行実施
  11. 11. 11 本日の話題② DevOpsでのメトリクス
  12. 12. DevOpsでのメトリクス 12 要求分析 DevOpsの特徴 開発 テスト 運用 エンドユーザー 価値 アジャイルチームの 守備範囲 DevOpsの守備範囲 改善とメトリクス ・Process -デリバリリードタイム -デリバリの頻度 ・Product -本番環境での損失 -可用性 -運用のリードタイム DevOpsでは各チームの改善活動のビジネスへの影響を最大化するため チーム間でのより密なコミュニケーションと協働が求められる
  13. 13. エンタープライズアジャイルとDevOps(補足) 楽天株式会社 アジャイルコーチ 川口恭伸 Agile, Cloud, Enterpriseの流れが、 テスト自動化のみでなく開発・運用スタイルを大きく変えている 13
  14. 14. DevOpsでの改善活動事例 14 信頼性永続性 事例: DevOps推進プロジェクトでのメトリクス活用 DevOps導入の目的 ・開発から運用までの一貫した永続性、生産性、信頼性の改善 ・Dev/Test/Opsチーム間の改善活動の促進 生産性 開発チーム テストチーム 運用チーム メトリクス活用の目的 ① チーム間でのゴールの共有 ② チーム間の協働の促進
  15. 15. DevOpsでのメトリクスの活用の目的: チーム間でのゴールの共有と協働の促進 15 サービスの損失 (信頼性) デリバリの頻度 (永続性) 開発チームの リードタイム テストチームの リードタイム 自動化カバレッジ セルフサービス カバレッジ テスト カバレッジ 運用チームの リードタイム 可用性混入バグ数 トレーニング頻度 ビジネスKPI 開発チームのKPI テストチームのKPI 共通チームのkPI 運用チームのKPI ①チーム間でのゴールの共有 ・ゴール(ビジネスKPI)へのチームKPIの関連付け ②協働の促進 ・チーム間での問題の共有と優先順位付け コスト (生産性)
  16. 16. DevOpsでのメトリクスによる改善活動実現に向けての課題 16 課題: ・対象チームの増加による メトリクス収集コストの増加 ・ステークホルダーが増えるため 情報のリアルタイム性がより重要に 解決方法: ・収集から表示までの完全な自動化 - Jenkinsがメトリクスを収集 - ELKでデータを保存、表示
  17. 17. DevOpsによるリードタイムの改善の例 ・共有ゴール:開発〜デリバリーのリードタイムの改善 ・Dev/Test/Opsで協働した自動化を実施 ・チーム間のタスクの受け渡しをなくし、リードタイムを99.40%短縮 川口恭伸, 荻野恒太郎, 古川貴朗: 楽天でのエンタープライズアジャイルとDevOps-Dev/Test/Ops 三位一体の自動化-,情報処理学会デジタルプラクティス, Vol.7, No.3, pp.243-251, 2016 17
  18. 18. 18 まとめ
  19. 19. まとめ 19 アジャイルチーム チームへの改善活動の提案 チームとの改善効果の合意 マネージメント層へのレポート 展開のためのコンセプト説明 DevOps チーム間のゴールを共有 複数のチーム間の協働を促進 http://www.slideshare.net/rakutentech/2016-64858088 楽天テクノロジーカンファレンス QAマネージャー募集中 http://global.rakuten.com/corp/careers/engineering/
  20. 20. リンク集 20 カテゴリ 文献 URL 継続的システムテスト “システムテスト自動化による大規模検索プラット フォームの開発工程改善”, JaSST’Tokyo 2014 http://www.slideshare.net/kotaroogino/jasst14-tokyo “継続的システムテストについての理解を深めるた めの開発とバグのメトリクスの分析” SQiP 2014 http://www.slideshare.net/kotaroogino/ngauto-s- qip2014presentation20140906 “安心なサービスの品質改善を実現する為の継続 的システムテスト”, 先進的な設計・検証技術の適用 事例報告書2015年度版 https://www.ipa.go.jp/files/000049409.pdf “楽天の品質改善を加速する継続的システムテスト パターン”, STAC 2016 http://www.slideshare.net/kotaroogino/2015-stac2015 DevOps “三位一体の自動化で壊せDevとOpsの壁”, Developer’s Summit 2016 http://www.slideshare.net/rakutentech/devops- 58450617 “楽天のエンタープライズアジャイルとDevOps – Dev/Test/Ops三位一体の自動化”, 情報処理学会デ ジタルプラクディス Vo.7 No.3 https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main& active_action=repository_view_main_item_detail&item _id=167783&item_no=1&page_id=13&block_id=8

×