アジャイル開を支える開発環境



                                株式会社永和システムマネジメント
                                 コンサルティングセンター
                                          センター長 天野勝
                                  http://sec.tky.esm.co.jp/

2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.   1
本日のお話
           アジャイル開発が一般に普及し、多くのソフトウェア
            開発に採用されるようになってきました。しかし、す
            べてのプロジェクトでそのメリットを享受できている
            わけではないのも事実です。
           その理由として、様々なムダによって、人々が価値
            を生み出すことに費やすべき時間が圧迫されている
            のが原因と考えます。
           本日は、アジャイル開発の概要と、価値を生み出す
            時間を増やすツールをご紹介します。


2011/4/18        Copyright (c) 2002-2011 Eiwa System Management, Inc.   2
スピーカー紹介
           天野 勝(あまの まさる)
               (株)永和システムマネジメント コンサルティングセンター センター長
               オブジェクト指向、アジャイル開発、開発現場の活性化をテーマに、
                ファシリテーションを活用したコンサルティング、セミナーに従事。
               2002年にKent BeckからTDDを教わる
               オブラブ、アジャイルプロセス協議会、日本XPユーザグループ、日本
                ソフトウェアテストシンポジウムなど、ソフトウェアコミュニティに積極的
                に参加
               著書:『eXtreme Programmingテスト技法』『正しく学ぶソフトウエア設
                計』
               訳書:『リーン開発の本質』『アジャイルソフトウェア開発スクラム』




2011/4/18               Copyright (c) 2002-2011 Eiwa System Management, Inc.   3
会社紹介
           株式会社 永和システムマネジメント
               本社は福井県福井市
               1980年創業、
                2002年東京事務所開設                                                福井県福井市
               金融、医療、オブジェクト指向
                を使ったシステム開発
               コミュニティ活動や、
                書籍の執筆・翻訳に積極的




2011/4/18            Copyright (c) 2002-2011 Eiwa System Management, Inc.        4
コンサルティングセンターの活動




                                                                   ●アジャイル開発
                                                                   ●ソフトウェア開発現場カイゼン
                                                                   ●チームファシリテーション
                                                                   ●業務分析・設計モデリング
                                                                   ●開発技術



                                                                       http://sec.tky.esm.co.jp/

POINT 「ムダ取り」と「持続性」が二本柱
2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.                            5
目次
           アジャイル開発を必要とする背景
           アジャイル開発の概要
           アジャイル開発を支えるツール
           おわりに
           参考資料




2011/4/18        Copyright (c) 2002-2011 Eiwa System Management, Inc.   6
アジャイル開発を必要とする背景




2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.   7
ビジネスのサイクル

            市                                  ニーズ
            場

                獲得                                                          提供
                                                        ¥

            供
            給           要求                                             商品
            者

                                                  開発




POINT ニーズに合う商品を提供するのがビジネスの大前提
2011/4/18       Copyright (c) 2002-2011 Eiwa System Management, Inc.             8
ニーズに合う商品を提供するために

            市                                                                           市
            場   獲得        要求                   開発                     商品         提供     場




            市                                                                市
            場   獲得   要求       開発               商品            提供              場   時間短縮

                                                                             ニーズが変わる前に
                                                                               素早く提供


POINT ニーズの獲得から商品提供を素早く行う仕組みが必要
2011/4/18             Copyright (c) 2002-2011 Eiwa System Management, Inc.               9
商品提供を素早くするには(ソフトウェアの場合)
                                                                          ムダを
                                            プロセス                         排除する


             要求
                                                                             新たな
                                               開発
                                                                            ソフトウェア
             既存の
            ソフトウェア
                                                                                修正しやすく
                                                                                  作る

               チームとして                     開発チーム
                成長する



POINT 小さく作って大きく育てる開発プロセスを採用する
2011/4/18         Copyright (c) 2002-2011 Eiwa System Management, Inc.                   10
ムダの定義


顧客視点          顧客にとって                                       顧客にとって
             価値のある部分                                      価値のない部分


              付加価値                        顧客のムダ                        組織のムダ


組織視点                                                                    組織にとって
               組織にとって必要な部分
                                                                       必要のない部分

                                                    出典:『職場の「かんばん方式」トヨタ流改善術ストア管理』

