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

Weitere ähnliche Inhalte

Mehr von ESM SEC

製品の質と、仕事の質を向上させるふりかえりの活用
製品の質と、仕事の質を向上させるふりかえりの活用製品の質と、仕事の質を向上させるふりかえりの活用
製品の質と、仕事の質を向上させるふりかえりの活用ESM SEC
 
ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案
ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案
ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案ESM SEC
 
ふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場です
ふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場ですふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場です
ふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場ですESM SEC
 
KPTとKPTA
KPTとKPTAKPTとKPTA
KPTとKPTAESM SEC
 
けぷ人とけぷ太
けぷ人とけぷ太けぷ人とけぷ太
けぷ人とけぷ太ESM SEC
 
「システムメタファ」再考 公開用
「システムメタファ」再考 公開用「システムメタファ」再考 公開用
「システムメタファ」再考 公開用ESM SEC
 
アジャイル開発の事例と動向 公開用
アジャイル開発の事例と動向 公開用アジャイル開発の事例と動向 公開用
アジャイル開発の事例と動向 公開用ESM SEC
 
「失敗事例から学ぶアジャイル開発」研修の紹介
「失敗事例から学ぶアジャイル開発」研修の紹介「失敗事例から学ぶアジャイル開発」研修の紹介
「失敗事例から学ぶアジャイル開発」研修の紹介ESM SEC
 
XunitとMoq 公開用
XunitとMoq 公開用XunitとMoq 公開用
XunitとMoq 公開用ESM SEC
 
「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用ESM SEC
 
KPTAふりかえり体験研修のご紹介
KPTAふりかえり体験研修のご紹介KPTAふりかえり体験研修のご紹介
KPTAふりかえり体験研修のご紹介ESM SEC
 
ESMのアジャイル開発
ESMのアジャイル開発ESMのアジャイル開発
ESMのアジャイル開発ESM SEC
 
ゼロから始めるプロダクト開発
ゼロから始めるプロダクト開発ゼロから始めるプロダクト開発
ゼロから始めるプロダクト開発ESM SEC
 
アジャイル開発をよりアジャイルに
アジャイル開発をよりアジャイルにアジャイル開発をよりアジャイルに
アジャイル開発をよりアジャイルにESM SEC
 
ふりかえりで学んだこと ベスト10
ふりかえりで学んだこと ベスト10ふりかえりで学んだこと ベスト10
ふりかえりで学んだこと ベスト10ESM SEC
 
「アジャイルコーチの7つ道具」の使い方
「アジャイルコーチの7つ道具」の使い方「アジャイルコーチの7つ道具」の使い方
「アジャイルコーチの7つ道具」の使い方ESM SEC
 
俺たちのKPTA
俺たちのKPTA俺たちのKPTA
俺たちのKPTAESM SEC
 
ワークショップ 明日からはじめるアジャイル
ワークショップ 明日からはじめるアジャイルワークショップ 明日からはじめるアジャイル
ワークショップ 明日からはじめるアジャイルESM SEC
 
アジャイル開発の基礎知識 抜粋版
アジャイル開発の基礎知識 抜粋版アジャイル開発の基礎知識 抜粋版
アジャイル開発の基礎知識 抜粋版ESM SEC
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門ESM SEC
 

Mehr von ESM SEC (20)

製品の質と、仕事の質を向上させるふりかえりの活用
製品の質と、仕事の質を向上させるふりかえりの活用製品の質と、仕事の質を向上させるふりかえりの活用
製品の質と、仕事の質を向上させるふりかえりの活用
 
ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案
ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案
ふりかえり支援ツールを用いたリモートふりかえり会のファシリテーション方法の提案
 
ふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場です
ふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場ですふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場です
ふりかえり会は懺悔の場でも責任追及の場でもありません、過去の学びを活かして幸福な未来を作る行動を生み出す場です
 
KPTとKPTA
KPTとKPTAKPTとKPTA
KPTとKPTA
 
けぷ人とけぷ太
けぷ人とけぷ太けぷ人とけぷ太
けぷ人とけぷ太
 
「システムメタファ」再考 公開用
「システムメタファ」再考 公開用「システムメタファ」再考 公開用
「システムメタファ」再考 公開用
 
アジャイル開発の事例と動向 公開用
アジャイル開発の事例と動向 公開用アジャイル開発の事例と動向 公開用
アジャイル開発の事例と動向 公開用
 
「失敗事例から学ぶアジャイル開発」研修の紹介
「失敗事例から学ぶアジャイル開発」研修の紹介「失敗事例から学ぶアジャイル開発」研修の紹介
「失敗事例から学ぶアジャイル開発」研修の紹介
 
XunitとMoq 公開用
XunitとMoq 公開用XunitとMoq 公開用
XunitとMoq 公開用
 
「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用「Entity Framework Coreを使ってみる」 公開用
「Entity Framework Coreを使ってみる」 公開用
 
KPTAふりかえり体験研修のご紹介
KPTAふりかえり体験研修のご紹介KPTAふりかえり体験研修のご紹介
KPTAふりかえり体験研修のご紹介
 
ESMのアジャイル開発
ESMのアジャイル開発ESMのアジャイル開発
ESMのアジャイル開発
 
ゼロから始めるプロダクト開発
ゼロから始めるプロダクト開発ゼロから始めるプロダクト開発
ゼロから始めるプロダクト開発
 
アジャイル開発をよりアジャイルに
アジャイル開発をよりアジャイルにアジャイル開発をよりアジャイルに
アジャイル開発をよりアジャイルに
 
ふりかえりで学んだこと ベスト10
ふりかえりで学んだこと ベスト10ふりかえりで学んだこと ベスト10
ふりかえりで学んだこと ベスト10
 
「アジャイルコーチの7つ道具」の使い方
「アジャイルコーチの7つ道具」の使い方「アジャイルコーチの7つ道具」の使い方
「アジャイルコーチの7つ道具」の使い方
 
俺たちのKPTA
俺たちのKPTA俺たちのKPTA
俺たちのKPTA
 
ワークショップ 明日からはじめるアジャイル
ワークショップ 明日からはじめるアジャイルワークショップ 明日からはじめるアジャイル
ワークショップ 明日からはじめるアジャイル
 
アジャイル開発の基礎知識 抜粋版
アジャイル開発の基礎知識 抜粋版アジャイル開発の基礎知識 抜粋版
アジャイル開発の基礎知識 抜粋版
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門
 

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

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