SlideShare a Scribd company logo
忙しい方に贈るアジャイル開発の
開発環境構築のすゝめ
                    〜開発を加速化させる自動化のヒント〜




LDD’13 / Infra & Security      Masashi Kayahara
・Who are you?
・ソフトウェア開発プロセスとアジャイル
・アジャイル開発の開発環境
・最後に!




               Agenda
・Who are you?
・ソフトウェア開発プロセスとアジャイル
・アジャイル開発の開発環境
・最後に!




                Agenda
What's your name?




         茅原(かやはら)

                    Who are you ?
What are you doing?




自宅ではコンパイラの開発
自宅ではコンパイラの開発



                      本職もプログラマ
                      本職もプログラマ


                      Who are you ?
Twitter

          Twitterにも生息中
          Twitterにも生息中




            @show_rabbit
            @show_rabbit

             Who are you ?
・Who are you?
・ソフトウェア開発プロセスとアジャイル
・アジャイル開発の開発環境
・最後に!




               Agenda
ソフトウェア開発プロセスのおさらい
                         システム
                         システム
 要求仕様
 要求仕様                     テスト
                          テスト


   機能仕様
   機能仕様              結合テスト
                     結合テスト



        設計
        設計       単体テスト
                 単体テスト


             実装
             実装
          (コーディング)
          (コーディング)
                     ウォータフォール、スパイラル
                     ウォータフォール、スパイラル



  ソフトウェア開発プロセスとアジャイル①
ソフトウェア開発プロセス - アジャイル
 RUP
スクラム       改善
           改善           タスク
                        タスク
  XP    (リファクタ)
        (リファクタ)
リーン開発
 FDD




                  XP
           試験
           試験
                       実装・設計
                       実装・設計




        ソフトウェア開発プロセスとアジャイル②
XP(エクストリームプログラミング)

もしコードレビューが良いなら、常にレビューする
(ペアプロ)
もしテストが良いなら、常にテストする(単体テスト)

もし設計が良いなら、常に設計する(リファクタリング)

もし結合テストが良いなら、常に結合テストをする
(継続的インテグレーション)
もしアーキテクトが重要なら、常にアーキテクトを
定義する(メタファー)



  ソフトウェア開発プロセスとアジャイル③
・Who are you?
・ソフトウェア開発プロセスとアジャイル
・アジャイル開発の開発環境
・最後に!




               Agenda
アジャイル開発ツール(三種の神器)

            ソース管理ツール
            ソース管理ツール




      CIツール
       CIツール
(継続的インテグレーションツール)   プロジェクト管理ツール
                    プロジェクト管理ツール
(継続的インテグレーションツール)

          アジャイル開発の環境構築
アジャイル開発ツール

                     ソース管理ツール
                     ソース管理ツール




      CIツール
       CIツール
(継続的インテグレーションツール)   プロジェクト管理ツール
                    プロジェクト管理ツール
(継続的インテグレーションツール)

          アジャイル開発の環境構築
ツール連携の仕組み

            コミット
            コミット




              自動ビルドを実行
              自動ビルドを実行
              (フック)
              (フック)         リポジトリを更新
                            リポジトリを更新
                            (フック)
                            (フック)




   成果物を配置
   成果物を配置


                   成果物を参照
                   成果物を参照



            アジャイル開発の環境構築
継続的インテグレーションツール
                             ディスク
                             使用量
                 メトリクス
                 収集


                             重複コード
                             検知

                テスト

                             メモリリー
                             ク


                 静的解析
                              Web仕様書
                              作成

コンパイル後に成果物をSSH経由で配置することも可能


              アジャイル開発の環境構築
プロジェクト管理ツール
               ソース管理ツール
               リポジトリ連携

    API仕様書閲覧




                 コードレビューも
                 ダイレクト




        アジャイル開発の環境構築
・Who are you?
・ソフトウェア開発プロセスとアジャイル
・アジャイル開発の開発環境
・最後に!



               Agenda
Toolで開発環境をインテグレート
                 SCM(ソースコード管理ツール)
                 ・CVS
                 ・Subversion
                 ・Git
                 ・Visual Source Safe
                 ・Mercurial

  継続的インテグレーションツール            プロジェクト管理ツール
  ・Jenkins                   ・Redmine
  ・buildbot                  ・Trac
  ・CruiseControl             ・Trac Litghing
  ・chkbuild                  ・XPlanner
                             ・Aglio
                             ・IcsScrum
 テスティングフレームワーク 静的解析ツール       ・Agilefant
       動的解析ツール
カバレッジツール     メトリクス集計ツール
        DRYツール




                                              Tools
NO!

ご清聴ありがとうございました

More Related Content

