Agile概論(Full版)

3,424 views

Published on

先日慶応大学で話をしたスライドのフル版

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

No Downloads
Views
Total views
3,424
On SlideShare
0
From Embeds
0
Number of Embeds
452
Actions
Shares
0
Downloads
82
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

Agile概論(Full版)

  1. 1. http://bit.ly/rtUk6LAgile概論 2011/9/30 Ryutaro YOSHIBA
  2. 2. 吉羽龍太郎アジャイルコーチhttp://www.ryuzee.com/
  3. 3. よろしくお願いします
  4. 4. http://bit.ly/ptKnqR1. 企業のおかれた状況
  5. 5. ビジネスをとりまく環境の変化
  6. 6. IT投資は業務効率化から戦略実現へ
  7. 7. 以前の競争http://bit.ly/rioQDZ
  8. 8. 現在の競争 競争の速度の変化
  9. 9. 迅速な 意思決定 が必要http://bit.ly/pccwAN
  10. 10. 意思決定から素早く具現化する必要 http://bit.ly/r1ziWL
  11. 11. ビジネスモデルの賞味期限が短縮
  12. 12. 変化への対応“事前に綿密” にたてた計画を“長期間遵守” して大丈夫なのか?
  13. 13. 変化への対応“変化が起こる” ことを前提に“頻繁に軌道修正” することが必要http://bit.ly/oX9ImQ
  14. 14. 変化に対応できなければマーケットから見捨てられる
  15. 15. 価値がなくなれば滅びるhttp://bit.ly/qJg8EX
  16. 16. 継続的な イノベーション の創発http://bit.ly/nLACes
  17. 17. “イノベーションは「 知 」 の創造プロセスであり、知の創造は単に理論だけではなく、実践を通して知識を磨き、知恵にするものである”“企業の優れた業績は研究開発投資の増加に要因があるのではなく、組織のイノベーション・プロセスの質による”野中郁次郎氏の発言要旨
  18. 18. http://www.slideshare.net/InnovationSprint2011/2011-6794551
  19. 19. プロセス プロダクトイノベーション イノベーションhttp://bit.ly/qpjFXr http://bit.ly/ornfUo
  20. 20. http://bit.ly/qxk0gl Agileとは2. Agileとは?
  21. 21. アジャイル/Agile 形容詞 1 敏捷な, 機敏な, すばしこい, はしこい 2 活発な, いきいきとした頭の切れる, 頭の回転が早い 小学館『プログレッシブ英和中辞典 第4版』よりhttp://www.flickr.com/photos/practicalowl/4098547561/
  22. 22. 形容詞 おもに 物事の性質や状態 を表し、 言い切りの形(終止形)が「~い」となる言葉 (文語では「~し」) 形容詞および形容動詞の語幹に「さ」をつけて 「...であること・程度」を表す名詞が作られる。 「美しさ」「高さ」など。 WikiPedia「形容詞」より http://ja.wikipedia.org/wiki/%E5%BD%A2%E5%AE%B9%E8%A9%9Ehttp://www.flickr.com/photos/tomroyal/107653935/
  23. 23. アジャイルマニフェスト2001年に、ケント・ベック、マーテゖン・フゔウラー、ケン・シュウェ゗バーら、17人によって採択されたAgileソフトウェゕ開発の原則を指す。
  24. 24. 4つの基本理念1. プロセスやツールより 人と人同士の相互作用を重視する。2. 包括的なドキュメントより 動作するソフトウェアを重視する。3. 契約上の交渉よりも 顧客との協調を重視する。4. 計画に従うことよりも 変化に対応することを重視する。
  25. 25. Agileソフトウェア開発の原則 http://www.agilemanifesto.org/principles.html26
  26. 26. Agile開発の原則 (1) • 最も重要なことは顧客を満足させること。 早く、そして継続的に、価値のあるソフトウェアをリ リースする。 • 開発の終盤においても要求の変更を受け入れる。 アジャイルプロセスは顧客の競争力を優位にする ための道具である。 • 数週間、数ヶ月の単位で頻繁に実用的なソフト ウェアをリリースする。タイムスケールは短い方がよ い。
  27. 27. Agile開発の原則 (2) • プロジェクトの間中、毎日、顧客と開発者は一緒に 働くべきである。 • やる気のある人を中心にプロジェクトを構築する。 環境と必要なサポートを与え、彼らが仕事を成し遂 げると信じること。 • 開発チーム内で情報伝達を行う効果的で有効な 方法は、Face to Faceによる会話である。
  28. 28. Agile開発の原則 (3) • 進捗を測るには、動作するソフトウェアが一番である。 • アジャイルプロセスは、継続的な開発を促進する。ス ポンサー、開発者そしてユーザは一定のペースを保 つようになる。 • 優れた技術と良い設計に絶えず目を配ることで、機 敏になる。 • 「単純性」最大限に仕事を行わないことは極めて 重要である。
  29. 29. Agile開発の原則 (4) • 最良のアーキテクチャは自己最適化されたチームか ら現れる。 • 定期的な間隔で、チームにもっとも効果的な方法を反 映することで、調律・調整に従うようになる。
  30. 30. 3. なぜAgileなのか?
  31. 31. 我々が解決すべき問題は何なのか? http://bit.ly/qgox0e
  32. 32. ソフトウェアの不確実性 不確実性コーン From 10 Deadly Sins of Software Estimation by Steve McConnell, ©2002-2007
  33. 33. 納期の確率分布 ソフトウェゕの納期予測は確率分布である 一般的にプロジェクトマネージャがリリース可能日を設定する場合、 最もリリースできる確率が高い日を選ぶが、その日にリリースできな い可能性の方が高い
  34. 34. 価値を生まない各種現象や結果をムダと呼ぶ
  35. 35. 作り過ぎのムダ手待ちのムダ運搬のムダ加工のムダ在庫のムダ動作のムダ不良をつくるムダ
  36. 36. システムの機能の利用割合 7% いつも使う 13 % よく使う 45 % たまに使う 16 % ほとんど使わない 19 % まったく使わないStandishの2000年の調査より
  37. 37. http://bit.ly/olku5164%の機能は、使われない
  38. 38. “Our highest priority isto satisfy the customerthrough early and continuous delivery ofvaluable software.”
  39. 39. Agileはリスクマネジメント ビジネス環境が変化するリスク 事前の予測が外れるリスク 必要なものが必要な時に出来上がらないリスク 無駄なコストが発生するリスク リスク度 時間の経過
  40. 40. Enterprise Value Creation Continuous DeliveryAdaptability / Agility Continuous Deploy Continuous Integration Iterative Development Strategic Impact
  41. 41. http://bit.ly/o7OayA4. AgileとWFとの違い
  42. 42. ウォーターフォール綿密な正しい計画をたてられることが前提の手法 http://www.flickr.com/photos/jason_burmeister/4102808332/
  43. 43. ウォーターフォール 要件定義 受入テスト 基本設計 総合テスト 詳細設計 結合テスト 実装・単体テスト ウォーターフォールのV字モデル
  44. 44. アジャイルな開発の手法 Scrum XP Lean Crystal FDD AUP他http://www.flickr.com/photos/crystalcampbell/3454976465/
  45. 45. ウォーターフォールと繰り返し型ウォーターフォール
  46. 46. ScrumとLean
  47. 47. 経営 Lean 者企業活動自体の全体最適化 Scrum マ ネー価値あるものから継続的に ジャ 製品を届ける XP チー 技術面を高める ム
  48. 48. プロダクトオーナー スクラムマスター チーム (6±3人) ステークホルダー製品に対して責任をもち機能 スクラムプロセスがうまく プロダクトの開発を行う。 製品の利用者、出資者、管理職に優先順位を付ける いくようにする。 製品の成功に向けて最大限 などの利害関係者。鶏と称す 外部からチームを守る の努力をコミットする プロダクトバックログ デイリースクラム 製品の機能をストーリー形式で記載 毎日チームが以下の3つの質問に答える プロダクトオーナーが優先順位を付け、プラ ・昨日やったこと ンニングポーカーで相対見積もり。 ・今日やること 項目の追加はいつでも自由だが実施有無や優 ・困っていること 先順位はPOが決める。 バーンダウンチャート Doneの定義 スプリントタスクの「推定残り時間」を 何をもって「完了」とするかを 更新してグラフにプロットする 定義したリスト スプリント計画会議 プロダクトバックログを再度分析・評価し、 スプリント そのスプリントで開発するプロダクトバック 最大4週間までのタ゗ムボックス ログゕ゗テムを選択する。また選択した項目 各スプリントの長さは同一。この間は外部 をタスクにばらす からの変更を受け入れない 複 数 回タスク ス時間で見積もり プ リ ン 毎日の繰り返し ト をスプリントバックログ スプリントレビュー ふりかえり 出荷可能な 繰そのスプリント期間中に行う スプリント中の成果である り スプリントの中での改善事項 製品の増分 返タスクのリスト 動作するソフトウェゕをデモ を話合い次に繋げる する す
  49. 49. AgileとWFの違い 出典:Scaling Software Agilityプロセス WF 反復型開発 Agile成功の測定 計画への適合 変化への対応 動作するコードマネジメント文化 命令と制御 自己管理 Command & Control 協業的要求と設計 大きくて前払い 継続的・発現的 ジャスト・゗ン・タ ゗ムコーデゖングと実装 全機能を同時開発。後 コーデゖングと でまとめてテスト UnitTestのセット 順番に納品テストと品質保証 大きく・計画に基づく 継続的・同時的 PJ終盤に実施 早期からテスト継続計画とスケジュール PERT・詳細・範囲固 期日固定で範囲を見 定 積もり。 時間と工数を見積もり
  50. 50. WFでありがちな話 要件定義は順調です ○○設計は順調です 開発は遅れてますが、挽回可能です 結合試験で重大な問題が出ています 受入試験でニーズ不一致が判明 リリースできません 多くのリスクが後半に顕在化http://www.flickr.com/photos/kwazar/2289418010/
  51. 51. WFモデルの課題①構築したソフトウェアが顧客ビジネスのニーズにマッチしているかどうかを確認できるのは、受け入れ試験の時期になってしまうhttp://www.flickr.com/photos/coyotejack/2273593999/
  52. 52. WFモデルの課題②モノの品質の確定は工期の後半に始まる 品質 品質 ビックバンリスク 工期 工期
  53. 53. アジャイルでの品質の作りこみScrumの場合 24時間 スプリント 2~4週間 スプリントゴール 返品 スプリント 出荷可能な製品の Return キャンセル バックログ 積み上げ Gift wrap クーポン Cancel ギフト包装 クーポン 単体テスト、結合テスト、 受け入れテストがスプリンプロダクトバックログ ト単位(もしくはリリース単 位)で行われる.
  54. 54. アジャイルでの品質の作りこみタ゗ムボックス終了時には「テスト」が完了.スプリントレビューで顧客のビジネス要件への適合性も確認http://www.flickr.com/photos/kakutani/2761992149/
  55. 55. アジャイルでの品質の作りこみアジャイル開発においてはテスト自動化は必須 小規模リリースのたびに 手動でテストするとスプ リント後半になるにつれ てテストコストが膨らむ自動化しないとソフトウェゕ規模に応じて、テスト工数の占める割合が増加していく(=価値への投資が減少)
  56. 56. http://bit.ly/oOISEC5. まとめ
  57. 57. • ビジネス環境が変化• アジャイルは形容詞。開発プロセスの俊敏さ の度合いを表す• アジャイル開発は様々な手法の総称• ソフトウェアは不確実• 顧客の欲しいものを早期から届ける• 従来型開発手法の問題点はリスクが後半に 顕在化する点• アジャイル開発は品質を作りこむ

×