Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AccelPlatformのつくりかた。

 AccelPlatformのつくりかた。

iCEC2014資料

intramart_dev

April 23, 2014
Tweet

More Decks by intramart_dev

Other Decks in Technology

Transcript

  1. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION Accel Platformのつくりかた ㈱NTTデータイントラマート 開発本部 2014/04/23
  2. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 質問 • ご存知の方? – アジャイル開発 – スクラム – 継続的インテグレーション (Continuous Integration) 2
  3. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 3
  4. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 4
  5. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジャイルの「ライトウィング」と 「レフトウィング」 from「An Agile Way」
  6. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 6 http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html より図を引用 アジャイルの「ライトウィング」と 「レフトウィング」
  7. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジャイルの「ライトウィング」と 「レフトウィング」 7 http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html より図を引用
  8. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジャイルの「ライトウィング」と 「レフトウィング」 8 http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html より図を引用
  9. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジャイルの「ライトウィング」と 「レフトウィング」 9 http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html より図を引用
  10. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 10
  11. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 11
  12. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION スクラムの実践と工夫点 intra-mart における「チーム環境」
  13. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 • 弊社では、アジャイルプロセスのひとつ である「スクラム」を採用しています。 13
  14. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION スクラムとは? 14 http://www.slideshare.net/Ryuzee/scrum-8048905 より図を引用
  15. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION スクラムとは? 15 http://www.slideshare.net/Ryuzee/scrum-8048905 より図を引用 詳細は割愛させていただきます。
  16. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION スクラムとは? 16 http://www.slideshare.net/Ryuzee/scrum-8048905 より図を引用 私達のチームが実践している スクラム開発において、 実際に使っているモノ・コトを、 赤裸々にお見せいたします。
  17. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION ミーティング&ロール&道具 • 定例ミーティング – 計画ミーティング – スプリントレビュー – デイリースクラム • 朝会 • 夕会 – ふりかえり(KPT) – その他 • モヤモヤMTG • 1 on 1形式のヒアリング • ロール – プロダクトオーナー – スクラムマスター – チーム • 道具 – プロダクトバックログ – スプリントバックログ – バーンダウンチャート – タスクボード – Doneの定義 18
  18. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION スプリント計画ミーティング • アジェンダ 1. ミニKPT の ふりかえり • 前回の「チームとして取り組むTry」 • 前スプリントのミニKPT 2. Tryの共有 3. 主担当決定 • ストーリー執筆者ちょろStoryがチョロか確認する人 4. 原稿執筆 5. プランニングポーカー 6. 決め事を決めましょう • スプリント期間 • スプリントレビューの場所&日時 • Doneの定義 • モットー • スプリントのスコープ=消化目標ストーリー 7. タスクボード作成 8. まとめ 23
  19. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION スプリントレビュー 24 最終日に実施 会議室ではなく 自席付近の ホワイトボードを利用
  20. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION デイリースクラム 26 朝会チーム全員参加 10:15から15分以内 朝会終了後に 「朝のご歓談」あり 夕会チーム全員参 加 17:30から5分程度 「助けローイ」 「帰る時間宣言」あ り
  21. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION デイリースクラム - 朝会 • 毎朝10:15から10:30に実施。 1. Tryの確認 2. 各自報告 1. 昨日やると言ったことで、、、 • 出来たこと、できなかったこと 2. 今日やる事 3. 困っていること 3. 日々の喜び・悩みの吐露 4. 周知事項 – IMBoxの[周知事項]タグの読み上げ • 朝会終了後「朝のご歓談」を実施 – 公私問わず現状を共有するための立ち話。 27
  22. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION デイリースクラム - 夕会 • 17:30から5分程度。 1. 今日やると言ったことで、 出来たこと、できなかったこと。 2. 助けローイ 3. 帰る時間宣言 28
  23. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION デイリースクラム • 効果 1.情報共有 2.障壁取り除きのきっかけ 3.一日の開始&終了の儀式 (ルーティン) 29
  24. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION ふりかえり - KPT • 効果 – チームの一体感を高める • チーム改善のアイデアを一緒に考え続ける • メンバー同士が1つのチームになっていく感覚を 味わう • 能動的、有機的にメンバーが活動する – 自浄作用 • 自らふりかえりを行い、 自ら改善していくという意識を持つことの習慣化 34
  25. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION その他のミーティング 35 その他 - モヤモヤMTG - 1 on 1の対話
  26. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION その他のミーティング • モヤモヤMTG – 日々の作業を通じて感じたモヤモヤをチケット化し、 週に一度、みんなで解決するMTG。 – アラートを埋もれさせない為に有効。 • 1 on 1 形式のヒアリング – 1〜2スプリントに一回の割合で、 メンバーとスクラムマスターが1対1で話をする。 • ポジティブフィードバック と チャンスフィードバック – 最大限の力を発揮し、気持ち良く仕事するために。 • 障壁は何か? • やりたいことは何か? – 「やりたい!」という意思が重要。 36
  27. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION プロダクト・バックログ 42 Redmineチケット として管理。 棚卸など整理する際 はExcel利用も。
  28. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION プロダクト・バックログ • 完全なる優先順位 ←超重要 – 機能追加も、バグも、同列に優先順位付け • Redmineのチケットにて管理 – カスタムフィールド「優先順位」を作って、 その順番に並ぶようにしています。 – 棚卸など整理する際はExcelを利用する場合 あり。 43
  29. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION プロダクト・バックログ • ユーザーストーリーの形式 45
  30. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION バーンダウンチャート 46 壁に手書き。 スプリント単位の他に、 シーズン単位の チャートもあり
  31. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION タスクボード 49 緑:既にDone 青:Done確実 黄:Done怪しい 赤:Done無理決定
  32. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION IMの場合 53 期間は2週間 初日に実施 最終日に実施 会議室ではなく 自席付近の ホワイトボードを利用 毎週金曜日 KPT形式 朝会チーム全員参加 10:15から15分以内 朝会終了後に 「朝のご歓談」あり 夕会チーム全員参 加 17:30から5分程度 「助けローイ」 「帰る時間宣言」あ り 開発本部長 私 11 〜 2 名 Redmineチケット として管理。 棚卸など整理する際 はExcel利用も。 スプリントごとに 改善・改廃を実施 壁に手書き。 スプリント単位 の他に、シーズ ン単位のチャー トもあり その他 - モヤモヤMTG - 1 on 1の対話
  33. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 大事にしたいこと 1. 心と身体を壊さない!(これ絶対) 2. 楽しむ! (冗談を言い合おう。ゴッコから始めれば良い) 3. 声を掛けあって、協力する、 助け合う、情報共有する。 4. 分からなかったら聞く(抱え込まない) 5. 相手を信じる! 6. シンプルに考える。 (本質はなんなのか?巧く手を抜く。 例の早く仕事を片付けるアレを意識する) and More! 55
  34. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 大事にしたいこと 1. 心と身体を壊さない!(これ絶対) 2. 楽しむ! (冗談を言い合おう。ゴッコから始めれば良い) 3. 声を掛けあって、協力する、 助け合う、情報共有する。 4. 分からなかったら聞く(抱え込まない) 5. 相手を信じる! 6. シンプルに考える。 (本質はなんなのか?巧く手を抜く。 例の早く仕事を片付けるアレを意識する) and More! 56 「楽しさ」に重点を置き イキイキとした現場、 自律的なチームを目指して、 日々活動を行っております
  35. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 57
  36. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 58
  37. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION COMMIT, BUILD, TEST, DEPLOYを支える環境 intra-mart における「開発環境」
  38. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 目次次 1. 概要 2. 開発環境  開発端末  開発サーバ  環境構築  ビルド環境  テスト  デプロイ 3. 運用  管理対象  バックアップ/リカバリ  可視化/監視 60
  39. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 62 期間 2010年9月~現在 開発者 40名~80名程度 チーム 4チーム~10チーム モジュール 80 (400プロジェクト) ビルドジョブ 420~ 1-1. 概要:規模
  40. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 63 1-2. 概要:開発サイクル 開発 テスト リリース 3〜4カ月単位のリリース 2013年 4月1日 Spring 7月1日 Summer 10月1日 Autumn 1月1日 Winter 2014年 4月1日 Spring 8月1日 Summer
  41. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-2. 開発環境:OS 65 • Windows 7, 8 • Mac OS X • Ubuntu Linux • CentOS • Red Hat Enterprise Linux Windows CentOS Mac OS X Ubuntu Linux RHEL
  42. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-2. 開発環境:開発端末 66 ソフトウェア 概要 Java Platform, Standard Edition Java開発、実行用 Eclipse Java開発用IDE Eclipse Plugin各種 Fingbugs, Checkstyle, M2Eclipse, 独自Plugin etc… e Builder イントラマート開発用IDE 業務スケルトン コードジェネレータ Apache Maven ビルドツール, 独自拡張Plugin含む Apache Ant ビルドツール Resin アプリケーションサーバ Sphinx ドキュメント作成ツール 開発端末
  43. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-2. 開発環境:開発サーバ 67 ソフトウェア 概要 Apache HTTP Server Webサーバ Nginx Webサーバ Jenkins 継続的インテグレーションツール Stoplight ジョブ監視 Zabbix サーバ監視 Subversion ソースコード管理システム Git (Gitlab) ソースコード管理システム Sonatype Nexus Mavenリポジトリ管理システム Coverity ソースコード静的解析システム 開発サーバ
  44. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-2. 開発環境:開発サーバ 68 ソフトウェア 概要 Redmine プロジェクト管理システム Milkode ソースコード検索システム ngIRCd IRC Daemon IRC Bots IRC Robot 各種通知等 PasteIt! 内製コード共有ツール Open LDAP LDAPサーバ 開発サーバ
  45. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-3. 開発環境:環境構築 69 • 開発環境の構築は1クリックで実現完了 – 内製の環境構築スクリプト – 初期導入コスト削減 – 環境の差異による品質のブレを防止
  46. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-4. 開発環境:開発の流れ 70 • ソースコードのコミット/プル – 1日 50回以上 – 機能追加/不具合修正
  47. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-4. 開発環境:開発の流れ 71 • 変更検知によりビルド実行 – コンパイル – ユニットテスト – 結合テスト (4DB) テストケース 合計 50000以上
  48. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-4. 開発環境:開発の流れ 73 • ビルド完了後 – レポート – 成果物のデプロイ
  49. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-4. 開発環境:開発の流れ 74 • 成果物を利用したテスト – 動作確認/検証 – ブラウザ自動テスト
  50. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-4. 開発環境:開発の流れ 75 開発者はソースコードをコミット/プルするのみ それ以降の手順は意識する必要が無い状態を維持  インプット  プログラムのソースコード  ドキュメントのソースコード  アウトプット  解析レポート (静的コード解析, 翻訳確認等)  ユニットテスト結果  ビルド成果物(モジュール)  アプリケーション (e Builder, im-Juggling等)
  51. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 2-5. 開発環境:その他 76 • 検証環境 – Vagrant + α による検証環境の自動構築 • ソースコード – コードの整形ルール/自動整形 – メッセージの外部化 • コミュニケーションツール – IRC, IMBox, WordPress etc… • 負荷試験 – Apache Jmeter – Oracle eLoad • 脆弱性試験 – IBM AppScan
  52. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 78 モジュール 80 (400プロジェクト) ビルドジョブ 420~ サーバ 5台 3-1. 運用:管理対象 モジュール数は Accel Platform のみ
  53. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 3-2. 運用:バックアップ/リカバリ 79 • バックアップ/冗長化 – ビルドサーバは分散構成 – 都度バックアップ • リカバリ – リカバリ/サーバ追加もOSインストール含め数時間以内に可能
  54. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION 80 3-3. 運用:監視 • 状態の可視化/監視 – 見える化 – 統合監視 500強のジョブ/サーバを一元的に監視
  55. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 81
  56. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION アジェンダ 1. アジャイルの 「ライトウィング」と「レフトウィング」 2. intra-mart における「チーム環境」 〜スクラムの実践と工夫点〜 3. intra-mart における「開発環境」 〜Commit, Build, Test, Deploy を支える環境〜 4. まとめ 82
  57. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION まとめ • アジャイルの両ウィング • 協調でゴールに向かう「チーム環境」 – intra-martでのスクラム実践 • 高速に石橋を叩いて渡る「開発環境」 – intra-martでのCI環境 83
  58. intra-mart accelerates your business. 情報種別:公開 会社名:NTTデータイントラマート 情報所有者:開発本部 ©2014 NTT DATA

    INTRAMART CORPORATION ご要望、ご質問等は、twitter:@intramart_devまで。 ご清聴ありがとうございました。