アジャイル型開発におけるプラクティス活用リファレンスガイド概説

1,077
-1

Published on

2014/01/31 「アジャイル型開発におけるプラクティス活用リファレンスガイドの勘所と活用方法」

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

No Downloads
Views
Total Views
1,077
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
12
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

アジャイル型開発におけるプラクティス活用リファレンスガイド概説

  1. 1. アジャイル型開発における プラクティス活用 リファレンスガイド概説 2014/01/31 合同会社カルチャーワークス 懸田 剛
  2. 2. 合同会社カルチャーワークス 共同代表 Agile459
 アジャイルプロセス協議会
 四国支部 代表/支部長 懸田 剛 twitter: @kkd facebook: takeshi.kakeda blog: http://kkd.github.io
  3. 3. 直面する課題
  4. 4. 開発者視点だと… 顧客の要求がこ ろころ変ってし まう…
  5. 5. 開発者視点だと… 要求が決めきれ ずにずるずると …
  6. 6. 開発者視点だと… 結局スケジュー ルを大幅に超過 してしまった…
  7. 7. 開発者視点だと… 急いだために品 質が悪いものを 納めてしまった ….
  8. 8. 発注者視点だと… 見積り通りにでき た試しがない。
  9. 9. 発注者視点だと… 品質の悪いシステ ムを納められて 困っている
  10. 10. 発注者視点だと… 要求を決めろと言 われても、そんな 簡単に決まらない
  11. 11. 発注者視点だと… 決めきられないか ら全部やってもら おうとすると高す ぎる
  12. 12. 発注者視点だと… 要求変更をしよう とすると「別料金 で」と言われる
  13. 13. サービサー視点だと… たとえ決めて作っ てもそれが本当に ユーザーに受け入 れられるのかわか らない
  14. 14. サービサー視点だと… コストに限りがあ り、素早く市場に 出さないといけな い
  15. 15. 一番の困り事は… 決められない 正しいかわからない 不確実性 変わるかもしれない わからないこと ばかり
  16. 16. スクラム XP DSDM クリスタル 達人プログラマー
  17. 17. アジャイル スクラム XP DSDM クリスタル 達人プログラマー
  18. 18. どうするか… 目的・価値の明確化と それに基づく順序付け 短期間での実現と 繰り返し 顧客・ユーザーとの 協調とフィードバック 継続的な改善と学習 自律的な 職能横断チーム 技術の卓越性
  19. 19. タイムボックス やること(内容)ではなく時間を固定する 時間が一番貴重なリソース 中身(時間内でやること)の量を可変にする 大事なものからタイムボックスに入れる
  20. 20. アジャイルのリズム(スプリント) 一週間 一週間
  21. 21. アジャイルのリズム(スプリント) ゴールと作業 を決める 一週間 一週間
  22. 22. アジャイルのリズム(スプリント) ゴールと作業 を決める 一週間 一週間
  23. 23. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する 一週間 一週間
  24. 24. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する 改善案を考える 一週間 一週間
  25. 25. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する ゴールと作業 を決める 改善案を考える 一週間 一週間
  26. 26. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する ゴールと作業 を決める 改善案を考える 一週間 一週間
  27. 27. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する ゴールと作業 を決める 成果を確認する 改善案を考える 一週間 一週間
  28. 28. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する 改善案を考える 一週間 ゴールと作業 を決める 成果を確認する 改善案を考える 一週間
  29. 29. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する 改善案を考える 一週間 ゴールと作業 を決める 成果を確認する 改善案を考える 一週間
  30. 30. アジャイルのリズム(スプリント) ゴールと作業 を決める 成果を確認する 改善案を考える 一週間 ゴールと作業 を決める 成果を確認する 改善案を考える 一週間 ゴールと作業 を決める
  31. 31. アジャイルのリズム(日々)
  32. 32. アジャイルのリズム(日々) 昨日の作業を 共有する
  33. 33. アジャイルのリズム(日々) 昨日の作業を 共有する 今日の予定を 共有する
  34. 34. アジャイルのリズム(日々) 昨日の作業を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる
  35. 35. アジャイルのリズム(日々) 昨日の作業を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる
  36. 36. アジャイルのリズム(日々) 昨日の作業を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 昨日の作業を 共有する
  37. 37. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる
  38. 38. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  39. 39. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  40. 40. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 昨日の作業を 共有する
  41. 41. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  42. 42. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  43. 43. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  44. 44. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 昨日の作業を 共有する
  45. 45. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  46. 46. アジャイルのリズム(日々) 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 昨日の作業を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 今日の予定を 共有する 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる 困り毎を共有 し作戦を立てる
  47. 47. 経緯(2011年) http://www.ipa.go.jp/sec/reports/ 20120328.html
  48. 48. (H23年度)「非ウォーターフォール型開発の普 及要因と適用領域の拡大に関する調査」報告書 (国内の中・大規模プロジェクト事例)より 日本の企業環境に 固有の工夫を集めたい
  49. 49. 日本のアジャイルの 事例と工夫の収集 (2012年度) http://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html
  50. 50. 成果物 概要報告書 調査編 ガイド編 39 49 231
  51. 51. 成果物 概要報告書 調査編 ガイド編 39 49 231
  52. 52. 調査事例数 (国内) 26
  53. 53. 45 利用 プラクティス数
  54. 54. XPはプロセス、エンジニアリングテクニック、環境 スクラムはプロセス、役割、成果物
  55. 55. ページ数が膨大 231 読みこなして 活用するには ハードルが高い
  56. 56. リファレンスガイドの 構成
  57. 57. プラクティス解説 よくある問題 活用事例 活用のポイント
  58. 58. プラクティス解説 プラクティスのやり方だけでなく、動機、留意点、実際 に利用していた事例の具体例もわかる! どの事例がプラクティスを有効に使っていたか 関連して実施しておくのがよいプラクティスを探す
  59. 59. プラクティス解説 「何をするか」だけでなく「なぜするか」「注意点」 「事例事の利用例」などの情報を整理して掲載 項目 概要 名前 キャッチコピー 写真 別名 要約 状況 問題 フォース 解決策 留意点 効果 利用例 関連プラクティス 参考文献 プラクティスの日本語名/英語名 プラクティスを表す一行コピー プラクティスをイメージさせる写真 プラクティスの別名 プラクティスの要約。(Aの時にBするとCになる) プラクティスが利用されるにあたっての状況説明 ある状況においての困り事。プラクティスを使う動機。 問題を解決するにあたって考慮しないといけない点。 プラクティスの内容。具体的に何をするかを解説。 プラクティスを実施する際に留意しなければならない点。 プラクティスを実施することで得られる効果。 調査事例でのプラクティスの具体的な利用例。うまくいかない点も記載。 関連するプラクティス。 プラクティスに固有の参考文献を記載。
  60. 60. 「プラクティス」というまとめ方の課題 望ましい結果   (目的) 問題 解決策 ←プラクティス ✓問題の背景は文脈によって異なる ✓その解決策を選んだ根拠がわからない ✓「実施する」ことが目的になることが多い
  61. 61. 解決策の周辺を見る(パターン) 問題 望ましい結果 状況 フォース 解決策 解決策を選択する上で決め 手になった事項・制約 望 ましくない
  62. 62. 名前 状況 問題が起きて いる背景、文 脈、周辺状況 この解決策の名前 問題 解決策 困っている、 なんとかした いこと フォース 問題の解決を 難しくしてい る点 具体的な問題 の解決策 問題を解決す る際に考慮し ないといけな い点 結果 解決策を実施 した結果、ど ういうことが 起きたのか?
  63. 63. 名前 状況 日次ミーティング 問題 フォース 解決策 結果
  64. 64. 名前 状況 日次ミーティング 問題 解決策 チーム全員が 一日毎に短時 間で問題点を 共有する フォース 結果
  65. 65. 名前 状況 日次ミーティング 問題 解決策 フォース 時間が空いて しまうと、共 有時間が長く なる 自発的に問題を 言ってもらおう としても頑張っ てしまう 結果
  66. 66. 名前 状況 日次ミーティング 問題 解決策 チームは時間 が不足しがち である。 フォース 時間が空いて しまうと、共 有時間が長く なる 自発的に問題を 言ってもらおう としても頑張っ てしまう 結果
  67. 67. 名前 状況 日次ミーティング 問題 解決策 チームは時間 が不足しがち である。 情報共有して いる時間はほ とんどない。 フォース 時間が空いて しまうと、共 有時間が長く なる 自発的に問題を 言ってもらおう としても頑張っ てしまう 結果
  68. 68. 名前 状況 チームは時間 が不足しがち である。 情報共有して いる時間はほ とんどない。 日次ミーティング 問題 解決策 情報共有の遅 れが問題を大 きくする フォース 時間が空いて しまうと、共 有時間が長く なる 自発的に問題を 言ってもらおう としても頑張っ てしまう 結果
  69. 69. 名前 状況 チームは時間 が不足しがち である。 情報共有して いる時間はほ とんどない。 日次ミーティング 問題 解決策 情報共有の遅 れが問題を大 きくする 問題の影響を 小さく治めた い フォース 時間が空いて しまうと、共 有時間が長く なる 結果 自発的に問題を 言ってもらおう としても頑張っ てしまう
  70. 70. 名前 状況 チームは時間 が不足しがち である。 情報共有して いる時間はほ とんどない。 日次ミーティング 問題 情報共有の遅 れが問題を大 きくする 解決策 チーム全員が 1日毎に短時 間で問題点を 共有する フォース 時間が空いて しまうと、共 有時間が長く なる 自発的に問題を 言ってもらおう としても頑張っ てしまう 結果 問題の影響を 小さく治めた い
  71. 71. カテゴリ 概要 プロセス・
 プロダクト 反復や日々の計画づくりや状況 把握、目的・要件の把握 技術・ツール 設計・開発の効率化、品質向上 チーム運営・組 織・チーム環境 チームや組織のコミュニケーシ ョンの効率化、作業効率化に役 立つ環境 事前の調査項目には含まれてい ないが、調査事例の中でよく実 施されていた 発見されたプラク ティス
  72. 72. 調査事例に共通して見られたアジャイル型開発の実 よくある問題 施上にぶつかる課題を取り上げ、どのように各事例 で乗り越えてきたかを紹介する。 どんな障害がありそうかを知る 事例がどう乗り越えて来たかを知る
  73. 73. カテゴリ 概要 問題名 問題の一行表現 問題 各事例における、問題の具体的な状況 を紹介する。 予想される結末 この問題を放置しておくと起り得るで あろう結末を紹介する。 解決策 各事例で、どのように問題を解決して きたのか、どこに気をつければよいか を解説する。
  74. 74. カテゴリ 問題名 具体例(P122) 分散拠点で円滑なコミュニケーションがとれな い 分散拠点で開発していくには、同一拠点と比べ て特に拠点間のコミュニケーションの円滑化に 注意する必要がある。
 ! 問題 G社事例(9)では、プロダクトオーナーが別拠点 におり、さらに開発期間中に開発者1名が別拠点 に移動した。そのため従来実施してきた同一拠 点での日次ミーティングを、分散拠点に対応さ せなければならなかった。
  75. 75. カテゴリ 具体例(P122) 分散拠点で円滑なコミュニケーションが実現で きない場合に起り得る問題は「コミュニケーシ 予想され ョン齟齬」である。意図や意味が思うように伝 る結末 わらず、その結果、作業にズレが生じて、期待 する成果がでてこない。 解決策 大半の事例では、リアルタイムでのコミュニケ ーション手段として、ネット電話会議システム を用いていた。日常的なコミュニケーションの ためにも利用されていた。
  76. 76. 26調査事例のアジャイル型採用の背景、詳細な情 活用事例 報、特徴的なプラクティス、うまくいかなかったプ ラクティスを紹介する 似ている背景・属性を持つ事例を探す 使っているプラクティスを探す うまくいかないプラクティスを探す
  77. 77. カテゴリ 事例名 概要 調査事例を 番号とアルファベット一文字の略称で表現。 事例プロフィール 事例の背景や、どのようにアジャイル型を実施したのか、 プロジェクトの規模などの詳細情報を記載。 使用プラクティス群 事例の利用プラクティスのうち、特徴的なもの(うまくいっ ている、独自の工夫をしている)と、うまくいかなかったも のを抜粋して記載。 契約形態との関係 プロジェクトが顧客とどのような契約形態で行っていたか を記載。 チーム編成・ メンバーをどうやって教育したか、チームを編成したかの チームメンバ研修との関係 工夫を記載 使用ツール 開発や管理にどのようなツールを利用していたかを記載。
  78. 78. 具体例(事例(5) D社) SNSのサービス開発における事例。アジャイル型 開発経験者が皆無の状態で、社内アジャイルト レーナーが支援しながら開発を進めた。 開発者 は若手が多くスキルが低いため、エンジニアリ ングの基本を教えながらの開発にならざるを得 なかった。
  79. 79. 具体例(事例(5) D社) メンバーが若手中心であり、元々はスクラムを中心 にアジャイル型開発を導入していたが、エンジニア リング面が弱いとうまくいかないことがわかり、XP に代表される開発プラクティスを中心に導入する方 向性に切り替えた。 他方、XPで代表されるテスト駆 動開発などは取り上げず、ユニットテストの自動化 ではなく、受入テストをシナリオベースで自動化し て品質を担保しているのが特徴的である。 また、社内における人材教育の側面も強い事例であっ た。
  80. 80. 具体例(事例(5) D社) 特徴的なプラクティス •イテレーション •教育という観点があるので一週間程度の短さで ないと、問題が長く滞留しそうで不安である。 ! うまくいかなかったプラクティス •バーンダウンチャート •タスクの時間を見積っていないので使えていな い。バグ数をバーンダウンチャートで管理して いる。
  81. 81. 活用の ポイント 利用者の抱える課題に対して、どのプラクティスに 着目して利用すればよいかを調査結果に基づいてお 勧めする。 課題に適したプラクティスを探す 課題に該当する活用事例を探す
  82. 82. 取り扱う現場の特性 短納期・開発期間が短かい 初めての技術領域や業務知識を扱 う スコープの変動が激しい 初めてチームを組むメンバーが多 い 求められる品質が高い オフショアなど分散開発を行う コスト要求が厳しい 初めてアジャイル型開発に取り組 む チームメンバーのスキルが未成熟
  83. 83. 具体例(スコープ変動が激しい) 開発中に要求の変更が頻繁に発生するプロジェ クトでは、チームが扱う要求が全体として何が あり、現在のイテレーションでどの要求を開発 することになっているか、要求の状態が管理で き、柔軟に優先順位を変えられるプラクティス が求められる。
  84. 84. 具体例(スコープ変動が激しい) この場合、活用するプラクティスは、プロダクトに関する要 求全体を管理するプロダクトバックログと、現在のイテレー ションで開発対象となる要求を管理するスプリントバックロ グである。 プロダクトバックログは、イテレーション毎に整理を行い、 チーム全員で優先順位と内容を合意すると良い(B社事例 (2))。なお、プロダクトバックログの優先順位に責任を持 つ、プロダクトオーナーを設置することも、プロダクトバッ クログとセットで活用するべきプラクティスである。 (…)
  85. 85. プラクティス 解説 問題解決の工夫をし ているプラクティス プラクティスを利用し ている事例 よくある問題 問題が発生していた 事例 関連プラクティス 特徴的/うまくいかな 課題に対して有効な いプラクティス プラクティス 活用事例 課題に対応した 事例を紹介 活用の ポイント
  86. 86. どのように活用するか?
  87. 87. 3つのケースで考える アジャイル型開発に これから取り組もう としている どう 始めればよいか? スクラムを導入し初 めたばかりで回すの に手一杯だ どんな利点や 注意点があるか? プロジェクトで実践 しているがうまく 行っていない 他の事例は どうしているか?
  88. 88. アジャイル型開発に これから取り組もう としている 目的・課題 に合うのは? どう 始めればよいか? 目的・課題に合うのは? 似たよ うな事 例はな いか? 何から始め たらよい? 活用の ポイント 具体的には?利点は? 落とし 活用事例 プラクティス 解説 穴は? よくある問題
  89. 89. P.185 「5.活用のポイント」
  90. 90. 「アジャイルコーチ」や「ふ りかえり」というプラクティ スが有効なのか P.185 「5.活用のポイント」
  91. 91. P.92「アジャイルコーチ」
  92. 92. P.92「アジャイルコーチ」 「事例(9)」が発足当初から社 外アジャイルコーチを呼んで 実践していたらしい。
  93. 93. P.149「事例(9)」
  94. 94. イテレーションの工夫が気に なる P.149「事例(9)」
  95. 95. P.14「イテレーション」
  96. 96. イテレーションの長さを考え るヒントが書いてあった! P.14「イテレーション」
  97. 97. プラクティス 解説 問題解決の工夫をし ているプラクティス プラクティスを利用し ている事例 よくある問題 問題が発生していた 事例 関連プラクティス 特徴的/うまくいかな 課題に対して有効な いプラクティス プラクティス 活用事例 課題に対応した 事例を紹介 活用の ポイント
  98. 98. まとめ 国内26事例45プラクティスを調査 プラクティスの現場の工夫を紹介 事例から課題と対応策、独自の工夫を紹介 日本のアジャイルの貴重な現場事例 現場の状況に応じて多用な使い方ができま す アジャイル実践のお供に是非活用を!
  99. 99. ダイアログ(対話) http://greenz.jp/main/wp-content/uploads/2013/05/s_002.jpg
  100. 100. 意味や体験を 分ちあい 枠組みを外し 発見し共有する
  101. 101. 尊重 傾聴 判断保留 探究
  102. 102. 勘所? (1)三味線などで、音調を整えるために指で弦を 押さえるところ。つぼ。 (2)はずすことのできない大事なところ。肝心な ところ。急所。「―を心得た仕事ぶり」
  103. 103. 勘所総括 目的や状況を明らかにする 状況に応じた工夫 仮説検証の繰り返し やってみることを恐れない
  104. 104. 意見の交換 枠を越えた思考 試してみる勇気
  105. 105. チャタムハウスルール 本会で得られた情報を利用できる 話で参考になった工夫などを実施 してみる その情報の発言者やその他の参加者 の身元および所属に関して秘匿する(明 示的にも黙示的にも明かにしない)

×