POINT 付加価値を生む作業以外は、すべてがムダ
 2011/4/18      Copyright (c) 2002-2011 Eiwa System Management, Inc.        11
ムダ取り改善による生産性の向上

            付加価値                         顧客のムダ                           組織のムダ

             3h                                   3h                       2h

              2倍!
                     付加価値                                                顧客のムダ

                            6h                                             2h
POINT 能力は同じでも、ムダが取れれば生産性は向上する
2011/4/18         Copyright (c) 2002-2011 Eiwa System Management, Inc.           12
ムダを排除するために

                                     承認と
                                                          技術                    コーディング     検査へ 検査と 運用担当へ 配備
                  要求     待ち行列に      優先順位 待ち行列に                    待ち行列に
                                                                                とテスト                                  効率
                         フォームを入れる    づけ  フォームを入れる         評価      フォームを入れる                        修正
                                                                                                                      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/4/18                           Copyright (c) 2002-2011 Eiwa System Management, Inc.                              13
修正しやすく作るために
                                       (2)方針を決めて、具体化
                                           する。問題を解く
  整理された問題                                                                                      解決へ向けた具体策
                                 【問題領域】 【解領域】

             分析モデル                           設計                      設計モデル
                                             Validation
                  Verification




                                                                           Verification

                                                                                          実装
(1)問題を見つめて                                                                                       【モデル領域】
             分析




整理する。
  問題のモデル化                                                                                         【現実領域】
                                                                                               (3)具体策に基づいてモデ
                                              Validation                                       ルを現実化する

              要求                                                      ソフトウェア
                                                 テスト

   解くべき問題                                                                                      現実化された具体策
                                   (4)現実化された解で問題が解決
                                       されているかを確認する


POINT 抽象度の高いモデルを活用して、保守性を高める
 2011/4/18                  Copyright (c) 2002-2011 Eiwa System Management, Inc.                        14
納品後のソフトウェアの機能の利用度

                Sometimes                                                          Rarely
                   16%                                                              19%
                                                                  ほとんど
                         ときどき利用する                                                     余分な機能のムダ
                                                                 利用しない
                    よく利用する

            Often         いつも                                       全く利用しない
            13%          利用する
                Always
                  7%                                                                        Never
                                                                                             45%


                                        Standish Group Study Reported in 2000 Chaos Report.

POINT 利用される機能は全体の1/3、良く利用されるのは1/5
2011/4/18                   Copyright (c) 2002-2011 Eiwa System Management, Inc.                    15
なぜ作りすぎのムダが発生するのか?
           変更コストカーブの前提がムダを生む
               もし変更コストカーブを平坦にできたとしたら?
               平坦にするためにはなにをする?


            変更                                                 変更
            コスト                                                コスト




                                      時間                                                   時間
                   Boehm 1981                                                  Beck 2000




POINT 変更コストカーブが平坦ならば、後で修正しても損しない
2011/4/18               Copyright (c) 2002-2011 Eiwa System Management, Inc.                16
アジャイル開発の概要




2011/4/18     Copyright (c) 2002-2011 Eiwa System Management, Inc.   17
「アジャイル開発」とは
           不確実なビジネス環境の中で、価値あるソフトウェア
            を作る手法の総称
               特定のリスクへの対応策である
               短い期間で区切りながら開発を進め、その時点の状況に
                合わせて進め方を改善していく
                   変化を受け入れる
                   タイムボックス
                   自己改善型プロセス(メタプロセス)
           特定の開発手法にこだわらない
               特定の開発手法をヒントとして、自分たちの開発手法に取
                り入れる
               特定の開発手法は、各提唱者の成功事例にすぎない

2011/4/18                Copyright (c) 2002-2011 Eiwa System Management, Inc.   18
アジャイル開発には多くの手法がある
                        プロダクト重視

                                                                    XP
                                                   DSDM                  アジャイル開発に
                                                                    AM   分類されるプロセス
                       軽量                     FDD
                       UP
  人の関わり方                                                                 人の関わり方
  (パッシブ)                                                                  (アクティブ)
             RUP                                     リーン


                                                                   ASD
            WF                                     スクラム
                                                                   APM
                                                                         ©アジャイルプロセス協議会
                                                                         アジャイルプロジェクトマネジメントWG
                       マネジメント重視

