46
開発者とディレクターの視点を変えていく方法 岡崎隆之 (@watermint) グリー株式会社 Jenkins User Conference 2012, 2012-07-29, S406-5

Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

Embed Size (px)

DESCRIPTION

発表者 岡崎隆之 (@watermint) 発表者紹介 2006年頃よりHudson/Jenkinsを使い始めて以来、Sun Microsystems在籍時代はエンタープライズJava、ACCESS在籍時代はiOSや電子書籍、GREE在籍の今はWebサービス基盤の開発と、それぞれ異なる局面におけるJenkins導入してきたJenkinsユーザです。 概要 ソフトウエア開発には多くのステークホルダーが介在します。Jenkinsを単に開発ツールとしてではなく、開発ワークフローの中心的存在に持ち上げ、視点をツールによる効率化からワークフローの最適化へ向けていくことがJenkins導入の重要なポイントです。本セッションでは利用事例をはじめとして、Jenkinsを中心としたワークフロー立ち上げについてご紹介します。 キーワード Android, iOS, PHP, github, ワークフロー

Citation preview

Page 1: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

開発者とディレクターの視点を変えていく方法岡崎隆之 (@watermint) グリー株式会社

Jenkins User Conference 2012, 2012-07-29, S406-5

Page 2: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

岡崎 隆之@watermintwatermint.org

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 3: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

岡崎 隆之エンジニアグリー株式会社

labs.gree.jp/blog

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 4: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

開発者とディレクターの視点を変えていく方法

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 5: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

グリーでの開発スタイル

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 6: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニアディレクターデザイナープロジェクトマネージャー

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 7: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

グリーでの開発プロセスJenkins導入前

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 8: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

ビルド

依頼 レビューディレクター

エンジニア

デザイナー

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 9: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

ディレクター

エンジニア

デザイナー

v1v2v3v4

レビュー

修正&ビルド

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 10: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

ディレクター

エンジニア

デザイナー

v1v2v3v4

レビュー

修正&ビルドJenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 11: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

導入前の問題点

作業の属人化成果物の管理

残課題管理が手薄

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 12: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

導入前の問題点

作業の属人化成果物の管理

残課題管理が手薄

問題を放置すると...

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 13: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

ディレクター

エンジニア

デザイナー

集中できない

つかまらない

エンジニア

ビ ル ド法が分からない

頼みづらい

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 14: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

ディレクター

エンジニア

デザイナー

v1v2v3v4

修正&ビルド

旧Ver紛失旧Verで検証

管理が煩雑

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 15: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

ディレクター

エンジニア

デザイナー

v1v2v3v4

Issueの散乱

直ったかわからない

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 16: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

グリーでのJenkins導入初期導入

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 17: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニア

ディレクター デザイナー

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 18: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

集中できない

つかまらない

ビ ル ド法が分からない

頼みづらい

旧Ver紛失旧Verで検証

Issueの散乱

直ったかわからない

管理が煩雑

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 19: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

集中できない

つかまらない

ビ ル ド法が分からない

頼みづらい

旧Ver紛失旧Verで検証

Issueの散乱

直ったかわからない

管理が煩雑

ツールの導入で解決

仕組みの改善で解決

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 20: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

導入初期のポイント, その1

理屈よりも、早期にメリットを実感できることを優先

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 21: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

Androidアプリのビルド

iOSアプリのビルド

リリース用 本番環境 ステージング 開発

リリース用 本番環境 ステージング 開発

煩雑な手作業は自動化のメリットがすぐに実感できる

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 22: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

導入初期のポイント, その2

迅速なサポート

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 23: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

問い合わせ集中

エンジニア

ディレクター デザイナー

ビルドの失敗

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 24: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニア

ディレクター デザイナー

Jenkinsサポート

Jenkinsサポートのメーリングリストやチャットを準備

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 25: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニア

ディレクター デザイナー

Jenkinsサポート

Jenkinsサポートのメーリングリストやチャットを準備Jenkinsに詳しい一部のサポーター

組織の中でのサポート体制

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 26: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

グリーでのJenkins導入より進んだ導入

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 27: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニア

コミット通知

指標の集計

各種指標

単体テスト数テストカバレッジ静的解析結果パフォーマンス

etc...Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 28: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 29: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

各種指標

単体テスト数テストカバレッジ静的解析結果パフォーマンス

etc...Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 30: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

各種指標

単体テスト数テストカバレッジ静的解析結果パフォーマンス

etc...

指標が活かされない

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 31: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニア

コミット通知

指標の集計

リリース

指標とリリース基準が結びつかないと無視される

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 32: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

エンジニア

コミット通知

指標の集計

リリース

指標とリリース基準が結びつかないと無視される

あるべき論、精神論

しくみ、制度化

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 33: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

改善のポイント, その1

しくみの整備制度による統制

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 34: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

リリース

リリース手順を見直す制度化して統制する

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 35: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

改善のポイント, その2

フレームワークの整備と指標の活用

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 36: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

コピー&ペースト多発バグを生みやすい記述パフォーマンス劣化テストカバレッジの低下コメント記述の不足

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 37: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

リリース

リリース手順に組み込む

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 38: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

フレームワーク改善やリファクタリングの成果確認のために指数を利用する

施策1施策2 施策3

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 39: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

フレームワーク改善やリファクタリングの成果確認のために指数を利用する

施策1施策2 施策3

コード品質の低下は自然と考える

フレームワークで下支えする

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 40: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

グリーでのJenkins導入まとめ

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 41: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

導入初期のポイント, その1

理屈よりも、早期にメリットを実感できることを優先

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 42: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

導入初期のポイント, その2

迅速なサポート組織的なサポート体制チャットやメーリングリストの準備

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 43: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

改善のポイント, その1

しくみの整備制度による統制

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 44: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

改善のポイント, その2

フレームワークの整備と指標の活用フレームワークで下支えする

Jenkins User Conference 2012, Copyright (c) 2012 GREE, Inc. All rights reserved.

Page 45: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

Thank You!

Page 46: Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法

gree.co.jp/recruit