Submit Search
Upload
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
•
Download as PPTX, PDF
•
9 likes
•
2,848 views
Takahiro Yamaki
Follow
2015年3月10日 @IT主催勉強会 基調講演 https://itmedia.smartseminar.jp/public/seminar/view/687
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 31
Download now
Recommended
テスト自動化入門@Graat勉強会
テスト自動化入門@Graat勉強会
Graat(グラーツ)
「継続的デリバリー」読書会 第3章 継続的デリバリー
「継続的デリバリー」読書会 第3章 継続的デリバリー
Norikazu Hiraki
Agile pm10 quality_2a
Agile pm10 quality_2a
Bunnojo
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
Masaki Nakagawa
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
kyon mm
Automationtestssf beta
Automationtestssf beta
ryuji koyama
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
Recommended
テスト自動化入門@Graat勉強会
テスト自動化入門@Graat勉強会
Graat(グラーツ)
「継続的デリバリー」読書会 第3章 継続的デリバリー
「継続的デリバリー」読書会 第3章 継続的デリバリー
Norikazu Hiraki
Agile pm10 quality_2a
Agile pm10 quality_2a
Bunnojo
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
Masaki Nakagawa
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
kyon mm
Automationtestssf beta
Automationtestssf beta
ryuji koyama
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
You&I
Eric Ries at Startup Lessons Learned sllconf 2011 - Japanese Translation
Eric Ries at Startup Lessons Learned sllconf 2011 - Japanese Translation
Kenji Hiranabe
レビューのコツ
レビューのコツ
Yoshiaki Yoneyama
Eric riesstartuplessonslearned2011 ja20110605
Eric riesstartuplessonslearned2011 ja20110605
Yuki Sekiguchi
Vantan shinsuke miyaki_upload
Vantan shinsuke miyaki_upload
Shinsuke Miyaki
Xp Terakoya No02
Xp Terakoya No02
takepu
Lean conference2013/TOC
Lean conference2013/TOC
ゴールシステムコンサルティング株式会社
20130320 agile pm
20130320 agile pm
Takao Kimura
Dev Love Lt 20090622(佐々木)
Dev Love Lt 20090622(佐々木)
DevLOVE
[Biz reach qa meetup] qa team_build
[Biz reach qa meetup] qa team_build
久仁朗 山本(旧姓 村上)
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdf
Daniel Teng
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
Kiro Harada
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
Michitaka Yumoto
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
クラウドのセキュア利用モデルを考える_ID-based Security イニシアティブ 第4回全体ミーティング
クラウドのセキュア利用モデルを考える_ID-based Security イニシアティブ 第4回全体ミーティング
ID-Based Security イニシアティブ
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
【evar7】web担当者forum事例_part3
【evar7】web担当者forum事例_part3
Shinichiro Oho
Provisioning & Deploy on AWS
Provisioning & Deploy on AWS
Amazon Web Services Japan
Why startups need "Lean Startup" & "Design Sprint"?
Why startups need "Lean Startup" & "Design Sprint"?
Takaaki Umada
Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料
Kakigi Katuyuki
More Related Content
Similar to 開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
You&I
Eric Ries at Startup Lessons Learned sllconf 2011 - Japanese Translation
Eric Ries at Startup Lessons Learned sllconf 2011 - Japanese Translation
Kenji Hiranabe
レビューのコツ
レビューのコツ
Yoshiaki Yoneyama
Eric riesstartuplessonslearned2011 ja20110605
Eric riesstartuplessonslearned2011 ja20110605
Yuki Sekiguchi
Vantan shinsuke miyaki_upload
Vantan shinsuke miyaki_upload
Shinsuke Miyaki
Xp Terakoya No02
Xp Terakoya No02
takepu
Lean conference2013/TOC
Lean conference2013/TOC
ゴールシステムコンサルティング株式会社
20130320 agile pm
20130320 agile pm
Takao Kimura
Dev Love Lt 20090622(佐々木)
Dev Love Lt 20090622(佐々木)
DevLOVE
[Biz reach qa meetup] qa team_build
[Biz reach qa meetup] qa team_build
久仁朗 山本(旧姓 村上)
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdf
Daniel Teng
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
Kiro Harada
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
Michitaka Yumoto
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
クラウドのセキュア利用モデルを考える_ID-based Security イニシアティブ 第4回全体ミーティング
クラウドのセキュア利用モデルを考える_ID-based Security イニシアティブ 第4回全体ミーティング
ID-Based Security イニシアティブ
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
【evar7】web担当者forum事例_part3
【evar7】web担当者forum事例_part3
Shinichiro Oho
Provisioning & Deploy on AWS
Provisioning & Deploy on AWS
Amazon Web Services Japan
Why startups need "Lean Startup" & "Design Sprint"?
Why startups need "Lean Startup" & "Design Sprint"?
Takaaki Umada
Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料
Kakigi Katuyuki
Similar to 開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
(20)
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
Eric Ries at Startup Lessons Learned sllconf 2011 - Japanese Translation
Eric Ries at Startup Lessons Learned sllconf 2011 - Japanese Translation
レビューのコツ
レビューのコツ
Eric riesstartuplessonslearned2011 ja20110605
Eric riesstartuplessonslearned2011 ja20110605
Vantan shinsuke miyaki_upload
Vantan shinsuke miyaki_upload
Xp Terakoya No02
Xp Terakoya No02
Lean conference2013/TOC
Lean conference2013/TOC
20130320 agile pm
20130320 agile pm
Dev Love Lt 20090622(佐々木)
Dev Love Lt 20090622(佐々木)
[Biz reach qa meetup] qa team_build
[Biz reach qa meetup] qa team_build
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdf
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
クラウドのセキュア利用モデルを考える_ID-based Security イニシアティブ 第4回全体ミーティング
クラウドのセキュア利用モデルを考える_ID-based Security イニシアティブ 第4回全体ミーティング
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
【evar7】web担当者forum事例_part3
【evar7】web担当者forum事例_part3
Provisioning & Deploy on AWS
Provisioning & Deploy on AWS
Why startups need "Lean Startup" & "Design Sprint"?
Why startups need "Lean Startup" & "Design Sprint"?
Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
1.
開発リードタイム短縮への挑戦 ~とある現場のパターン・ランゲージ~ 2015/03/10 山木隆寛 楽天株式会社 楽天市場サービス開発・運用部 http://www.rakuten.co.jp/
2.
2 結論を先に! • モチベーション 1. より早く、より良いものを、リリースしたい! •
作戦 1. 手作業排除 2. コーダーに対するフィードバックを素早く 1. ビルド結果 2. 静的なコード分析結果 3. 継続的システムテスト結果 4. セキュリティチェック結果 開発リードタイム短縮への挑戦
3.
3 アジェンダ • はじめに –私の立ち位置 –お持ち帰りいただきたいもの –利用したパターンについて • 事例のご紹介 •
将来像 • まとめ
4.
4 B2B2C ビジネスにおける 私の立ち位置 楽天市場 バックヤード (RMS) お買い物 ユーザー 店舗様 売り場 (MALL) (1)開発リードタイム短縮 (2)運用コスト削減
5.
5 お持ち帰りいただきたいもの • 過去2年の『事例』を『パターン』別にご紹介 • 気に入ったパターンがあれば、皆様の状況に 応用して活用していただければと思います
6.
6 利用したパターン for 人 みんなを巻き込む エバンジェリスト 『アジャイルに効く
アイデアを組織に広めるための48のパターン』 Mary Lynn Manns, Linda Rising著, 川口 恭伸 監訳 (2014) 正式な推進担当者 イノベーター アーリーアダプター 勉強会やってみる 種をまく個人的な接触 体験談の共有
7.
7 利用したパターン for システム Git
化 Step by Step 小さな成功 自動化 リポジトリ連携 脱Excel 外部のお墨付き ちょうど十分
8.
8 Git 化 Step by
Step 小さな成功 自動化 リポジトリ連携 脱Excel 外部のお墨付き ちょうど十分 キーワード pull-request CI テストケース管理 ブランチ管理 git-flow チケット code ビルド, デプロイ テスト
9.
9 Git 化 Step by
Step 小さな成功 自動化 リポジトリ連携 脱Excel 外部のお墨付き ちょうど十分 事例のご紹介 CI ココ ココ チケット code ビルド, デプロイ テスト
10.
10 アジェンダ • はじめに • 事例のご紹介 –
リポジトリ連携 – 自動化 • 将来像 • まとめ
11.
11 事例のご紹介(1) リポジトリ連携
12.
12 パターン・リポジトリ連携 • 状況 –開発中におきる“ものこと” 同士を関連づけ るのは、エクセルの備考欄!
個人メモ! • このチケットの案件、コードレビュー終わった? • このチケットの案件、どの環境にデプロイした? • 問題 –トレーサビリティを簡単にしたい
13.
13 パターン・リポジトリ連携 続き • 制約 –社内のツール推進部署がサービス提供中 •
チケット管理、ソースコード管理、ドキュメント管理 • 解決方法 –これらと相性のいいものを選んで、それぞ れのリポジトリのデータを連携させる!
14.
14 テストケース テスト結果 リポジトリ連携 結果 (1) チケット Codes 成果物 ライブラリ ドキュメント Code
品質 RMS ビルド結果 デプロイ結果 セキュリティレポート 情報蓄積 制約 (既存ツール)
15.
15 チケットとCodesの簡単紐付け Tips 前提 1.git-flow に従って、ブランチ名は
feature/xxxx 2.feature 名はチケットID cd .git/hooks mv prepare-commit-msg.sample prepare-commit-msg vi prepare-commit-msg #!/bin/sh # mv $1 $1.tmp echo -n "[`git branch | grep "*" | awk '{print $2}' | sed -e "s/feature///g" `] " > $1 cat $1.tmp >> $1 サンプルコード by T. Sugihara
16.
16 リポジトリ連携 From ビルド結果
デプロイ情報 チケット Codes 変更ログ (誰? 何?)
17.
17 リポジトリ連携 From テスト結果 チケット テストNG報告
チケット作成 テスト結果 修正チケット
18.
18 MOVIE テスト結果NG チケット起票
19.
19 事例のご紹介(2) 自動化
20.
20 パターン・自動化 • 状況 –手作業 多過ぎ •
問題 –手作業に工数を取られる。ミスもある • 制約 –既存ツールとの親和性 • 解決方法 –既存ツールと相性のいいものを選んで 自動化!自動化!自動化!
21.
21 自動化 参考資料 (1) 『継続的デリバリー』 David
Farley (著), Jez Humble (著), 和智 右桂 (翻 訳), 高木 正弘 (翻訳)
22.
22 自動化 参考資料 (2) 『万人のためのオートメーション:
デプロイメント の自動化パターン』 Paul Duvall http://www.ibm.com/developerworks/jp/java/library/j-ap01139/ – シングル・クリック – 構成の外部化 – ヘッドレス実行 – スクリプト化デプロイメント – リモート・デプロイメント
23.
23 自動化インフラ・サーバ構成図 CI 関連システム
24.
24 デモ 自動デプロイ・シナリオ アプリケーション 管理サーバ クラスター #1 #2 #3 #4 手動テスト 継続的 システムテスト* (3) (2) (4) * Kotaro
Ogino and Francois Picalausa “Continuous System Test”. Test Automation. http://kokotatata.hatenablog.com/entry/2014/03/14/075842 (1) CIツール
25.
25 MOVIE 自動デプロイ
26.
26 継続的自動テスト・概略図 Selenium Hub テストケース管理ツール RMS Selenium Nodes Script 結果 確認 手動テスト 結果 CIツール テスト データ
27.
27 アジェンダ • はじめに • 事例のご紹介 •
将来像 • まとめ
28.
28 STG QA DEVBuild 将来像 ・・・ “デプロイメントパイプライン” IT Release Judge Acceptance Test PROD Blue- Green Deploy Clone Build UT Code Analysis Deploy Conf
Test Conf Test Deploy ST Conf Test Code Review Metrics Release Judge Security Test ST Security Test
29.
29 大切なことなので再掲 • モチベーション 1. より早く、より良いものを、リリースしたい! •
作戦 1. 手作業排除 2. コーダーに対するフィードバックを素早く 1. ビルド結果 2. 静的なコード分析結果 3. 継続的システムテスト結果 4. セキュリティチェック結果 開発リードタイム短縮への挑戦
30.
30 QA
31.
31 エンジニア募集中!!! https://progres02.jposting.net/pgrakuten/job.phtml?job_code=1971 https://progres02.jposting.net/pgrakuten/job.phtml?job_code=1972
Editor's Notes
@IT 主催、オージス総研さん、協賛 “リリース直前のサプライズ”を防ぐ、「スピーディに品質を作り込む」二つの秘策 https://itmedia.smartseminar.jp/public/seminar/view/687 ※パターンとは? はこちらをご参照ください。 『パターン、Wiki、XP』江渡浩一郎 (Eto, Kouichiro) アレグザンダー ・・・ パターンの集合である総体を言語になぞらえた。1つの建築活動に必要なパターンの集まりを「パターン・ランゲージ」と名づけた
※ リードタイム = 工程に着手してから全ての工程が完成するまでの所要期間 (http://ja.wikipedia.org/wiki/リードタイム) --> 開発リードタイム ・・・ 製造工程に着手してからリリースするまでの所要時間 (要件定義の時間短縮の話はしません)
開発リードタイム短縮のための業務改善策を計画・実装して広めるためにやってきたことのパターンを、人に関するもの、システムに関するものにまとめてみたのが、こちらと次のスライドになります。
開発リードタイム短縮のための業務改善策を計画・実装して広めるためにやってきたパターンのうち、システムに関するものがこちらのスライドになります。 枠の線を太くしてある、Git化、自動化、リポジトリ連携、脱Excel 、の4つのパターンは、私がこれまでやってきたことを振返ってみて、パターンといえるかな、というものをあげています。
ビルド結果ページと、Stash、Jiiraへのリンクです。 前回のビルドから、今回のビルドまでに、誰がどんな変更をしたか、サマリ表示されます。 また、その変更はどのチケット起因かもリンクされます。 もしビルド失敗するようなことがあれば、犯人の特定がかなり容易です。
マニュアルテストの失敗報告画面から、Jiraチケットを起票するところです。 1クリックで、テストの前提条件、手順、期待値、テスターのコメントを転記したjirチケットを起票できます。 当然、テスト結果レポートとこの起票されたJiraはリンクされるので、マネージャーが失敗したテストケースは対応済みかどうかがすぐに分かります。 コーダーはいちいちテスト実行手順を聞く手間を省けて、地味に便利な機能です。
継続的デリバリーもつきつめれば、Server、SW、Networkの実装です。 開発業務のシステム化にほかなりません。
デモの流れです。 ビルドプランを選択し、ビルドが走り、Glassfish管理サーバにwarファイルを移送し、デプロイコマンドをキックします。デプロイ対象のクラス名は、ビルド開始時に入力した値を使います。 デプロイ後は、手動の結合テストや、セレニウムを使ったUIの自動テストを走らせます。 私たちのグループでは、このUIの自動テストを 継続的システムテストと称し、デグレの早期発見に取り組みはじめました。 継続的システムテストの詳細(コンセプト、課題、ソリューション)は参照先のコンテンツをご参照ください。
※人間がやるレビュー 読みやすい(他の人が再短時間で理解できる) コードか否か 他のメンバーに期待して良い技術レベルは各チーム毎に文化としてなんとなく決まっていればよい。ただし、学習コストに対して効果が十分高いものは導入するべき。 明確な単語を選ばれているか?ネーミングの問題 × いい加減な名前。tmp × 誤解される checkNull) ○ 付加された情報 plaintext_password コメント (書き手の意図を読み手に知らせること) 制御フロー・・・読みやすく (if/elseブロックの並び順、三項演算子、早期return、ネストを浅くする)
募集中!待ってます!
Download now