POINT 提唱者それぞれの成功事例や視点のバリエーション
2011/4/18        Copyright (c) 2002-2011 Eiwa System Management, Inc.                   19
アジャイルソフトウェア開発宣言
                                                                   軽量級と呼ばれていたソフト
                                                                   ウェア開発手法の提唱者に
                                                                   より、各手法の共通点をまと
                                                                   めたもの
                                                                   (2001年2月)


                                                              プロセスやツールに
                                                            ふりまわされるのではなく、
                                                              ツールを活用して、
                                                             創造性を発揮することに
                                                               リソースを費やす




                                                                    http://agilemanifesto.org/iso/ja/
2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.                                  20
代表的なアジャイル開発手法
                                   Kent Beckらが提唱している手法。
                 XP                「変化ヲ抱擁セヨ」をスローガンとして、ソフトウェア開発
            Extreme                技術のベストプラクティスのいくつかを極端に実施するこ
                Programming        とで、ソフトウェア開発のリスク回避を実現している。


                                   Ken Schwaber、Jeff Sutherlandらが提唱している手法。
            スクラム                   ソフトウェア開発のマネジメントにフォーカスをあて、チー
                                   ムを自律的に動かすための場作りの仕掛け(フレーム
                Scrum
                                   ワーク)を提供している。


                                   Mary Poppendiekらが提唱している手法。
              リーン                  トヨタ生産方式をお手本して、ソフトウェア開発を成功さ
            Lean Software          せるための原則集。この原則をもとに、具体的なプラク
               Development         ティスを生み出す。第一原則は「ムダの排除」。


2011/4/18                     Copyright (c) 2002-2011 Eiwa System Management, Inc.   21
アジャイル開発の登場人物

                                                 要求
              顧客                                                           開発者


            仕様や予算の決定                    成果物                               仕様をもとに開発を
            権を持った人達。                                                      する人達。



                                              支援


                                          管理者
               マネージャや経営層。



2011/4/18          Copyright (c) 2002-2011 Eiwa System Management, Inc.               22
短いサイクルで、
      分析、設計、実装、テストを並列に行う

                Waterfall                                                      アジャイル
                     要求(スコープ)                                                     要求(スコープ)

                  計画

                  分析

                  設計

                  実装

                 テスト
            時                                                      時
            間                                                      間
                        Royce 1970                                                  Beck 2000

2011/4/18               Copyright (c) 2002-2011 Eiwa System Management, Inc.                    23
イテレーションで開発する
                  イテレーション                                 イテレーション                      イテレーションは
                                                                                        タイムボックス
                                  ふ  早期の失敗は                                        ふ
            計                     り  次の糧となる
                                     計                                             り
                   開発実施           か      開発実施                                      か    ・・・
            画                     え  画                                             え
            P         D           り
                                 C A                                               り


                          イテレーション                                                 イテレーション
                                                         ふ                                    ふ
                  計                                      り    計                               り
            ・・・           開発実施                           か        開発実施                        か
                  画                                      え    画                               え
                                                リ
                                                リ        り リリースする                             り
                                                ー          場合もあり
                                                ス


POINT イテレーション毎に動作可能なソフトウェアを開発する
2011/4/18                  Copyright (c) 2002-2011 Eiwa System Management, Inc.                   24
タイムボックス

                                箱を満たすまで                                  見積りやすい範囲で
                                仕事を入れる                                      見積る
                 仕事


                 仕事
                                                       仕事
                                                                         仕事
            仕事                                          仕事
                 仕事
                                                    仕事              仕事

            仕事   仕事
                              想定しやすい範囲を
                               単位時間にする


POINT 時間の箱を満たすように計画、時間になるまで実行する
2011/4/18         Copyright (c) 2002-2011 Eiwa System Management, Inc.               25
イテレーションの計画
            バッグログ                            タスクリスト
 優先順位が                                                                    計画は
             要求                             タスク タスク
メンテされている                                                                設計活動でもある
             要求                             タスク            タスク
             要求
             要求                                                       イテレーションで受入れ
                                                                        可能な分だけ
             要求
             要求
                                  優先順位の高い要求から
             要求                    タスクに分けて見積る
       要求


