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.

ETの開発現場でのアジャイル(開発)の始め方

2,221 views

Published on

2010年7月29日(木)のプライベートセミナー『ETの開発現場で求められている人材像と育成方法』の資料です。
講演者:天野勝。
http://sec.tky.esm.co.jp/2010/06/29/private_seminar10/

Published in: Technology
  • Be the first to comment

ETの開発現場でのアジャイル(開発)の始め方

  1. 1. ETの開発現場でのアジャイル(開発)の始め方<br />~アジャイル(開発)を始めるヒントとなる3つの事例紹介~<br />1<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  2. 2. 本日のお話<br />近年、ETの開発現場にアジャイル開発を導入しようという動きが盛んになってきています。<br />その導入の目的は多岐にわたっており、それにともない導入の仕方も多岐にわたっています。<br />これまでの実績から、ETの開発現場での事例を紹介します。<br />2<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  3. 3. 講演者紹介<br />天野 勝(あまの まさる)<br />オブジェクト指向、アジャイル開発、開発現場の活性化をテーマに、ファシリテーションを活用したコンサルティング、セミナーに従事。<br />2002年にKent BeckからTDDを教わる<br />著書:『eXtreme Programmingテスト技法』『正しく学ぶソフトウエア設計』<br />訳書:『リーン開発の本質』『アジャイルソフトウェア開発スクラム』<br />3<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  4. 4. 会社紹介<br />株式会社 永和システムマネジメント<br />本社は福井県福井市<br />金融、医療、組込み、オブジェクト指向を使ったシステム開発<br />1980年創業、2002年東京事務所開設<br />4<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />福井県福井市<br />2010/7/29<br />
  5. 5. アジャイル開発プロセスの概要<br />5<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  6. 6. アジャイル開発プロセスとは<br />価値を生み出すソフトウェアを、手早くムダなく作るプロセス<br />特定のリスクへの対応策<br />短い期間で区切りながら開発を進め、その時点の状況に合わせて、スコープ調整、プロセス改善などをしていく<br />変化を受け入れる<br />タイムボックス<br />顧客と開発チームの学習サイクルを内包<br />自己改善型プロセス(メタプロセス)<br />特定の開発手法にこだわらない<br />特定の開発手法をヒントとして、自分たちの開発手法に取り入れる<br />特定の開発手法は、各提唱者の成功事例にすぎない<br />6<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  7. 7. リスクコントロール<br />7<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />トータルのコストが低減するようにリスクを管理下におく<br />POINT<br />・納期遅延<br />・ビジネスとのミスマッチ<br />・etc<br />リスク<br />発生頻度を低減<br />ダメージを軽減<br />素早く安価に対処<br />事前対策<br />事後対策<br />仕組み作り<br />回避、低減、転嫁、受容<br />2010/7/29<br />
  8. 8. 短いタイムボックスを繰り返し、分析、設計、実装、テストを並列に行う<br />8<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />ウォーターフォール<br />アジャイル<br />要求(スコープ)<br />要求(スコープ)<br />計画<br />分析<br />設計<br />実装<br />テスト<br />時間<br />時間<br />Beck 2000<br />Royce 1970<br />2010/7/29<br />
  9. 9. 学習サイクル<br />9<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />市場<br />価値を提供する<br />対価を得る<br />学習<br />顧客<br />価値を作る<br />価値を定義する<br />学習<br />開発チーム<br />開発チーム<br />コストを見積る<br />価値を選ぶ<br />顧客<br />2010/7/29<br />
  10. 10. 各プロセスの分類図<br />10<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />APM<br />ASD<br />プロダクト重視<br />XP<br />DSDM<br />AM<br />FDD<br />軽量<br />UP<br />人の関わり方<br />人の関わり方<br />Crystal<br />(アクティブ)<br />(パッシブ)<br />RUP<br />LSD<br />WF<br />Scrum<br />©アジャイルプロセス協議会アジャイルプロジェクトマネジメントWG<br />マネジメント重視<br />2010/7/29<br />
  11. 11. アジャイル開発への期待と前提<br />11<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />・変更容易性<br />・品質の担保<br />製品<br />・顧客との協働<br />・繰り返し<br />・非属人性<br />・自主性<br />・正直さ<br />・敬意をはらう<br />活動<br />態度<br />2010/7/29<br />
  12. 12. 事例1<br />遊戯機メーカー<br />12<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  13. 13. 事例概要<br />業種:遊戯機の製造<br />課題:出荷ギリギリまで要件が変更される<br />対象:ソフトウェア開発部門のパイロットプロジェクト<br />実施内容:<br />セミナーをカスタマイズして実施<br />アジャイル基礎<br />TDD(CppUnit+HEW)<br />13<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  14. 14. 課題の所在<br />14<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />・変更容易性<br />・品質の担保<br />製品<br />・顧客との協働<br />・繰り返し<br />・非属人性<br />・自主性<br />・正直さ<br />・敬意をはらう<br />活動<br />態度<br />2010/7/29<br />
  15. 15. 経緯<br />15<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />出荷ギリギリまで要件を取り込みたい<br />原要求<br />要件変更に対応できるコードベース<br />対策<br />要件変更に対応できる開発スタイル<br />対策<br />アジャイル開発プロセス<br />要素技術<br />テスト駆動開発(クロスプラットフォーム)<br />要素技術<br />アジャイル開発ができるようになりたい<br />要求<br />2010/7/29<br />
  16. 16. カリキュラム概要<br />16<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />1日目<br />2日目<br />3日目<br />アジャイル基礎知識<br />アジャイル体験<br />TDD<br />CppUnit+Cygwin<br />ベース<br />カスタマイズ<br />アジャイル基礎知識<br />アジャイル体験<br />TDD<br />CppUnit+HEW<br />実施<br />・統合開発環境で、TDDの進め方を体得(クロス環境)<br />・模擬プロジェクトで、アジャイル開発の進め方を体得<br />・これまでの課題にアジャイルがどう有効かディスカッションしながら実施<br />2010/7/29<br />
  17. 17. 17<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />ExtremeProgramming(XP)の構成<br />目的(変化ヲ抱擁セヨ)<br />価値<br />原則<br />定義しているもの<br />前提としているもの<br />提案しているもの<br />プラクティス<br />スキルを持ったチーム<br />戦略<br />オブジェクト指向<br />ヒューマンスキル<br />ファシリテーションスキル<br />...<br />2010/7/29<br />
  18. 18. 18<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />XPの目的<br />目的:プロジェクトの失敗を避ける<br />スローガン:変化ヲ抱擁セヨ(Embrace Change)<br />ソフトウェア開発において確実なことは、「変化が起こらないということはない」ということ<br />戦略:プロジェクトのリスク回避<br />スケジュール遅延、システムの陳腐化、ビジネスの誤解<br />もし変更のコストカーブを平坦にすることができたとしたら?<br />平坦にするためにはなにをする?<br />変更<br />コスト<br />変更<br />コスト<br />時間<br />時間<br />Boehm 1981<br />Beck 2000<br />2010/7/29<br />
  19. 19. 19<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />19のプラクティス<br />顧客<br />頻繁なリリース、リリース計画、ストーリ伝達、受入テスト<br />「顧客」:仕様や予算の決定権を持った人達<br />「管理者」:開発側のマネージャや経営層。<br />「開発者」:仕様をもとに開発をする人達<br />共同<br />イテレーション、共通の語彙、オープンな作業空間、回顧<br />開発者<br />テスト駆動型開発、ペア・プログラミング、リファクタリング、集団的な所有権、継続的インテグレーション、YAGNI<br />管理者<br />責任の受け入れ、ミラー、援護、四半期ごとのレビュー、最適ペース<br />2010/7/29<br />
  20. 20. 20<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />テスト駆動開発 (TDD:Test-Driven Development)<br />ユニットテストを作り、ユニットテストで動作を確認しながら、開発をすすめるという、開発手法<br />Extreme Programming(XP)のプラクティスでテストファーストと呼ばれていた開発手法の進化系<br />品質保証の手法ではない、開発者のための設計手法<br />開発のフィードバックサイクルを小さくする技術<br />ユニットテスト、リファクタリングと相互補完する<br />POINT<br />テストが開発を駆動していきます<br />TDD<br />ユニットテスト<br />リファクタリング<br />2010/7/29<br />
  21. 21. TDDの手順<br />21<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />POINT<br />赤、緑、リファクタリングで開発のリズムをつくります<br />テストを書く<br />テストに沿った<br />製品コードを書く<br />テストの失敗を<br />確認する<br />テストが通る最小のコードを記述する<br />テストを通す<br />不吉な匂いは<br />リファクタリング<br />テストに通ること<br />を確認する<br />2010/7/29<br />
  22. 22. 22<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />TDDによる利益<br />Laurie WilliamsとBody Georgeが2002年ノースカロライナ州立大学で行った対照実験<br />学生150人が被験者<br />ボーリングスコアー計算プログラムを75分で開発(とても短い)<br />すべてペアプログラミング<br />TDDと非TDDで、用意した7ケースの受入テストのパス数を比較<br />参考文献:「ペアプログラミング」<br />2010/7/29<br />
  23. 23. 事例2<br />音響機器メーカー<br />23<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  24. 24. 事例概要<br />業種:音響機器の製造<br />課題:進捗遅れ、メカ・エレキとの調整(しわ寄せ)<br />対象:ある製品のソフトウェア開発部門のWG<br />実施内容:<br />チームファシリテーションの導入コンサルを実施<br />リーダークラスをメインターゲット<br />メンバークラスはセミナーで基礎知識を習得<br />約3カ月<br />24<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  25. 25. 経緯<br />25<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />課題を自主的に解決できるようになりたい<br />原要求<br />プロジェクトに自主解決の仕掛けを導入<br />対策<br />チームファシリテーション<br />要素技術<br />WGの活動で、成果を出したい<br />要求<br />2010/7/29<br />
  26. 26. 課題の所在<br />26<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />・変更容易性<br />・品質の担保<br />製品<br />・顧客との協働<br />・繰り返し<br />・非属人性<br />・自主性<br />・正直さ<br />・敬意をはらう<br />活動<br />態度<br />2010/7/29<br />
  27. 27. 実施内容<br />27<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  28. 28. チームファシリテーションとは<br />チームファシリテーション(TF)とは、平鍋らが提唱している「プロジェクトファシリテーション」のサブセットで、現場への導入も含めた考え方およびサービス<br />ITプロジェクトに限らない、チームとしての仕事術<br />28<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />アジャイルソフトウェア開発<br />プロジェクトファシリテーション<br />抽出・融合<br />導入サービス<br />チームファシリテーション<br />トヨタ生産方式<br />ファシリテーション<br />プロジェクトファシリテーションhttp://ObjectClub.jp/community/pf/<br />2010/7/29<br />
  29. 29. TFの最小セット<br />29<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />実践<br />実践<br />朝会<br />週次計画<br />ふりかえり<br />タスクボード<br />具体的な実施項目。<br />原則<br />基本となる考え方。<br />原則<br />見える化<br />リズム<br />2010/7/29<br />
  30. 30. 見える化でチーム力が向上する<br />30<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />現場の人の知恵と工夫が、さらに当事者意識促進する<br />POINT<br />「可視化」で現場が見える<br />チーム力<br />みんなで問題に気づく<br />みんなで改善策を実施する<br />みんなで改善策を練る<br />2010/7/29<br />
  31. 31. 見える化<br />見える化とは、異常を見えるようにし、行動を誘発する仕組み、および活動のこと<br />メンバー間で共有する<br />見たくなくても眼に飛び込んでくる<br />五感に訴えかける<br />自発的な行動を促す<br />アイデアを出す、相互に確認しあう<br />カイゼンの道具<br />管理の道具ではない<br />現場主体の素早いフィードバックループを作る⇒チーム力が向上する<br />31<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />見える化=可視化+リズム<br />POINT<br />2010/7/29<br />
  32. 32. 可視化のツール:タスクボード<br />32<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />仕掛かり中の作業<br />完了した作業<br />今週すべき作業<br />次週以降すべき作業<br />2010/7/29<br />
  33. 33. リズム<br />チームのベースとなる活動のサイクルを設計し、それに合わせて活動すること<br />週次計画、朝会、ふりかえり<br />他の組織(上下左右)との情報連携も設計に盛り込む<br />活動を継続させる要となる<br />良い習慣づけ<br />33<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />活動のベースとなるリズムを設計する<br />POINT<br />リズムの例(時間割)<br />2010/7/29<br />
  34. 34. 週次計画<br />34<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />1週間で行うことを、チームで考え、共有する<br />POINT<br />1週間毎に計画を詳細化<br />何を達成すべきか(ゴール)、何をすれば達成できるか(タスク)計画する<br />1週間(+α)だけを詳細化、遠い未来は、まだ詳細化しない<br />チーム全員で実施<br />1週間の作業<br />タスク<br />タスク<br />週のゴール<br />週次計画の例<br />タスク<br />日程<br />週のゴール<br />タスク<br />2010/7/29<br />
  35. 35. 朝会<br />その日に行うことを確認<br />昨日やったこと、今日やること、問題点の3点のみ報告<br />タスクボード、バーンダウンチャートの前で行なう<br />朝の仕事はじめが重要!<br />スタンドアップで15分 全員で<br />問題点の検討は2次会で人を絞って実施<br />35<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />毎朝、タスクボードの前で、全員で短い会議をする<br />POINT<br />朝会の例<br />PF実践編:朝会ガイドhttp://ObjectClub.jp/community/pf/<br />2010/7/29<br />
  36. 36. 朝会のアジェンダ(例)<br />挨拶:「おはようございます」<br />周知事項<br />進捗状況の共有<br />個人報告<br />前日までの作業状況<br />当日に行う作業の予定<br />発生している/発生しそうな問題点<br />作業調整<br />作業の担当者を決める/決め直す<br />2次会の確認<br />掛け声:「今日も一日がんばりましょう」<br />36<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />慣れてきたら司会は持ち回りがおすすめ<br />タスクボードを使って報告<br />これがないとたんなる報告会になってしまう<br />2010/7/29<br />
  37. 37. ふりかえり<br />37<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />頻繁に、定期的に、ふりかえる<br />POINT<br />過去の学びを、未来に活かし、成長する<br />定期的にチーム全員で実施四半期、月、週、日<br />KPTがおすすめKeep、Problem、Try<br />PDCAサイクルのCA(P)<br />Plan:計画<br />Do:実行<br />Check:評価<br />Act:改善<br />ふりかえりの例(KPT)<br />PF実践編:ふりかえりガイドhttp://ObjectClub.jp/community/pf/<br />2010/7/29<br />
  38. 38. 38<br />Copyright (c) 2006-2010 Eiwa System Management, Inc.<br />改善策の見える化:KPT<br />(6)試すことを選択、同意する<br />Keep<br />●焦ったら、深呼吸する<br />●迷ったら、アラームを挙げる<br />●...<br />Try<br />●開始前に深呼吸する<br />●机の上を片付ける<br />●立って行う<br />●荷物はイスの上に置く<br />●事前に何をするか、確認する<br />●....<br />Problem<br />●作業場所が狭い<br />●迷うことが多い<br />●...<br />(1')試してみてうまくいったこと/続けたいこと<br />(4)Keepを強化する改善策<br />テーマ:作業を効率的に行うために<br />(1)続けたいこと・良いこと<br />(5)試したいこと<br />(2) 問題点、工夫したいこと<br />(3)Problemに効きそうな改善策<br />
  39. 39. 頻繁にふりかえる<br />39<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />頻繁に小さくふりかえる方が、効果が高い<br />POINT<br />Keep<br />Try<br />業務<br />Problem<br />業務<br />業務<br />業務<br />2010/7/29<br />
  40. 40. 事例3<br />自動車関連技術の研究所<br />40<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  41. 41. 事例概要<br />業種:自動車関連技術の研究開発<br />従業員数:不明(大人数)<br />課題:今後の複雑化・巨大化へ対応<br />対象:ソフトウェア開発部門の選抜メンバー<br />実施内容:<br />オブジェクト指向、UMLなどのセミナーを実施<br />約4ヵ月間<br />アフレルと共同で提案、実施<br />41<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  42. 42. 経緯<br />42<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />複雑化・巨大化への対策を図りたい<br />原要求<br />複雑化には抽象度向上で対応<br />対策<br />巨大化には保守性向上で対応<br />対策<br />保守性向上にはオブジェクト指向を<br />要素技術<br />抽象化にはモデリング技術を<br />要素技術<br />オブジェクト指向分析・設計を理解したい<br />要求<br />2010/7/29<br />
  43. 43. 課題の所在<br />43<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />・変更容易性<br />・品質の担保<br />製品<br />・顧客との協働<br />・繰り返し<br />・非属人性<br />・自主性<br />・正直さ<br />・敬意をはらう<br />活動<br />態度<br />2010/7/29<br />
  44. 44. カリキュラム概要<br />44<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  45. 45. 45<br />(C)2007 Eiwa System Management, Inc.<br />セミナー使用品<br />演習用実機<br />レゴマインドストーム<br />テキスト<br />実践組込み開発<br />補助テキスト<br />参考テキスト(市販本)<br />オブジェクトデザイン<br />UMLモデリングのエッセンス<br />UMTP試験対策<br />UMLエディター<br />astah* professional<br />
  46. 46. まとめ<br />46<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />
  47. 47. まとめ<br />アジャイル開発の概要を紹介しました<br />アジャイルに仕事を進めるための、3つの事例を紹介しました<br />アジャイル開発<br />チームファシリテーション<br />オブジェクト指向、UML<br />47<br />Copyright (c) 2002-2010 Eiwa System Management, Inc.<br />2010/7/29<br />

×