PDF
CodeZineAcademy TDD実践講座PR資料
PDF
java-ja TDD 2nd
PDF
SeasarCon 2009 White TDD
PDF
テストレベル? #nds33
PDF
Test Driven Development in LabVIEW
PDF
JaSST nano vol.1 "映え”を評価する~UXテストの取り組みなの
KEY
テスト駆動開発入門
PDF
テスト駆動開発の進化
CodeZineAcademy TDD実践講座PR資料
java-ja TDD 2nd
SeasarCon 2009 White TDD
テストレベル? #nds33
Test Driven Development in LabVIEW
JaSST nano vol.1 "映え”を評価する~UXテストの取り組みなの
テスト駆動開発入門
テスト駆動開発の進化

What's hot (20)

PDF
ソフトウェア開発工程とテスト入門
PPTX
ウォーターフォールとアジャイル開発の比較 
PDF
Dependency injection
PDF
自動テストの誤解とアンチパターン in 楽天 Tech Talk
PDF
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
PDF
「GebとSpockではじめるシステムテスト自動化」
PDF
レガシーコードとの付き合い方とテストでの話
PPTX
Klocworkのご紹介
PDF
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
PDF
はじめてのソフトウェアテスト2019
PDF
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
PDF
20191016 jbug uso
PDF
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
PDF
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
PDF
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
PDF
テストを分類してみよう!
PPTX
JaSST'16 Tokyo モバイルセッション
PPTX
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
PPTX
テスト駆動&オブジェクト指向ハンズオン
ソフトウェア開発工程とテスト入門
ウォーターフォールとアジャイル開発の比較 
Dependency injection
自動テストの誤解とアンチパターン in 楽天 Tech Talk
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「GebとSpockではじめるシステムテスト自動化」
レガシーコードとの付き合い方とテストでの話
Klocworkのご紹介
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
はじめてのソフトウェアテスト2019
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
20191016 jbug uso
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
テスト駆動開発の導入ーペアプログラミングの学習効果ー
GTMF 2015: バグを減らそう。テストを楽にしよう。静的解析が開発者を救う。 | 日本シノプシス合同会社
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
テストを分類してみよう!
JaSST'16 Tokyo モバイルセッション
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
テスト駆動&オブジェクト指向ハンズオン
Ad

Viewers also liked (12)

PDF
数千人が利用する楽天Redmineの過去と未来
PPTX
講演2 実例に基づくRedmine管理者入門 r2
PDF
ある工場の Redmine 2016
PDF
ある工場のRedmine画面カスタム【View customize plugin 活用例】
PDF
Redmineチケットによるプロジェクト火消し戦略!
PDF
挫折しないRedmine
PPTX
アイドルソング制作の工程管理
PPTX
Redmineでメトリクスを見える化する方法
PDF
Redmineを使ってみよう
PDF
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
PDF
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
PDF
はじめる! Redmine (2015)
数千人が利用する楽天Redmineの過去と未来
講演2 実例に基づくRedmine管理者入門 r2
ある工場の Redmine 2016
ある工場のRedmine画面カスタム【View customize plugin 活用例】
Redmineチケットによるプロジェクト火消し戦略!
挫折しないRedmine
アイドルソング制作の工程管理
Redmineでメトリクスを見える化する方法
Redmineを使ってみよう
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
はじめる! Redmine (2015)
Ad

Similar to Ldd13 present (20)

PDF
【XDev】A-2 アジリティ向上のためのツール活用
PDF
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
PDF
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
PDF
【Agile Conference tokyo 2011】 継続的フィードバック
PDF
OSC2018 hiroshima session slide by OSSC
PDF
Agileツール適合化分科会(構成管理・ビルドツール)
PDF
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
PDF
2011年マイクロソフト テクノロジー振り返り~開発編~
PDF
Information20120312
PDF
テスト駆動で行うネットワーク自動化のすすめ
PDF
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
PDF
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
PDF
サーバーレスの今とこれから
PDF
GCSアジャイル開発を使ったゲームの作り方
PDF
人工知能のコードをハックする会 #2
PDF
Case study of DevOps for Hadoop in Recruit.
PDF
Case study of DevOps for Hadoop in Recruit.
PDF
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
PDF
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
PDF
アジャイルソフトウェア開発の道具箱
【XDev】A-2 アジリティ向上のためのツール活用
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
【Agile Conference tokyo 2011】 継続的フィードバック
OSC2018 hiroshima session slide by OSSC
Agileツール適合化分科会(構成管理・ビルドツール)
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
2011年マイクロソフト テクノロジー振り返り~開発編~
Information20120312
テスト駆動で行うネットワーク自動化のすすめ
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
サーバーレスの今とこれから
GCSアジャイル開発を使ったゲームの作り方
人工知能のコードをハックする会 #2
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
アジャイルソフトウェア開発の道具箱

Ldd13 present