イテレーション中も
新たな要求を追加可


POINT 必要な分だけ詳細化して、計画をする
2011/4/18      Copyright (c) 2002-2011 Eiwa System Management, Inc.             26
朝会(ディリーミーティング)
           その日の行動を確認
               昨日やったこと、
                今日やること、
                問題点の3点のみ報告
               VMボード、タスクボードなど
                の前で行なう
               全員参加                                                            朝会の例

               スタンドアップで15分以内で実施
               問題点の検討は2次会で人を絞っ
                て実施
                                                                       PF実践編:朝会ガイド
                                                                       http://ObjectClub.jp/community/pf/

POINT 毎日定時に、タスクボードの前で、全員で短い会議
2011/4/18           Copyright (c) 2002-2011 Eiwa System Management, Inc.                             27
タスクの実施 (プログラミング)
        1          2                                      3              4
                   テストに沿った                                               テストが通る
        テストコードを                                          テスト失敗を
                   製品コードを                                                最小コードを
        書く                                               確認する
                   書く                                                    記述する



                                                   8


                   7                                      6              5

                  テストが通ること                               不吉な匂いは          テストが通ること
                  を確認する                                  リファクタリング        を確認する



POINT テストしながら開発を行う (TDD:テスト駆動開発)
 2011/4/18        Copyright (c) 2002-2011 Eiwa System Management, Inc.        28
プログラミングのプロセス
                                                               センターリポジトリが
            チケットを                                              更新されたときに、
             確認
                                                               自動でテストコードが
                                                                 実行される。


                                                                  ブランチを         センターの
                    ワークツリーを            ブランチで
      ブランチを作成                                                     masterに        trunkに
                    ブランチに切替           プログラミング
                                                                   反映              反映




                   コードを修正したら、
                ローカルリポジトリに適宜コミット。                                               チケットを
                                                                                クローズ
                   高頻度にコミットする。
                  例)テストがパスする毎。



2011/4/18                Copyright (c) 2002-2011 Eiwa System Management, Inc.             29
イテレーションの終了

                  プログラミング

                  ユニットテスト
                                                                             ふりかえり
            ・・・      受入テスト


                                                                         何を学んだかを確認し
                                                                           次につなげる
                  計画した作業が残っていても、
                   時間になったら終了する




POINT ふりかえりの良しあしがチームの成長に影響する
2011/4/18             Copyright (c) 2002-2011 Eiwa System Management, Inc.            30
アジャイル開発の成果物
                                             プロセス
            プロセス                                                          より良いプロセス

                                           アジャイル
            ニーズ                             開発                             ソフトウェア




             チーム                                                          より良いチーム

                                                チーム                     チーム自らが
                                                                      自分たちを高めていく


POINT 正しいプロセスであっても、それを使うのは人
2011/4/18          Copyright (c) 2002-2011 Eiwa System Management, Inc.             31
アジャイル開発を支えるツール




2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.   32
ツール [1/2]
      カテゴリ                                          ツール
      ・UML                                          ・astah*
      ・エディタ/IDE                                     ・vim
                                                    ・emacs
                                                    ・eclipse
      ・テスティングフレームワーク                                ・JUnit
                                                    ・RSpec
                                                    ・Cucumber
      ・負荷テストツール                                     ・JMeter
      ・構成管理                                         ・Subversion
                                                    ・Git
                                                    ・Mercurial
      ・CI                                           ・Bamboo
                                                    ・Jenkins
                                                    ・CruiseControl
                                                    ・Maven
2011/4/18         Copyright (c) 2002-2011 Eiwa System Management, Inc.   33
ツール [2/2]
      カテゴリ                                          ツール
      ・プロジェクト管理                                     ・Being Management 2
                                                    ・TRICHORD
      ・チケット管理                                       ・JIRA/GreenHopper
                                                    ・Trac
                                                    ・Redmine
                                                    ・PivotalTracker
      ・情報共有                                         ・Confluence
      ・コードレビュー                                      ・Fisheye/Crucible
      ・メトリクス                                        ・Clover
      ・デプロイ                                         ・Capistrano




2011/4/18         Copyright (c) 2002-2011 Eiwa System Management, Inc.    34
おわりに




