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.

Agile overview

27,230 views

Published on

Agile の全体像、考え方、プラクティスのいくつかを説明しています。日本の企業向けです。

Published in: Technology
  • Be the first to comment

Agile overview

  1. 1. Our speakers Software Development Engineer Working in IT since 1994, MSFT since 2015 http://blogs.technet.com/b/livedevopsinjapan/ https://channel9.msdn.com/Blogs/livedevopsinjapan/ http://simplearchitect.hatenablog.com/
  2. 2. Agenda • アジャイル開発の概要 • アジャイル開発の考え方 • アジャイル開発のテクニック • Q&Aの回答
  3. 3. アジャイル開発とは • 迅速かつ適応的にソフトウェア開発を行う軽量な開発手法の総称 • 次の価値を共有する • プロセスやツールより、個人の対話を重視する • 包括的なドキュメントより動作するアプリケーションを重視する • 契約上の交渉よりも顧客との協調を重視する • 計画に従うよりも変化に対応することを重視する • 代表的な開発手法 • eXtreme Programming • Scrum • FDD • Crystal Family • DSDM 6 ※左の項目にも価値はあるが、アジャイルでは右の項目をより重視する
  4. 4. アジャイル開発のゴール Principles behind the agile manifesto http://agilemanifesto.org/principles.html 価値のあるソフトウェアを 初期から繰り返し提供することで お客様に満足していただくこと
  5. 5. ソフトウェア開発のリスク Extreme Programming Explained スケジュール遅延 プロジェクトの中止 古くなって使えない 品質が悪い ビジネスの間違い不要な機能が満載 スタッフの退職 変化を抱擁する 継続的に提供する
  6. 6. 要求 設計 実装 テスト ビル等の建築には向く方法であるが、 ソフトウェアには向かない方法
  7. 7. 指数関数的  1つの変更に対するコスト Cost Cost Time Time WaterFall Agile http://www.agilemodeling.com/essays/costOfChange.htm
  8. 8. Sprint #1 Sprint #2 Spring #3 ・・・ 1 – 4 週間 スプリント 計画 開発 レビュー 振り返り 1st Day Last Day スプリントは、チームが作業をする 一定期間のこと 動作する ソフトウェア アジャイルプロセス リリース 計画
  9. 9. プロダクトオーナ 開発チーム スクラムマスタ •プロダクトの特徴を考える •リリース日と内容を考える •市場価値により優先順位をつける •仕事の結果を評価する •スプリントのゴールを達成するよう勤める •自己組織チームを形成する •仕事の結果をプロダクトオーナとレビュー •5−9人の多能工 •チームが生産的になるように支援する •外部の妨害から防御する •プロセスが守られているか確認する 12 チームが製品を出荷するための、障害を取り除く役割 チームが、ビジネス価値を提供できるようにする役割 スプリント毎に動作するソフトウェアを提供する
  10. 10. Agile / DevOps の日本導入はそのままでは難しい Agile 導入 難度 権力の差 (PDI) 個人の自立 (IDV) 男性社会 (MAS) 不確実性忌避 (UAI) 長期指向 (LTO) 日本 80 54 46 95 92 80 フランス 66 68 71 43 86 イタリア 65 50 76 70 75 アメリカ 49 40 91 62 46 29 イギリス 45 35 89 66 35 25 ドイツ 55 35 67 66 65 31 http://www.clearlycultural.com/geert-hofstede-cultural-dimensions/power-distance-index/
  11. 11. 米国 100% 日本の生産性の動向 2015年版 http://www.jpc-net.jp/annual_trend/ 62%
  12. 12. 物量が違う
  13. 13. 非エッセンシャル思考 エッセンシャル 思考 行動 やることをでたらめに増やす ・差し迫ったものからやる ・反射的に「やります」 ・期限が迫ると根性で頑張る やることを計画的に減らす ・本当に重要なことを見極める ・大事なこと以外は断る ・あらかじめ障害を取り除いてお く 結果 無力感 ・何もかも中途半端 ・振り回されている ・何かがおかしい ・疲れ切っている 充実感 ・質の高い仕事ができる ・コントロールしている ・正しいことをやっている ・毎日を楽しんでいる 考え方 みんな・すべて ・やらなくては ・どれも大事だ ・全部こなす方法は? より少なく、しかしより良く ・これをやろう ・大事なことは少ない ・何を捨てるべきか?
  14. 14. http://simplearchitect.hatenablog.com/
  15. 15. 2017/10/1522 当初想定の機能で本当に使われるのは30%〜40% 必要と思われる機能を全て実装するのを劇的に速める手法はない
  16. 16. 2017/10/1523 無駄な機能をつくっていないから、シンプルで2週間でロ ンチできる
  17. 17. 2017/10/1524  ひとまわり業務がまわり、価値を提供する単位でつくっていく  動作するものを作る事で、どこが不要かを見極める  どのタイミングでもリリースできるようにもっていく
  18. 18. 2017/10/1525  価値があり、ひと回り業務がまわり、優先順位の高いところから実 装する  価値の次には、技術的リスクが高いところから実装する
  19. 19. Build Less 自分の競合を下回る より少ない機能で より少ないオプション/プリファレンスで より少ない人々、チームの構造で より少ないミーティングや、抽象的な作業で より少ない約束事で 機能をたくさん素早く作る事は善ではなく、悪である
  20. 20. Fix time and budget, Flex scope 失敗するチームは、どれだけ機能を盛り込むかに注力し、 成功するチームはどれだけ作らなくてよくできるかに注力する 納期と、コスト(人件費)を固定して、 その仕事をメンバーが価値を最大化して どうしたら楽になるかを チーム全員で必死に考えている 時間は最大の制約であり、そこを増やそうとしたら競合に勝てない
  21. 21. 計画と納期に関する考え方の違い
  22. 22. 自己組織化チーム T H E M I C R O S O F T
  23. 23. 計画 1 監視 + 学習 リリース開発 + テスト 2 開発 運用 4 3
  24. 24. 1
  25. 25. ストーリマネジメント 機能ベース 開発 見積りと計画 プランニング ストーリカード バックログ Manage It
  26. 26. Sprint #1 Sprint #2 Spring #3 ・・・ 1 – 4 週間 スプリント 計画 開発 レビュー 振り返り 1st Day Last Day スプリントは、チームが作業をする 一定期間のこと 動作する ソフトウェア アジャイルプロセス リリース 計画
  27. 27. 40 User Stories Applied: For Agile Software Development Mike Corn ユーザストーリ User Stories Applied ユーザは、著者名、タイトルもしくは、 ISBN番号から、本を検索することがで きる ストーリは、顧客が理解できる内容である必要がある ストーリは、顧客と開発者の合意の覚え書き程度であり これを元に顧客と開発者が会話することが重要
  28. 28. 41 Agile Estimating and Planning Mike Corn Agile Estimating and Planning 機能のリスト、技術、問題が、 緊急度、優先度、見積りがつけられる 1つのプロダクトにつき1つ作成される Story ID Story Estimate Sprint #1 1 As a swimmer, I can see a line chart of my time for a particular event. 3 2 As a coach, I can see a line chart showing the progress over the season of all of my swimmers in a particular event. 8 3 As a swimmer, I can see a pie chart showing how many first, second, third, and lower places I’ve finished. 5 4 As a coach, I can see a text report showing each swimmer’s best time in each event 2 Sprint #2 5 As a coach, I can upload meet result from a file exported from the timing system used at the meet 3
  29. 29. 相対見積り
  30. 30. 43 プランニングポーカー 見積りサイズ = 0, 1, 2, 3, 5, 8, 13, 20, 40 and 100. 最初に最小と思われるストーリのサイズを2と規定する。 そのストーリと比べて、他のストーリはどの程度のサイズか? Agile Estimating and Planning Mike Corn
  31. 31. 45 リリース計画 大まかな計画を立てる事は推奨する。ただし、それは、仮説に過ぎない ことを理解する必要がある。それは、開発するという約束ではない また、大まかな計画はプロダクトオーナーが何をするかのガイドにもなる 大まかな計画 Sprint#1 Sprint#2 Sprint#3 Sprint#4 … Story 1 Story 2 Story 3 Story 4 Story 4 Story 5 Sprint#1 Sprint#2 Sprint#3 Sprint#4 … PO Dev Subsystem C Subsystem BSubsystem A Subsystem B
  32. 32. 2 開発者が反復作業を開始して、 機能にアイデアを実装する
  33. 33. cspkg
  34. 34. 48%
  35. 35. http://labs.nintex.com/code-dojo-test-driven-development/
  36. 36. https://channel9.msdn.com/Blogs/livedevopsinjapan/6min-DevOps-10
  37. 37. cspkg
  38. 38. ペアプログラミング
  39. 39. Q&A • 発注はどうするの? • いい人見つけるには? • 会社でいろいろなルールが決まっているけ ど? • 見積もりや契約はどうするの? • 納期までに予定のものができないのでは? • ドキュメントどうするの?設計はどうする の? • 品質はどう担保するの? • どうやって始めたらいいの?

×