28th Embarcadero Developer Camp

Similar documents
自己紹介 まっつん松藤秀治 ( まつふじひではる ) Piece Project Eclipseプラグインまっつんチャレンジ (ITEMAN Blog) - 2 -

開発ツールのコラボレーション機能を検証する

アジャイル開発入門

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

クックパッドのテスト自動化

プロダクトオーナー研修についてのご紹介

PowerPoint プレゼンテーション

JavaもJava Scriptも! コンテナ型アプリケーション開発PaaS登場

Microsoft PowerPoint - Session4古賀様.ppt


Visual Studio with Cordova クロスプラットフォーム開発の全貌

BHP1610_20.indd

インテル(R) Visual Fortran コンパイラ 10.0

マイクロソフトにおけるアジャイル開発の実践

JACi400のご紹介~RPGとHTMLで簡単Web化~

過去問セミナーTM

アジャイル開発ソリューション

わんくま同盟 東京勉強会 #27

Web Performer V2.0 カタログ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

PARTⅢ 検証事例 2. トレーサビリティ管理の自動化に踏み切った理由や経緯 (1) 国際スタンダード認証に関する課題 ISO DO-178B/C IEC などの国際スタンダードでは 開発工程全般にわたって要件が満たされていること ( システムの正しい要件が 正しい方法で

FS_handbook.indd

TeX LiveのCIテスティング

自己紹介 池原大然 デベロッパーエバンジェリスト INETA 登録スピーカー Blog

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

実践 Infrastructure as Code

JP-2-Develop Websites and Components in AEM v6x_(V3_after QA)_1111

利用者

知って得する!現役ヘルプデスクが答えるDelphiテクニカルエッセンス 8.0

システム操作インターフェイス最適化によるテスト自動化ROI向上

HULFT-WebConnectサービス仕様書

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

D5-2_S _003.pptx

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

PowerPoint プレゼンテーション

Sharing the Development Database

新OS使用時の留意事項

テスト駆動開発入門 ネクストステップ

IntroductionForGR-PEACH.pptx

CA Clarityの機能と特徴

要求仕様管理テンプレート仕様書

FUJITSU Cloud Service for OSS 「ログ監査サービス」 ご紹介資料

サーバーレスアプリケーションのための CI/CD パイプライン構築 

Graph APIでインターナルアプリケーションを開発

Congress Deep Dive

Silk Central Connect 15.5 リリースノート

本セッションの内容 Eclipse って Java のエディターでは? そもそも Eclipse や TPTP とは何か Eclipse や TPTP を拡張した IBM Rational 製品群とは? 開発フェーズをまたがり IBM Rational 製品群は品質向上にどう役立つのか 扱わない内容

JapanCert 専門 IT 認証試験問題集提供者 1 年で無料進級することに提供する

Managing and Sharing MATLAB Code

AUTOSAR OS仕様とTOPPERS/ATK2の使い方

作業環境カスタマイズ 機能ガイド(応用編)

15288解説_D.pptx

索的テスト特有の不透明さが受け入れられ難い このような探索的テストにおけるテスト管理の問題を JSTQB Foundation Level のシラバスに従い テスト管理のカテゴリごとに整理すると表 88-1 のようになる [2] 表 88-1 探索的テストにおけるテスト管理の現状テスト管理のカテゴリ

ニフティクラウド mobile backend 概要 サービス名 : ニフティクラウド mobile backend ( ニフティクラウドモバイルバックエンド ) アドレス : 利用対象者 : スマートフォンアプリを開発する個人および企業 基本仕

MogiExam 専門的な MogiExam は権威的な資料を提供します

Automation for Everyone <デモ で実感できる、組織全体で活用できるAnsible Tower>

OpenShift オープンソースで実現するPaaS環境 レッドハット株式会社 プラットフォームソリューション統括部 RHELソリューションアーキテクト 小島 啓史 Ver

PowerPoint プレゼンテーション

Transcription:

RAD Studio で実践する 継続的インテグレーション アプリとデベロッパーの価値 を拡張するエッセンス 長沢 智治 テクニカル エバンジェリスト アトラシアン株式会社 re-workstyle.com @tomohn

ビジネスとアプリケーションの進化 90s 00s Business 10s Business Business Apps Apps Apps C/S コード品質 開発者中心 分業 Web サービス サービス品質 開発チーム中心 分業から協調 マルチデバイス + サービス ビジネス品質 開発と運用 協調

BUILD LEARN Business Apps MEASURE

Feedback loop Deployment Small Batch Production Ready Acceptance Test DVCS Retrospective Burn down Scrum DoD Agile Task Board Backlog Pair Programming Business Apps Value Up Time Box extreme Programing CI TDD Design for Operations DevOps MTTR Customer needs Service Desk Cloud Cycle Time

Continuous I ntegration

継続的インテグレーション CI: Continuous Integration アプリケーション作成時の 品質改善や納期の短縮のための習慣のことです ウィキペディア XP のプラクティスの一つでビルドやテスト インスペクションなどを継続的に実行していく ことを意味する

品質改善 納期の短縮 継続的 ビルド 習慣

習 慣 ソフトウェア開発における心臓はなにか チームの循環器はなにか

ソフトウェア開発 アイデアを価値に転換する Software Delivery

開発とビルドのリズムとコスト 1 : 10 : 100 の法則 1 開発: コスト ビルド: コスト 10 テスト: コスト 100 テストを書こう頻繁にコミットしよう (DVCS)

開発とビルドのリズムとコストの蓄積 1 : 10 : 100 の法則 開発: コスト 1 ビルド: コスト 10 テスト: コスト 100

開発とビルドのリズムとコストの改善 1 : 10 : 100 の法則 1 開発: コスト ビルド: コスト テスト: コスト 1 10 10 100 継続的ビルドによる品質改善とデリバリーの短縮

開発とビルドのリズムからデプロイのリズムへ Deploy 1 : 10 : 100 の法則 開発: コスト ビルド: コスト テスト: コスト 1 1 10 10 100 デプロイ: コスト 100

Deploy DEVELOPMENT TESTING PRODUCTION

Deploy DEVELOPMENT TESTING PRODUCTION

Deploy DEVELOPMENT TESTING PRODUCTION

開発とビルドのリズムからデプロイのリズムへ Deploy DEVELOPMENT TESTING PRODUCTION

開発者のコード変更は直接デリバリーへ Deploy 継続的インテグレーション VCS + CI (+BTS/ITS) アイデアとバグを コードに転換 DEVELOPMENT TESTING デプロイの自動化 リリース管理 手を抜けないコード の品質の作りこみ PRODUCTION フィードバックの 収集と適切な反映

開発者のコード変更は直接デリバリーへ Deploy 1 : 10 : 100 の法則 DEVELOPMENT 開発: コスト TESTING 1 1 ビルド: コスト 10 PRODUCTION 5 テスト: コスト 100 10 デプロイ: コスト 100

開発者とアプリ 要求とコードとビルドをつなぐ Deploy 開発者同士: DEV ITS/BTS VCS TEST PROD CI チーム同士: 開発者と デザイナー テスター マネージャー ITS/BTS 利害関係者: 開発チームと 企画 運用 顧客 ITS/BTS DEPLOY

開発者とアプリ 要求とコードとビルドをつなぐ Deploy 開発者同士: DEV ITS/BTS VCS TEST PROD CI チーム同士: 開発者と デザイナー テスター マネージャー ITS/BTS 利害関係者: 開発チームと 企画 運用 顧客 ITS/BTS DEPLOY

開発者とアプリ 要求とコードとビルドをつなぐ Deploy 開発者同士: DEV DVCS リポジトリ 継続的インテグレーション 技術依存しない自動ビルドツール ビルド管理 開発者と デザイナー テスター マネージャー BST / ITS: 要求 バグ タスクの追跡, 変更管理 利害関係者: ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない 開発チームと 企画 運用 顧客 PROD DVCS クライアント 無償のデファクトスタンダード チーム同士: TEST コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

Demo

開発者とアプリ 要求とコードとビルドをつなぐ Deploy 開発者同士: DEV DVCS リポジトリ 継続的インテグレーション 技術依存しない自動ビルドツール ビルド管理 開発者と デザイナー テスター マネージャー BST / ITS: 要求 バグ タスクの追跡, 変更管理 利害関係者: ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない 開発チームと 企画 運用 顧客 PROD DVCS クライアント 無償のデファクトスタンダード チーム同士: TEST コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy RAD Studio (Delphi, C++er) でのテスト 開発者同士: チーム同士: 開発者と デザイナー テスター マネージャー 利害関係者: 開発チームと 企画 運用 顧客 テスト容易性の高い設計と実装 TEST(MVC, PROD MVVM) DEV ビューとロジックの分離 デバッグ実行 テスト テスティング フレームワークの活用 DUnit DVCS クライアント DUnitX 継続的インテグレーション 無償のデファクトスタンダード 技術依存しない自動ビルドツール DUnit ビルド管理 DVCS リポジトリ DUnit: xunit 互換の Delphi ユニットテスト 継続的デプロイメント コードレビューや連携可能 自動デプロイとデプロイ状況の管理 なリポジトリ管理 RAD Studio で標準搭載 IDE からのテスト実行に特化 BST / ITS: 要求 バグ タスクの追跡, 変更管理 GUI とコマンドライン実行 ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 テスト結果は対話的 (ログなし) 開発者とアプリの価値をわかりやすく示すのに欠かせない ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy DUnit でのテストの作成 開発者同士: ウィザードによるテストの作成 DEV DVCS リポジトリ 継続的インテグレーション 技術依存しない自動ビルドツール ビルド管理 開発者と デザイナー テスター マネージャー BST / ITS: 要求 バグ タスクの追跡, 変更管理 利害関係者: ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない 開発チームと 企画 運用 顧客 PROD DVCS クライアント 無償のデファクトスタンダード チーム同士: TEST コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy DUnit でのテストロジックの記述 開発者と デザイナー テスター マネージャー procedure TestTCalc.TestAdd_Case1; var TEST PROD DEV _result : System.Integer; y: System.Integer; x: System.Integer; begin DVCS クライアント テスト対象の実行 無償のデファクトスタンダード 継続的インテグレーション x := 1; 技術依存しない自動ビルドツール y := 1; ビルド管理 DVCS リポジトリ 継続的デプロイメント コードレビューや連携可能 _result := atcalc.add(x, y); 自動デプロイとデプロイ状況の管理 なリポジトリ管理 CheckEquals(x+y, _result); end; BST / ITS: 要求 バグ タスクの追跡, 変更管理 利害関係者: ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない 開発者同士: チーム同士: 開発チームと 企画 運用 顧客 テスト対象の検証 ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy DUnit でのテストの実行 開発者同士: テストの実行 TEST PROD DVCS クライアント 無償のデファクトスタンダード チーム同士: DEV DVCS リポジトリ 継続的インテグレーション 技術依存しない自動ビルドツール ビルド管理 開発者と デザイナー テスター マネージャー BST / ITS: 要求 バグ タスクの追跡, 変更管理 利害関係者: ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 テスト結果がファイルに出力できない 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない 継続的インテグレーションで検証困難 開発チームと 企画 運用 顧客 コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ XMLTestRunner2.pas の読み込みにより NUnit 互換ファイルを出力 開発者同士: チーム同士: Deploy DUnit でのテストロジックの記述 TEST PROD DEV unit TestTCalcUnit; interface uses TestFramework,, XMLTestRunner2; DVCS クライアント 無償のデファクトスタンダード type 継続的インテグレーション 技術依存しない自動ビルドツール // テストメソッド ビルド管理 DVCS リポジトリ 開発者と デザイナー テスター マネージャー BST / ITS: 要求 バグ タスクの追跡, 変更管理 利害関係者: ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない 開発チームと 企画 運用 顧客 コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 Initialization RegisterTest (TestTCalc.Suite);! With XMLTestRunner2.RunRegisteredTests do Free; ライブ ドキュメント共有 end. 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy 開発者同士: 1 DEV 開発者と デザイナー テスター マネージャー 利害関係者: 開発チームと 企画 運用 顧客 PROD 企画 アイデアの顕在化と実施計画 DVCS クライアント 無償のデファクトスタンダード チーム同士: TEST 2 継続的インテグレーション 技術依存しない自動ビルドツール ビルド管理 プロジェクト計画とタスクの割り出し DVCS リポジトリ コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 BST / ITS: 要求 バグ タスクの追跡, 変更管理 ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy DEV 開発者同士: 開発者と デザイナー テスター マネージャー 利害関係者: 開発チームと 企画 運用 顧客 PROD DVCS クライアント 無償のデファクトスタンダード チーム同士: TEST 3 継続的インテグレーション 技術依存しない自動ビルドツール ビルド管理 開発作業の 起動 DVCS リポジトリ コードレビューや連携可能 なリポジトリ管理 継続的デプロイメント 自動デプロイとデプロイ状況の管理 4 BST / ITS:開発の実施 要求 バグ タスクの追跡, 変更管理 ドキュメントやソースコードの変更要素 (Issues) の追跡と管理 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない ライブ ドキュメント共有 5 継続的インテグレーション 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化

開発者とアプリ 要求とコードとビルドをつなぐ Deploy DEV 開発者同士: 開発者と デザイナー テスター マネージャー 開発チームと 企画 運用 顧客 PROD DVCS クライアント チーム同士: 利害関係者: TEST 無償のデファクトスタンダード 継続的インテグレーション DVCS リポジトリ 技術依存しない自動ビルドツール ビルド管理 DEV コードレビューや連携可能 なリポジトリ管理 自動デプロイとデプロイ状況の管理 継続的デプロイメント BST / ITS: 要求 バグ タスクの追跡, 変更管理 ドキュメントやソースコードの変更要素 (Issues) の追跡と管理TEST 各種の成果物の粒度の調整と各成果物をつなぐ重要な役割 開発者とアプリの価値をわかりやすく示すのに欠かせない ライブ ドキュメント共有 企画や仕様書を陳腐化させない ドキュメントから協調 思考と経験の形式知化 チーム内外のコミュニケーション インフラ タイムラインでアクティビティを通知 対処の円滑化 PROD

We Software

We Software

We Software

アトラシアンの文化を体験しに 遊びに来てください マリノスタウン内 Google Maps: アトラシアン 最寄り駅: 各線 横浜駅から徒歩 10分 みなとみらい線 新高島から徒歩 5 分

アトラシアンの文化を体験しに 遊びに来てください We Software

We Software

: Twitter: tnagasawa@atlassian.com @tomohn Facebook: Tomoharu.Nagasawa