【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo

5,235 views

Published on

4/12 に開催された QCon Tokyo 2011 で実施したセッションの資料です(最新更新版)

PDFでの資料ダウンロードは、QCon Tokyo 2011 公式サイトより行えます。
http://http://qcontokyo.com/download.html

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,235
On SlideShare
0
From Embeds
0
Number of Embeds
2,734
Actions
Shares
0
Downloads
16
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo

  1. 1. ながさわ ともはる 日本マイクロソフト株式会社長沢 智治 デベロッパー&プラットフォーム統括本部 エバンジェリスト / シニア プロダクト マネージャ• E-AGILITY 協議会 準備委員• ソフトウェアテスト技術振興協会 ツール ワーキンググループ メンバー• 日本 XP ユーザグループ スタッフ• アジャイル イベント Agile Day 発起人 ( ) : ( ) 国内大手 Rational IBM Borland 情報通信企業 Software Rational Software Microsoft Software/Network Software Brand Services Principal Consultant Evangelist Engineer Engineering Specialist Solution Architect Sr. PM Specialist © 2011 Microsoft Corporation. All rights reserved.
  2. 2. © 2011 Microsoft Corporation. All rights reserved.
  3. 3. © 2011 Microsoft Corporation. All rights reserved.
  4. 4. © 2011 Microsoft Corporation. All rights reserved.
  5. 5. Microsoft Visual Studio の開発部門では、大きく変わる開発チームに最高の開発プラットフォームを提供するという価値 を継続し続けるために、幾度となく 改善活動 を行っています。本セッションでは、Quality を価値と定めて、開発部門が実施したこと、 – Code Complete から Feature Complete への意識の改革 – Quality Gate – チーム開発基盤 と テスト自動化 の整備について、皆様と共有いたします。アジャイル プラクティス の積極採用と テーラリング、大規模開発での透明性の確保、バグ負債 を10分の1に 削減、イテレーションの 期間を半減 させた実話をお伝えします。 © 2011 Microsoft Corporation. All rights reserved.
  6. 6. © 2011 Microsoft Corporation. All rights reserved.
  7. 7. あらゆる開発に適用できるフレームワークと開発支援ツールを 開発チームに提供し続けるIntegrated Development Environment Application Lifecycle Management 開発者の生産性の向上と 開発チームの生産性の向上と 開発者同士のコラボレーション チーム コラボレーション © 2011 Microsoft Corporation. All rights reserved.
  8. 8. あらゆる開発に適用できるフレームワークと開発支援ツールを 開発チームに提供し続けるIntegrated Development Environment Application Lifecycle Management Microsoft® Test Manager eclipse 開発者の生産性の向上と 開発チームの生産性の向上と 開発者同士のコラボレーション チーム コラボレーション © 2011 Microsoft Corporation. All rights reserved.
  9. 9. メジャー リリース サービス パック CTP Beta RC 次期メジャー リリース サービス パック Hot Fix Feature Pack CTP/Beta リリース Power Tools © 2011 Microsoft Corporation. All rights reserved.
  10. 10. “7” の力 © 2011 Microsoft Corporation. All rights reserved.
  11. 11. “7” の力 © 2011 Microsoft Corporation. All rights reserved.
  12. 12. © 2011 Microsoft Corporation. All rights reserved.
  13. 13. © 2011 Microsoft Corporation. All rights reserved.
  14. 14. 本日のテーマ: クオリティ & テスト © 2011 Microsoft Corporation. All rights reserved.
  15. 15. © 2011 Microsoft Corporation. All rights reserved.
  16. 16. 開発し続けるための決断 (背景) 改善の 事件の 現場 現場 2010 IDE 機能 & 拡張 2005 2008 Test Pro 機能 IDE 機能 IDE 機能 ALM 機能 IDE 拡張 テスト仮想化 IDE 拡張 For Architecture, Development, Test For Architects, Developers, TestersIDE 機能 ALM 機能 ALM 機能 IDE ALM © 2011 Microsoft Corporation. All rights reserved.
  17. 17. 開発し続けるための決断 (背景)  2 年単位でのリリース 2010  機能大幅増加に関わらず 機能 & 拡張 IDE 2005 2008 Test Pro 機能 IDE 機能 IDE 機能 ALM 機能 IDE 拡張 テスト仮想化 IDE 拡張  より多くのチーム開発機能 For Architecture, Development, TestIDE 機能 For Architects, Developers, Testers  品質基準を満たせず ALM 機能 ALM 機能  リリースを延期 IDE ALM © 2011 Microsoft Corporation. All rights reserved.
  18. 18. © 2011 Microsoft Corporation. All rights reserved.
  19. 19. 開発し続けるための決断 (取り組み) 2010 IDE 機能 & 拡張 2005 2008 Test Pro 機能 IDE 機能 IDE 機能 ALM 機能 IDE 拡張 テスト仮想化 IDE 拡張 For Architecture, Development, Test For Architects, Developers, TestersIDE 機能 ALM 機能 ALM 機能 IDE ALM © 2011 Microsoft Corporation. All rights reserved.
  20. 20. 開発し続けるための決断 (取り組み) 2010 価値ある機能を提供 IDE 機能 & 拡張 2005 2008 Test Pro 機能 IDE 機能 タイムリーに提供 IDE 機能 ALM 機能 IDE 拡張 テスト仮想化 IDE 拡張 For Architecture, Development, Test For Architects, Developers, Testers 価値 (品質) の向上IDE 機能 ALM 機能 ALM 機能 透明性とアジリティ IDE ALM © 2011 Microsoft Corporation. All rights reserved.
  21. 21. 開発し続けるための決断 (成果) Visual Studio 2005 beta 1 Visual Studio 2008 beta 1 2010 Debt Debt IDE 機能 & 拡張 2005 2008 Test Pro 機能 IDE 機能 IDE 機能 ALM 機能 IDE 拡張 テスト仮想化 IDE 拡張 For Architecture, Development, Test For Architects, Developers, TestersIDE 機能 ALM 機能 ALM 機能 IDE ALM © 2011 Microsoft Corporation. All rights reserved.
  22. 22. 開発し続けるための決断 (成果) 2010 IDE 機能 & 拡張 2005 2008 Test Pro 機能 IDE 機能 IDE 機能 ALM 機能 IDE 拡張 テスト仮想化 IDE 拡張 For Architecture, Development, Test For Architects, Developers, TestersIDE 機能 ALM 機能 ALM 機能 IDE ALM © 2011 Microsoft Corporation. All rights reserved.
  23. 23. © 2011 Microsoft Corporation. All rights reserved.
  24. 24. 価値感の源泉 PlanRemaining Work Task 1 Task 2 Value  従来型の手法。タスクを分解し (WBS) 完了を計測  提供可能な “顧客価値” の増分で計算  原価計算  リーン生産と制約条件理論 (TOC) “価値” を基準とし、高めていく:  定義: 投資収益率、信頼関係、透明性、個人力、責任の共有、状況に応じた戦略  やり方: 価値に基づく組織運営、意思決定  測定法: タスク達成率より、価値を測定 アジャイル プロジェクト マネージメント宣言 「相互依存宣言 (Declaration of Interdependence)」 http://www.pmdoi.org/ © 2011 Microsoft Corporation. All rights reserved.
  25. 25. 価値の流れをつくる © 2011 Microsoft Corporation. All rights reserved.
  26. 26. Milestone of Quality “負債” を理解する  “品質” の測定  テストの自動化の促進  迅速かつ、一貫して実施  製品コード バグの把握  テストケース バグの把握  いつでも、どこでも  テスト環境のバグの把握  早期からの “品質” の作りこみ “負債” の共通認識  ゆとりを取り戻す “負債” のコスト “負債” の撲滅 © 2011 Microsoft Corporation. All rights reserved.
  27. 27. Executive Sponsorship• 新規の開発を 4 ヵ月間 停止 – 文化の見直し • Code Complete  Feature Complete • Definitions of “Done” (Quality Gates) – 徹底的な効率化 • チーム開発基盤の整備 • さらなるテスト自動化 © 2011 Microsoft Corporation. All rights reserved.
  28. 28. Initiative © 2011 Microsoft Corporation. All rights reserved.
  29. 29. Initiative © 2011 Microsoft Corporation. All rights reserved.
  30. 30. Initiative | Feature Complete 物理的な組織体系 PM* Group Dev Group Test Group *Program Manager Feature XPバーチャルなチーム #1 1人 4 人以下 4 人以下 Feature #2 Scrum Feature #3 Waterfall  Feature Complete を目的としたチームとやり方の委譲  キャリア モデルの分離 © 2011 Microsoft Corporation. All rights reserved.
  31. 31. Initiative | Feature Complete ビジョンや主要なテーマリリース計画 ユーザーにとっての投資効果 顧客価値の大きいエリア 反復計画と実施 テーマ: ユーザーが顧客価値を高めるための製品活用法 シナリオの実現解 ユーザー ストーリー Experience から導き出されたもの © 2011 Microsoft Corporation. All rights reserved.
  32. 32. User Feedbackストーリーボード シナリオベースの ユーザーフィードバック の機会 ※資料一般公開にあたり、写真は加工しています。 © 2011 Microsoft Corporation. All rights reserved.
  33. 33. Voting Sheets Importance to your Satisfaction with Notes business Existing Most Does the existing Least important important functionality meet your needs?Pain (mark with x) (mark with x) Yes No Dont knowOnce I work with something I can’t find itagainI can’t tell what changed from build tobuild, especially over timeI don’t know who is the expert of a givenareaI need another pair of eyes on my code © 2011 Microsoft Corporation. All rights reserved.
  34. 34. Initiative | チーム開発基盤 © 2011 Microsoft Corporation. All rights reserved.
  35. 35. Initiative | チーム開発基盤 Dog Fooding: 開発しながら自らが利用し、フィードバックし続ける © 2011 Microsoft Corporation. All rights reserved.
  36. 36. Initiative | チーム開発基盤 Scenario Experience Task Bug Feature © 2011 Microsoft Corporation. All rights reserved.
  37. 37. Initiative | Feature Complete意思決定 情報共有 © 2011 Microsoft Corporation. All rights reserved.
  38. 38. Initiative | Feature Complete チーム キャパシティ  Yellow: 70 %以上  Red: 100 %以上 © 2011 Microsoft Corporation. All rights reserved.
  39. 39. Initiative | Feature Complete Risk Level Green: 予定通り Yellow: リスクを伴う Red: 想定外 (間に合わない) © 2011 Microsoft Corporation. All rights reserved.
  40. 40. Initiative | Feature Complete Feature の完成に向けた作業見積り  コードの完成で見積もらない  段階的なコミット 自動 単体テストも作成  Feature のテストを作成  シナリオ テストは後でもよい 前倒しで、品質を作り込む ~ Feature の完成前に実施 脅威分析と Feature レベルのテストを必ず実施 より多くのバグを発見し、修正 © 2011 Microsoft Corporation. All rights reserved.
  41. 41. Initiative | Definitions of “Done”  Feature の完成に向けた作業見積り  コードの完成で見積もらない  段階的なコミット  自動 単体テストも作成  Feature のテストを作成  シナリオ テストは後でもよい  前倒しで、品質を作り込む ~ Feature の完成前に実施  脅威分析と Feature レベルのテストを必ず実施  より多くのバグを発見し、修正 © 2011 Microsoft Corporation. All rights reserved.
  42. 42. Initiative | Definitions of “Done” We’re done.  Feature の完成に向けた作業見積りFeature ごとの  コードの完成で見積もらない  期日のコミット  段階的なコミット  品質基準の達成と進捗 I’m done.  自動 単体テストも作成 Task  Feature のテストを作成 個人レベルはチームで決定  シナリオ テストは後でもよい  開発プロセス  タスクの粒度、進捗  前倒しで、品質を作り込む ~ Feature の完成前に実施  脅威分析と Feature レベルのテストを必ず実施  より多くのバグを発見し、修正無理なマイクロ マネージメントを行わない Source Test  チームに権限を委譲 Code Code  チームの自己組織化を推進 © 2011 Microsoft Corporation. All rights reserved.
  43. 43. Initiative | Definitions of “Done” Task Task Task 各 Feature の進捗 Feature 単位での報告義務 (タスク レベルは Team の方針による) Product Unit の進捗 ビジネスの進捗 © 2011 Microsoft Corporation. All rights reserved.
  44. 44. Initiative | Definitions of “Done” © 2011 Microsoft Corporation. All rights reserved.
  45. 45. Initiative | Definitions of “Done” © 2011 Microsoft Corporation. All rights reserved.
  46. 46. Initiative | Definitions of “Done” 自動テストによる コードのカバレッジ率が 70 % を超えていること © 2011 Microsoft Corporation. All rights reserved.
  47. 47. Initiative | Definitions of “Done” © 2011 Microsoft Corporation. All rights reserved.
  48. 48. Initiative | Definitions of “Done” © 2011 Microsoft Corporation. All rights reserved.
  49. 49. Initiative | Definitions of “Done” CP#0 CP#1 CP#2 コミット 見積り コミット 見積り 再見積り コミット Feature ブランチ Check Point: マネージャとの レビュー/フィードバック/意思決定の機会 Check Point Check Point #1 #2実施計画レビュー 実施内容レビューどのように計画し 何を実施したのかたのかを説明 を説明 Feature のデモ © 2011 Microsoft Corporation. All rights reserved.
  50. 50. Initiative | Definitions of “Done”  夜間テスト  フル自動テスト - CTP, Beta, RTM, (Daily, Weekly Coverage runs) Build Verification Tests  夜間テスト  フル自動テスト ー Main へマージ前に実施  統合テストと、探索的テスト  パフォーマンスとストレス テスト Quality Gates  開発したテストの実施  探索的テスト  回帰テスト  夜間テスト © 2011 Microsoft Corporation. All rights reserved.
  51. 51. 公開向け資料用補足スライド• 以下4スライドには、 – 米MSで自分たちのために開発したテストの効 率化のためのツール/方法について触れていま す。 – これらはすでに Visual Studio 2010 の機能と して実装されており、その動画へのリンクも記 載してあります。 クリックすることで、SlidesShare で公開 しているデモ動画にアクセスできます。 © 2011 Microsoft Corporation. All rights reserved.
  52. 52. Initiative | Definitions of “Done”  自動ビルドの仕組み  継続的インテグレーションの進化形  自動ビルド、テストで失敗の場合は、チェックインをさせない  Quality Gates を自動化継続的インテグレーション: 開発者環境 ソース管理 ビルド/検証ゲート チェックイン: 開発者環境 ソース管理 ビルド/検証 © 2011 Microsoft Corporation. All rights reserved.
  53. 53. Initiative | Definitions of “Done” 開発者による単体テスト実行や自動ビルド時のテスト実行を記録 ソースコード/テストコードの変更時に、検討すべきコードを自動検出 開発者環境 ソース管理 ビルド/検証 ソースとテストの関係を自動記録 開発時に検証すべきテストを一覧で通知 © 2011 Microsoft Corporation. All rights reserved.
  54. 54. Initiative | Definitions of “Done” 手動テスト時の結果を自動記録  画面ショット、操作ビデオ、操作手順、システム情報  2回目以降のテストを自動化  自動ビルドでテスト実行 バグの自動起票による開発者とテスターのやり取りの効率化 手動テスト の自動化 検証に 組み込む 手動テスト 手動テスト バグ起票と更新 開発者環境 ソース管理 ビルド/検証 © 2011 Microsoft Corporation. All rights reserved.
  55. 55. Initiative | Definitions of “Done”  テスト環境を動的に構築しテスターに提供  問題発生時に、テスト環境を開発者に瞬時に提供開発者環境 ソース管理 ビルド/検証 C B D 手動テスト バグ起票と更新 仮想テスト環境 © 2011 Microsoft Corporation. All rights reserved.
  56. 56. Initiative | Definitions of “Done”  夜間テスト  フル自動テスト - CTP, Beta, RTM, (Daily, Weekly Coverage runs) Build Verification Tests  夜間テスト  フル自動テスト ー Main へマージ前に実施  統合テストと、探索的テスト  パフォーマンスとストレス テスト Quality Gates  開発したテストの実施  探索的テスト  回帰テスト  夜間テスト © 2011 Microsoft Corporation. All rights reserved.
  57. 57. © 2011 Microsoft Corporation. All rights reserved.
  58. 58. まとめ すべての “負債” の排除 ビジョンの明確化 フィーチャー クルーと “Done” の定義 ブランチ戦略および、テスト環境の整備 透明性の確保と維持 チームの自律とレポートの集中化 各段階でのユーザー フィードバック 反復的な計画 © 2011 Microsoft Corporation. All rights reserved.
  59. 59. まとめ• 意思決定” に効果を発揮 – 透明性と傾向分析 – 統括的なリーダーシップの意思決定 – 実測駆動な状況把握 – 自律したチームによる意思決定 – チームの自主的な報告 – 主要なメトリックスの自動追跡 © 2011 Microsoft Corporation. All rights reserved.
  60. 60. Team Foundation Server適用プロジェクトの急増 各製品の利用者数の推移 © 2011 Microsoft Corporation. All rights reserved.
  61. 61. Team Foundation Server現在の開発者数 3,839作業項目数 839,595ソースファイル数 826,234,724ビルド数 2,010/月10 以上の 2010 年 5 月 現在開発拠点 © 2011 Microsoft Corporation. All rights reserved.
  62. 62. Team Foundation Server © 2011 Microsoft Corporation. All rights reserved.
  63. 63. まとめ © 2011 Microsoft Corporation. All rights reserved.
  64. 64. まとめ 尊敬と結束 透明性はすべてに役に立つ チームと組織のサイズ チームは、9 人まで 組織は、できるだけ 160 人以内の単位  Dunber’s Number  Scenario を目安に組織化 変化を作る © 2011 Microsoft Corporation. All rights reserved.
  65. 65. まとめ © 2011 Microsoft Corporation. All rights reserved.
  66. 66. まとめKeep It Simple Stupid.  リアルなデータで価値を 複雑さの軽減に注力 示す シンプルにスタート  一目で理解できるレポー 小さくスタート トを作成 常によりよいものを 誤りは正す  早い段階から巻き込む アジャイルなプロセスを  「それをやろう」と言っ 作成すること てもらう K.I.S.S. を忘れないこと  成功するための人員を確 保してもらう © 2011 Microsoft Corporation. All rights reserved.
  67. 67. ✉ tomohn@microsfot.com © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows 7, Visual Studio and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved.

×