アジャイル開発の始め方

9,990 views

Published on

2011年3月25日(金)のプライベートセミナー『企業価値につなげるアジャイル開発~アジャイル開発の活用ポイント、要求開発とマネジメントの視点から~』の資料です。

講演者:天野勝。

http://sec.tky.esm.co.jp/2011/02/07/private_seminar18/

Published in: Technology
  • Be the first to comment

アジャイル開発の始め方

  1. 1. アジャイル開発の始め方 株式会社永和システムマネジメント コンサルティングセンター センター長 天野勝 http://sec.tky.esm.co.jp/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 1
  2. 2. 本日のお話  アジャイル開発が一般に普及し、多くのソフトウェア 開発に採用されるようになってきました。しかし、す べてのプロジェクトでそのメリットを享受できている わけではないのも事実です。  自分たちに適応したアジャイル開発になっていない のが、その原因だと考えます。  本日は、アジャイル開発で取り扱う問題領域と、ア ジャイル開発の始め方の一例をご紹介します。2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 2
  3. 3. スピーカー紹介  天野 勝(あまの まさる)  (株)永和システムマネジメント コンサルティングセンター センター長  オブジェクト指向、アジャイル開発、開発現場の活性化をテーマに、 ファシリテーションを活用したコンサルティング、セミナーに従事。  2002年にKent BeckからTDDを教わる  オブラブ、アジャイルプロセス協議会、日本XPユーザグループ、日本 ソフトウェアテストシンポジウムなど、ソフトウェアコミュニティに積極的 に参加  著書:『eXtreme Programmingテスト技法』『正しく学ぶソフトウエア設 計』  訳書:『リーン開発の本質』『アジャイルソフトウェア開発スクラム』2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 3
  4. 4. 会社紹介  株式会社 永和システムマネジメント  本社は福井県福井市  1980年創業、 2002年東京事務所開設 福井県福井市  金融、医療、オブジェクト指向 を使ったシステム開発  コミュニティ活動や、 書籍の執筆・翻訳に積極的2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 4
  5. 5. 目次  問題領域  アジャイル開発の進め方  TFから始めるアジャイル開発  TFの導入例  おわりに  参考資料2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 5
  6. 6. 問題領域2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 6
  7. 7. ビジネスのサイクル 市 ニーズ 場 獲得 提供 ¥ 供 給 要求 商品 者 開発POINT ニーズに合う商品を提供するのがビジネスの大前提2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 7
  8. 8. ニーズに合う商品を提供するために 市 市 場 獲得 要求 開発 商品 提供 場 市 市 場 獲得 要求 開発 商品 提供 場 時間短縮 ニーズが変わる前に 素早く提供POINT ニーズの獲得から商品提供を素早く行う仕組みが必要2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 8
  9. 9. 商品提供を素早くするには(ソフトウェアの場合) ムダを プロセス 排除する 要求 新たな 開発 ソフトウェア 既存の ソフトウェア 修正しやすく 作る チームとして 開発チーム 成長するPOINT 小さく作って大きく育てる開発プロセスを採用する2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 9
  10. 10. 修正しやすく作るために (2)方針を決めて、具体化 する。問題を解く 整理された問題 解決へ向けた具体策 【問題領域】 【解領域】 分析モデル 設計 設計モデル Validation Verification Verification 実装(1)問題を見つめて 【モデル領域】 分析整理する。 問題のモデル化 【現実領域】 (3)具体策に基づいてモデ Validation ルを現実化する 要求 ソフトウェア テスト 解くべき問題 現実化された具体策 (4)現実化された解で問題が解決 されているかを確認するPOINT モデルを活用して、抽象度を高める 2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 10
  11. 11. ムダを排除するために 承認と 技術 コーディング 検査へ 検査と 運用担当へ 配備 要求 待ち行列に 優先順位 待ち行列に 待ち行列に とテスト 効率 フォームを入れる づけ フォームを入れる 評価 フォームを入れる 修正 1% 合計20分 合計4時間 2時間 価値 5分 2分 15分 2時間 15分 3分 40分 ムダ 3時間 6週間 15分 1/2週間 2週間 2週間 1週間 45分 1/2週間 4時間 バリューストリームマップの例 顧客価値に 結びつかない すべてがムダ 出典:『リーン開発の本質』POINT バリューストリームマップでプロセスのムダを見る2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 11
  12. 12. 7つのムダ 生産工程の 作業の7つのムダ 説明 7つのムダ在庫のムダ 未完成の作業のムダ 目的を達しない作業は意味がない加工そのもののムダ 再学習のムダ 学習したことをプロセスに組み込む作りすぎのムダ 余分な機能のムダ 本当に今必要な機能に注力する運搬のムダ 引き継ぎのムダ 情報を素早く確実に相手に伝える手待ちのムダ 遅れのムダ 素早くフィードバックを行なう 目的の異なる複数の作業を同時に行わ動作のムダ タスク切り替えのムダ ない不良を作るムダ 欠陥のムダ 異常を先送りしない 出典:『リーン開発の本質』POINT ムダの視点で観察し、改善のきっかけにする2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 12
  13. 13. 納品後のソフトウェアの機能の利用度 Sometimes Rarely 16% 19% ほとんど ときどき利用する 余分な機能のムダ 利用しない よく利用する Often いつも 全く利用しない 13% 利用する Always 7% Never 45% Standish Group Study Reported in 2000 Chaos Report.POINT 利用される機能は全体の1/3、良く利用されるのは1/52011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 13
  14. 14. なぜ作りすぎのムダが発生するのか?  変更コストカーブの前提がムダを生む  もし変更コストカーブを平坦にできたとしたら?  平坦にするためにはなにをする? 変更 変更 コスト コスト 時間 時間 Boehm 1981 Beck 2000POINT 変更コストカーブが平坦ならば、後で修正しても損しない2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 14
  15. 15. チームとして成長するために  プロジェクトに学習のサイクルを組み込む 学習したことを活かして、 Plan チームを変化させる Adapt 学習できるように 計画を立てる Do 経験から学習する Study 学習したことの効果を 試しながら仕事を行うPOINT 早く失敗が分かる方が学習の効果が高い2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 15
  16. 16. 現状に適したリスクコントロール リスク 発生頻度を低減 ダメージを軽減 素早く安価に対処 事前対策 事後対策 仕組み作り 回避、低減、転嫁、受容POINT トータルのコストが低減するようにリスクを管理下におく2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 16
  17. 17. 「アジャイル」とは  アジャイルであるということは、プロセスよりもむしろ 「態度」であり、「方法論」ではなく「環境」である。  『アジャイルプロジェクトマネジメント』 P.10  アジャイルは、プラクティス群によって定義されない。 文化的な信念群によって定義される。  『アジャイルソフトウェア開発エコシステム』P.203  アジャイルさというのは、「心構え」とか「考え方」で あって、「プラクティス」や「プロセス」のことではない  『アジャイルプロジェクトマネジメント』P.277POINT 「アジャイルでやる」のではなく「アジャイルにやる」2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 17
  18. 18. アジャイル開発の進め方2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 18
  19. 19. 「アジャイル開発」とは  価値を生み出すソフトウェアを、手早くムダなく作る 手法の総称  特定のリスクへの対応策である  短い期間で区切りながら開発を進め、その時点の状況に 合わせて進め方を改善していく  変化を受け入れる  タイムボックス  自己改善型プロセス(メタプロセス)  特定の開発手法にこだわらない  特定の開発手法をヒントとして、自分たちの開発手法に取 り入れる  特定の開発手法は、各提唱者の成功事例にすぎない2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 19
  20. 20. アジャイル開発には多くの手法がある プロダクト重視 XP DSDM アジャイル開発に AM 分類されるプロセス 軽量 FDD UP 人の関わり方 人の関わり方 (パッシブ) (アクティブ) RUP リーン ASD WF スクラム APM ©アジャイルプロセス協議会 アジャイルプロジェクトマネジメントWG マネジメント重視POINT 提唱者それぞれの成功事例や視点のバリエーション2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 20
  21. 21. アジャイルソフトウェア開発宣言 軽量級と呼ばれていたソフト ウェア開発手法の提唱者に より、各手法の共通点をまと めたもの (2001年2月) http://agilemanifesto.org/iso/ja/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 21
  22. 22. 代表的なアジャイル開発手法 Kent Beckらが提唱している手法。 XP 「変化ヲ抱擁セヨ」をスローガンとして、ソフトウェア開発 Extreme 技術のベストプラクティスのいくつかを極端に実施するこ Programming とで、ソフトウェア開発のリスク回避を実現している。 Ken Schwaber、Jeff Sutherlandらが提唱している手法。 スクラム ソフトウェア開発のマネジメントにフォーカスをあて、チー ムを自律的に動かすための場作りの仕掛け(フレーム Scrum ワーク)を提供している。 Mary Poppendiekらが提唱している手法。 リーン トヨタ生産方式をお手本して、ソフトウェア開発を成功さ Lean Software せるための原則集。この原則をもとに、具体的なプラク Development ティスを生み出す。第一原則は「ムダの排除」。2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 22
  23. 23. アジャイル開発の登場人物 要求 顧客 開発者 仕様や予算の決定 成果物 仕様をもとに開発を 権を持った人達。 する人達。 支援 管理者 マネージャや経営層。2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 23
  24. 24. 短いサイクルで、 分析、設計、実装、テストを並列に行う Waterfall アジャイル 要求(スコープ) 要求(スコープ) 計画 分析 設計 実装 テスト 時 時 間 間 Royce 1970 Beck 20002011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 24
  25. 25. イテレーションで開発する イテレーション イテレーション イテレーションは タイムボックス ふ 早期の失敗は ふ 計 り 次の糧となる 計 り 開発実施 か 開発実施 か ・・・ 画 え 画 え P D り C A り イテレーション イテレーション ふ ふ 計 り 計 り ・・・ 開発実施 か 開発実施 か 画 え 画 え リ リ り リリースする り ー 場合もあり スPOINT イテレーション毎に動作可能なソフトウェアを開発する2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 25
  26. 26. タイムボックス 箱を満たすまで 見積りやすい範囲で 仕事を入れる 見積る 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 想定しやすい範囲を 単位時間にするPOINT 時間の箱を満たすように計画、時間になるまで実行する2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 26
  27. 27. イテレーションの計画 バッグログ タスクリスト 優先順位が 計画は 要求 タスク タスクメンテされている 設計活動でもある 要求 タスク タスク 要求 要求 イテレーションで受入れ 要求 可能な分だけ 要求 要求 優先順位の高い要求から 要求 タスクに分けて見積るイテレーション中も新たな要求を追加可POINT 必要な分だけ詳細化して、計画をする2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 27
  28. 28. 朝会(ディリーミーティング)  その日の行動を確認  昨日やったこと、 今日やること、 問題点の3点のみ報告  VMボード、タスクボードなど の前で行なう  全員参加 朝会の例  スタンドアップで15分以内で実施  問題点の検討は2次会で人を絞っ て実施 PF実践編:朝会ガイド http://ObjectClub.jp/community/pf/POINT 毎日定時に、タスクボードの前で、全員で短い会議2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 28
  29. 29. タスクの実施 (プログラミング) 1 2 3 4 テストに沿った テストが通る テストコードを テスト失敗を 製品コードを 最小コードを 書く 確認する 書く 記述する 8 7 6 5 テストが通ること 不吉な匂いは テストが通ること を確認する リファクタリング を確認するPOINT テストしながら開発を行う (TDD:テスト駆動開発) 2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 29
  30. 30. 品質を作りこみながら開発を進める 欠 欠 陥 陥 数 数 時間 時間 作って後で直す 早い段階で欠陥をなくすPOINT 後で直すより、早く直せば安くつく2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 30
  31. 31. イテレーションの終了 プログラミング ユニットテスト ふりかえり ・・・ 受入テスト 何を学んだかを確認し 次につなげる 計画した作業が残っていても、 時間になったら終了するPOINT ふりかえりの良しあしがチームの成長に影響する2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 31
  32. 32. KPTによるふりかえりのサイクル (1)試してみてうまくいったこと/続けたいこと (4)Keepを強化する改善策 テーマ:作業を効率的に行うために Keep Try (6)試すことを選択、 ●焦ったら、深呼吸する ●開始前に深呼吸する 同意する ●迷ったら、アラームを挙げる ●机の上を片付ける ●... ●立って行う(1)続けたいこと、良かったこと ●荷物はイスの上に置く Problem ●事前に何をするか、確認 (5)試したいこと ●作業場所が狭い する ●迷うことが多い ●.... ●...(2) 問題点、工夫したいこと (3)Problemに効きそうな改善策 PF実践編:ふりかえりガイド http://ObjectClub.jp/community/pf/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 32
  33. 33. ふりかえりミーティングの効果 効果 説明 メンバー間で、話しやすくなる。 コミュニケーションベースの改善 個人の暗黙知が表出化され共有される。 ナレッジの共有 目標達成に対して自主性が増す。 コーチング効果 チームの行動規範が生まれ、チームに一体 チームビルディング 感が生まれる。 質の高いアイデアが生まれやすくなる。 アイデアの創発 チームとして前向きな思考になる。 PF実践編:ふりかえりガイド http://ObjectClub.jp/community/pf/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 33
  34. 34. イテレーションの時間割 (1週間の例) 木 金 月 火 水 9:30~9:45 朝会 10:00~12:00 レビュー 13:30~15:30 ふりかえり 16:00~18:00 計画 日々の作業も ふりかえりの直後に タイムボックス 計画を行う 原則的に 定時後は仕事をしないPOINT ふりかえり、計画、朝会で仕事のリズムを作る2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 34
  35. 35. アジャイル開発の成果物 プロセス プロセス より良いプロセス アジャイル ニーズ 開発 ソフトウェア チーム より良いチーム チーム チーム自らが 自分たちを高めていくPOINT 正しいプロセスであっても、それを使うのは人2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 35
  36. 36. TFから始めるアジャイル開発2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 36
  37. 37. チームファシリテーションとは  チームとしての仕事術  チームでリズムに乗って、見える化で仕事を進める  自律的なチーム運営の仕組み アジャイル ソフトウェア開発 抽出 抽出 チーム ・ プロジェクト ・ トヨタ生産方式 ファシリテーション ファシリテーション 融合 導入サービス ファシリテーション 平鍋らが提唱している「プロジェクトファシリテーション」のサブ セットで、現場への導入も含めた考え方およびサービス プロジェクトファシリテーション http://ObjectClub.jp/community/pf/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 37
  38. 38. TFの最尐セットの構成 実践 実践 週 朝 ふ タ 次 会 り ス 具体的な実施項目。 計 か ク 画 え ボ り ー 原則 ド 基本となる考え方。 原則 見える化 リズムPOINT 実践は原則の上に成り立つ2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 38
  39. 39. TFのPDCAサイクル 上位計画 成果物 Plan Do ・週次計画 ToDo Doing Done Done ・朝会 報告 タスクボード Keep Try Done Problem KPT Act Check ・ふりかえり ・ふりかえりPOINT チームでリズムに乗って、見える化で仕事を進める2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 39
  40. 40. アジャイル開発のPDCAサイクル バッグログ 要求 要求 成果物 要求 Plan Do 要求 要求 ・イテレーション計画 ToDo Doing Done Done ・朝会 報告 要求 要求 タスクボード Keep Try Done Problem KPT Act Check ・ふりかえり ・ふりかえりPOINT 計画のインプット以外は、PDCAサイクルの基本は同じ2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 40
  41. 41. 扱うトピック チーム運営 開発技法 ・プランニング ・モデリング ・相対見積り、理想時間見積り ・テスト駆動開発 ・プランニングポーカー ・リファクタリング ・朝会 ・構成管理 ・ふりかえり ・KPT、タイムライン ・継続的結合 ・見える化 ・テスト技法 ・タスクボード ・バーンダウンチャート TF アジャイル2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 41
  42. 42. 主な導入アプローチ - 体制 チーム導入 組織導入 導入対象 導入対象 導入対象 ・・・ チーム チーム チーム 支援 指導 代表 代表 推進 チーム 指導 指導 コーチ 指導 コーチ2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 42
  43. 43. 主な導入アプローチ 導入計画 立ち上げ 導入・定着 チ ・関係者ヒアリング ・キックオフ実施 ・プランニング支援 ー ・キックオフ準備 ・初期教育 ・朝会支援 ム ・ふりかえり支援 導 ・環境構築支援 入 ・モデリング支援 ・推進チーム研修 ・エグゼクティブ研修 ・定期研修 組 ・推進企画提案 ・キックオフ実施 ・チーム巡回 織 導 ・初期教育準備 ・初期教育 ・成果発表会支援 入2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 43
  44. 44. TFの導入例2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 44
  45. 45. TFのプロジェクトへの適応例 プロセス 対象 リズムのサイズ 備考 ・チーム ・1週間 ・1イテレーションの期間が2 アジャイル ・イテレーション 週間でも、ふりかえりは1週間 毎に行なう場合もある。 ・チーム ・1週間 ・イテレーションは1~3ヶ月。 スパイラル ・2週間 ・イテレーション ・チーム ・1週間 ・工程の期間は工程毎に異 ウォータ ・プロジェクト ・2週間 なる。 フォール ・工程 ・プロジェクト単位でのふりか えりは、工程毎に行なう。 ・チーム ・保守案件 ・1案件は1~3週間程度。 保守 ・1ヵ月2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 45
  46. 46. 導入例(1) カイゼンの基礎活動として http://itpro.nikkeibp.co.jp/article/JIREI/20101005/352598/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 46
  47. 47. 導入例(2) アジャイル開発の一部として  チーム導入  クラウド上のサービスプラットフォーム開発  6人の開発者  3名はRubyの経験なし  そのうち2名はプログラミング初心者  2か月のリリースサイクル  1週間のイテレーション  毎週水曜日にふりかえりとプランニングを午後半日かけ て実施()  毎日朝会を実施(10分程度)  慣れてきたら2週間に拡張する予定2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 47
  48. 48. おわりに2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 48
  49. 49. アジャイル開発の前提 ・ニーズとの適合性 ・変更容易性 ・品質の担保 ・自主性 ・顧客との協働 ・正直さ 製品 ・繰り返し ・敬意をはらう ・非属人性 態度 活動2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 49
  50. 50. ふりかえり  問題領域  ニーズに対して、素早く商品を届ける  変更コストカーブを平坦にするには  開発中のムダを取り除く  アジャイル開発の進め方  タイムボックスでイテレーション開発  ソフトウェアだけではなく、プロセス、チームも開発する  TFから始めるアジャイル開発  見える化とリズムをチームに導入  週次計画、朝会、ふりかえり、タスクボード  TFの導入例2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 50
  51. 51. 参考資料2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 51
  52. 52. 情報源  書籍  リーン開発の本質 著:メアリー・ポッペンディーク、トム・ポッペンディーク、 訳:高嶋 優子、天野 勝、監訳:平鍋 健児  アジャイルプロジェクトマネジメント 著:ジム・ハイスミス 訳:平鍋 健児、高嶋 優子、小野 剛  アジャイルソフトウェア開発 著:アリスター・コーバーン、訳:株式会社テクノロジックアート  アジャイルソフトウェア開発スクラム 著:ケン シュエイバー、マイク ビードル 訳:テクノロジックアート、長瀬 嘉秀、今野 睦、 スクラムエバンジェリストグループ  アジャイルレトロスペクティブズ 著:Esther Derby、Diana Larsen 、訳:角 征典2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 52
  53. 53. 情報源  Web  プロジェクトファシリテーション 「朝会ガイド」「ふりかえりガイド」 http://ObjectClub.jp/community/pf/  永和システムマネジメント コンサルティングセンターページ チームファシリテーション http://sec.tky.esm.co.jp/categories/tf/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 53
  54. 54. お問い合わせ  本資料に関するお問い合わせは下記までお願いし ます。 sales@esm.co.jp twitter @esmsec 株式会社永和システムマネジメント コンサルティングセンター http://sec.tky.esm.co.jp/2011/3/25 Copyright (c) 2002-2011 Eiwa System Management, Inc. 54

×