2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.   35
アジャイル開発の前提

            ・ニーズとの適合性
            ・変更容易性
            ・品質の担保



      ・自主性                                                             ・顧客との協働
      ・正直さ
                                   製品                                  ・繰り返し
      ・敬意をはらう                                                          ・非属人性


                      態度                         活動

2011/4/18       Copyright (c) 2002-2011 Eiwa System Management, Inc.             36
ふりかえり
           アジャイル開発を必要とする背景
               ニーズに対して、素早く商品を届ける
               変更コストカーブを平坦にするには
               開発中のムダを取り除く
           アジャイル開発の概要
               タイムボックスでイテレーション開発
               ソフトウェアだけではなく、プロセス、チームも開発する
           アジャイル開発を支える開発環境
               アジャイル開発で使われるポピュラーなツールを紹介



2011/4/18            Copyright (c) 2002-2011 Eiwa System Management, Inc.   37
参考資料




2011/4/18   Copyright (c) 2002-2011 Eiwa System Management, Inc.   38
情報源
           書籍
               リーン開発の本質
                著:メアリー・ポッペンディーク、トム・ポッペンディーク、
                訳:高嶋 優子、天野 勝、監訳:平鍋 健児
               アジャイルプロジェクトマネジメント
                著:ジム・ハイスミス
                訳:平鍋 健児、高嶋 優子、小野 剛
               アジャイルソフトウェア開発
                著:アリスター・コーバーン、訳:株式会社テクノロジックアート
               アジャイルソフトウェア開発スクラム
                著:ケン シュエイバー、マイク ビードル
                訳:テクノロジックアート、長瀬 嘉秀、今野 睦、
                スクラムエバンジェリストグループ
               アジャイルレトロスペクティブズ
                著:Esther Derby、Diana Larsen 、訳:角 征典


2011/4/18                  Copyright (c) 2002-2011 Eiwa System Management, Inc.   39
情報源
           Web
               プロジェクトファシリテーション
                「朝会ガイド」「ふりかえりガイド」
                http://ObjectClub.jp/community/pf/
               永和システムマネジメント コンサルティングセンターページ
                チームファシリテーション
                http://sec.tky.esm.co.jp/categories/tf/




2011/4/18                 Copyright (c) 2002-2011 Eiwa System Management, Inc.   40
お問い合わせ
           本資料に関するお問い合わせは下記までお願いし
            ます。
                   sales@esm.co.jp
                   twitter @esmsec

             株式会社永和システムマネジメント
                    コンサルティングセンター
                http://sec.tky.esm.co.jp/



2011/4/18          Copyright (c) 2002-2011 Eiwa System Management, Inc.   41

アジャイル開発を支える開発環境 公開用

  • 1.
    アジャイル開を支える開発環境 株式会社永和システムマネジメント コンサルティングセンター センター長 天野勝 http://sec.tky.esm.co.jp/ 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 1
  • 2.
    本日のお話  アジャイル開発が一般に普及し、多くのソフトウェア 開発に採用されるようになってきました。しかし、す べてのプロジェクトでそのメリットを享受できている わけではないのも事実です。  その理由として、様々なムダによって、人々が価値 を生み出すことに費やすべき時間が圧迫されている のが原因と考えます。  本日は、アジャイル開発の概要と、価値を生み出す 時間を増やすツールをご紹介します。 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 2
  • 3.
    スピーカー紹介  天野 勝(あまの まさる)  (株)永和システムマネジメント コンサルティングセンター センター長  オブジェクト指向、アジャイル開発、開発現場の活性化をテーマに、 ファシリテーションを活用したコンサルティング、セミナーに従事。  2002年にKent BeckからTDDを教わる  オブラブ、アジャイルプロセス協議会、日本XPユーザグループ、日本 ソフトウェアテストシンポジウムなど、ソフトウェアコミュニティに積極的 に参加  著書:『eXtreme Programmingテスト技法』『正しく学ぶソフトウエア設 計』  訳書:『リーン開発の本質』『アジャイルソフトウェア開発スクラム』 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 3
  • 4.
    会社紹介  株式会社 永和システムマネジメント  本社は福井県福井市  1980年創業、 2002年東京事務所開設 福井県福井市  金融、医療、オブジェクト指向 を使ったシステム開発  コミュニティ活動や、 書籍の執筆・翻訳に積極的 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 4
  • 5.
    コンサルティングセンターの活動 ●アジャイル開発 ●ソフトウェア開発現場カイゼン ●チームファシリテーション ●業務分析・設計モデリング ●開発技術 http://sec.tky.esm.co.jp/ POINT 「ムダ取り」と「持続性」が二本柱 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 5
  • 6.
    目次  アジャイル開発を必要とする背景  アジャイル開発の概要  アジャイル開発を支えるツール  おわりに  参考資料 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 6
  • 7.
    アジャイル開発を必要とする背景 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 7
  • 8.
    ビジネスのサイクル 市 ニーズ 場 獲得 提供 ¥ 供 給 要求 商品 者 開発 POINT ニーズに合う商品を提供するのがビジネスの大前提 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 8
  • 9.
    ニーズに合う商品を提供するために 市 市 場 獲得 要求 開発 商品 提供 場 市 市 場 獲得 要求 開発 商品 提供 場 時間短縮 ニーズが変わる前に 素早く提供 POINT ニーズの獲得から商品提供を素早く行う仕組みが必要 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 9
  • 10.
    商品提供を素早くするには(ソフトウェアの場合) ムダを プロセス 排除する 要求 新たな 開発 ソフトウェア 既存の ソフトウェア 修正しやすく 作る チームとして 開発チーム 成長する POINT 小さく作って大きく育てる開発プロセスを採用する 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 10
  • 11.
    ムダの定義 顧客視点 顧客にとって 顧客にとって 価値のある部分 価値のない部分 付加価値 顧客のムダ 組織のムダ 組織視点 組織にとって 組織にとって必要な部分 必要のない部分 出典:『職場の「かんばん方式」トヨタ流改善術ストア管理』 POINT 付加価値を生む作業以外は、すべてがムダ 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 11
  • 12.
    ムダ取り改善による生産性の向上 付加価値 顧客のムダ 組織のムダ 3h 3h 2h 2倍! 付加価値 顧客のムダ 6h 2h POINT 能力は同じでも、ムダが取れれば生産性は向上する 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 12
  • 13.
    ムダを排除するために 承認と 技術 コーディング 検査へ 検査と 運用担当へ 配備 要求 待ち行列に 優先順位 待ち行列に 待ち行列に とテスト 効率 フォームを入れる づけ フォームを入れる 評価 フォームを入れる 修正 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/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 13
  • 14.
    修正しやすく作るために (2)方針を決めて、具体化 する。問題を解く 整理された問題 解決へ向けた具体策 【問題領域】 【解領域】 分析モデル 設計 設計モデル Validation Verification Verification 実装 (1)問題を見つめて 【モデル領域】 分析 整理する。 問題のモデル化 【現実領域】 (3)具体策に基づいてモデ Validation ルを現実化する 要求 ソフトウェア テスト 解くべき問題 現実化された具体策 (4)現実化された解で問題が解決 されているかを確認する POINT 抽象度の高いモデルを活用して、保守性を高める 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 14
  • 15.
    納品後のソフトウェアの機能の利用度 Sometimes Rarely 16% 19% ほとんど ときどき利用する 余分な機能のムダ 利用しない よく利用する Often いつも 全く利用しない 13% 利用する Always 7% Never 45% Standish Group Study Reported in 2000 Chaos Report. POINT 利用される機能は全体の1/3、良く利用されるのは1/5 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 15
  • 16.
    なぜ作りすぎのムダが発生するのか?  変更コストカーブの前提がムダを生む  もし変更コストカーブを平坦にできたとしたら?  平坦にするためにはなにをする? 変更 変更 コスト コスト 時間 時間 Boehm 1981 Beck 2000 POINT 変更コストカーブが平坦ならば、後で修正しても損しない 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 16
  • 17.
    アジャイル開発の概要 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 17
  • 18.
    「アジャイル開発」とは  不確実なビジネス環境の中で、価値あるソフトウェア を作る手法の総称  特定のリスクへの対応策である  短い期間で区切りながら開発を進め、その時点の状況に 合わせて進め方を改善していく  変化を受け入れる  タイムボックス  自己改善型プロセス(メタプロセス)  特定の開発手法にこだわらない  特定の開発手法をヒントとして、自分たちの開発手法に取 り入れる  特定の開発手法は、各提唱者の成功事例にすぎない 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 18
  • 19.
    アジャイル開発には多くの手法がある プロダクト重視 XP DSDM アジャイル開発に AM 分類されるプロセス 軽量 FDD UP 人の関わり方 人の関わり方 (パッシブ) (アクティブ) RUP リーン ASD WF スクラム APM ©アジャイルプロセス協議会 アジャイルプロジェクトマネジメントWG マネジメント重視 POINT 提唱者それぞれの成功事例や視点のバリエーション 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 19
  • 20.
    アジャイルソフトウェア開発宣言 軽量級と呼ばれていたソフト ウェア開発手法の提唱者に より、各手法の共通点をまと めたもの (2001年2月) プロセスやツールに ふりまわされるのではなく、 ツールを活用して、 創造性を発揮することに リソースを費やす http://agilemanifesto.org/iso/ja/ 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 20
  • 21.
    代表的なアジャイル開発手法 Kent Beckらが提唱している手法。 XP 「変化ヲ抱擁セヨ」をスローガンとして、ソフトウェア開発 Extreme 技術のベストプラクティスのいくつかを極端に実施するこ Programming とで、ソフトウェア開発のリスク回避を実現している。 Ken Schwaber、Jeff Sutherlandらが提唱している手法。 スクラム ソフトウェア開発のマネジメントにフォーカスをあて、チー ムを自律的に動かすための場作りの仕掛け(フレーム Scrum ワーク)を提供している。 Mary Poppendiekらが提唱している手法。 リーン トヨタ生産方式をお手本して、ソフトウェア開発を成功さ Lean Software せるための原則集。この原則をもとに、具体的なプラク Development ティスを生み出す。第一原則は「ムダの排除」。 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 21
  • 22.
    アジャイル開発の登場人物 要求 顧客 開発者 仕様や予算の決定 成果物 仕様をもとに開発を 権を持った人達。 する人達。 支援 管理者 マネージャや経営層。 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 22
  • 23.
    短いサイクルで、 分析、設計、実装、テストを並列に行う Waterfall アジャイル 要求(スコープ) 要求(スコープ) 計画 分析 設計 実装 テスト 時 時 間 間 Royce 1970 Beck 2000 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 23
  • 24.
    イテレーションで開発する イテレーション イテレーション イテレーションは タイムボックス ふ 早期の失敗は ふ 計 り 次の糧となる 計 り 開発実施 か 開発実施 か ・・・ 画 え 画 え P D り C A り イテレーション イテレーション ふ ふ 計 り 計 り ・・・ 開発実施 か 開発実施 か 画 え 画 え リ リ り リリースする り ー 場合もあり ス POINT イテレーション毎に動作可能なソフトウェアを開発する 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 24
  • 25.
    タイムボックス 箱を満たすまで 見積りやすい範囲で 仕事を入れる 見積る 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 仕事 想定しやすい範囲を 単位時間にする POINT 時間の箱を満たすように計画、時間になるまで実行する 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 25
  • 26.
    イテレーションの計画 バッグログ タスクリスト 優先順位が 計画は 要求 タスク タスク メンテされている 設計活動でもある 要求 タスク タスク 要求 要求 イテレーションで受入れ 可能な分だけ 要求 要求 優先順位の高い要求から 要求 タスクに分けて見積る 要求 イテレーション中も 新たな要求を追加可 POINT 必要な分だけ詳細化して、計画をする 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 26
  • 27.
    朝会(ディリーミーティング)  その日の行動を確認  昨日やったこと、 今日やること、 問題点の3点のみ報告  VMボード、タスクボードなど の前で行なう  全員参加 朝会の例  スタンドアップで15分以内で実施  問題点の検討は2次会で人を絞っ て実施 PF実践編:朝会ガイド http://ObjectClub.jp/community/pf/ POINT 毎日定時に、タスクボードの前で、全員で短い会議 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 27
  • 28.
    タスクの実施 (プログラミング) 1 2 3 4 テストに沿った テストが通る テストコードを テスト失敗を 製品コードを 最小コードを 書く 確認する 書く 記述する 8 7 6 5 テストが通ること 不吉な匂いは テストが通ること を確認する リファクタリング を確認する POINT テストしながら開発を行う (TDD:テスト駆動開発) 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 28
  • 29.
    プログラミングのプロセス センターリポジトリが チケットを 更新されたときに、 確認 自動でテストコードが 実行される。 ブランチを センターの ワークツリーを ブランチで ブランチを作成 masterに trunkに ブランチに切替 プログラミング 反映 反映 コードを修正したら、 ローカルリポジトリに適宜コミット。 チケットを クローズ 高頻度にコミットする。 例)テストがパスする毎。 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 29
  • 30.
    イテレーションの終了 プログラミング ユニットテスト ふりかえり ・・・ 受入テスト 何を学んだかを確認し 次につなげる 計画した作業が残っていても、 時間になったら終了する POINT ふりかえりの良しあしがチームの成長に影響する 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 30
  • 31.
    アジャイル開発の成果物 プロセス プロセス より良いプロセス アジャイル ニーズ 開発 ソフトウェア チーム より良いチーム チーム チーム自らが 自分たちを高めていく POINT 正しいプロセスであっても、それを使うのは人 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 31
  • 32.
    アジャイル開発を支えるツール 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 32
  • 33.
    ツール [1/2] カテゴリ ツール ・UML ・astah* ・エディタ/IDE ・vim ・emacs ・eclipse ・テスティングフレームワーク ・JUnit ・RSpec ・Cucumber ・負荷テストツール ・JMeter ・構成管理 ・Subversion ・Git ・Mercurial ・CI ・Bamboo ・Jenkins ・CruiseControl ・Maven 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 33
  • 34.
    ツール [2/2] カテゴリ ツール ・プロジェクト管理 ・Being Management 2 ・TRICHORD ・チケット管理 ・JIRA/GreenHopper ・Trac ・Redmine ・PivotalTracker ・情報共有 ・Confluence ・コードレビュー ・Fisheye/Crucible ・メトリクス ・Clover ・デプロイ ・Capistrano 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 34
  • 35.
    おわりに 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 35
  • 36.
    アジャイル開発の前提 ・ニーズとの適合性 ・変更容易性 ・品質の担保 ・自主性 ・顧客との協働 ・正直さ 製品 ・繰り返し ・敬意をはらう ・非属人性 態度 活動 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 36
  • 37.
    ふりかえり  アジャイル開発を必要とする背景  ニーズに対して、素早く商品を届ける  変更コストカーブを平坦にするには  開発中のムダを取り除く  アジャイル開発の概要  タイムボックスでイテレーション開発  ソフトウェアだけではなく、プロセス、チームも開発する  アジャイル開発を支える開発環境  アジャイル開発で使われるポピュラーなツールを紹介 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 37
  • 38.
    参考資料 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 38
  • 39.
    情報源  書籍  リーン開発の本質 著:メアリー・ポッペンディーク、トム・ポッペンディーク、 訳:高嶋 優子、天野 勝、監訳:平鍋 健児  アジャイルプロジェクトマネジメント 著:ジム・ハイスミス 訳:平鍋 健児、高嶋 優子、小野 剛  アジャイルソフトウェア開発 著:アリスター・コーバーン、訳:株式会社テクノロジックアート  アジャイルソフトウェア開発スクラム 著:ケン シュエイバー、マイク ビードル 訳:テクノロジックアート、長瀬 嘉秀、今野 睦、 スクラムエバンジェリストグループ  アジャイルレトロスペクティブズ 著:Esther Derby、Diana Larsen 、訳:角 征典 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 39
  • 40.
    情報源  Web  プロジェクトファシリテーション 「朝会ガイド」「ふりかえりガイド」 http://ObjectClub.jp/community/pf/  永和システムマネジメント コンサルティングセンターページ チームファシリテーション http://sec.tky.esm.co.jp/categories/tf/ 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 40
  • 41.
    お問い合わせ  本資料に関するお問い合わせは下記までお願いし ます。 sales@esm.co.jp twitter @esmsec 株式会社永和システムマネジメント コンサルティングセンター http://sec.tky.esm.co.jp/ 2011/4/18 Copyright (c) 2002-2011 Eiwa System Management, Inc. 41