20141108 俺のエンジニアリング #devlove

of 97 /97
エンジニアリング ENGINEERING 及部敬雄 @TAKAKING22 2014.11.8 プレイバックDevLOVE現場甲子園 - エンジニアリングにチームビルディングは必要なのか -

Transcript of 20141108 俺のエンジニアリング #devlove

Page 1: 20141108 俺のエンジニアリング #devlove

俺のエンジニアリングE N G I N E E R I N G

及部敬雄 @TAKAKING22

2014.11.8 プレイバックDevLOVE現場甲子園

- エンジニアリングにチームビルディングは必要なのか -

Page 2: 20141108 俺のエンジニアリング #devlove

@TAKAKING22● WEBサービス開発● 唄って踊れるエンジニア ● 野生のアジャイラー ● 邪道スクラムマスター ● チェンジエージェント ● チームファシリテーター

及部 敬雄

Page 3: 20141108 俺のエンジニアリング #devlove

AFTERBEFORE

超サイヤ人 超サイヤ人ゴッド

Page 4: 20141108 俺のエンジニアリング #devlove

初勉強会&初発表http://kokucheese.com/event/index/21611/

Page 5: 20141108 俺のエンジニアリング #devlove

http://devlove.doorkeeper.jp/events/16193

Page 6: 20141108 俺のエンジニアリング #devlove
Page 7: 20141108 俺のエンジニアリング #devlove

現場も発表もナマモノ

Page 8: 20141108 俺のエンジニアリング #devlove

エンジニアリングに チームビルディング は必要なのか

Page 9: 20141108 俺のエンジニアリング #devlove

正直わからんっ!!

Page 10: 20141108 俺のエンジニアリング #devlove

高度化する技術 高速化するサービス開発

天才じゃない

わかっていること

Page 11: 20141108 俺のエンジニアリング #devlove

Big Data

Devicehttp://goo.gl/6eCpP8

Cloud

Automation

Machine Learning

Testing

Web & APP

高度化する技術

Page 12: 20141108 俺のエンジニアリング #devlove

http://goo.gl/wyMnPk

高速化するサービス開発

Page 13: 20141108 俺のエンジニアリング #devlove

http://goo.gl/Ufyt96

天才じゃない

Page 14: 20141108 俺のエンジニアリング #devlove

エンジニアリングに チームビルディング は必要なのか

Page 15: 20141108 俺のエンジニアリング #devlove

正直わからんっ!!

Page 16: 20141108 俺のエンジニアリング #devlove

だけど、 私にはチームが必要!!

Page 17: 20141108 俺のエンジニアリング #devlove

http://goo.gl/KqQYzR

チーム=現場

Page 18: 20141108 俺のエンジニアリング #devlove

http://goo.gl/KqQYzR

チーム=最前線

Page 19: 20141108 俺のエンジニアリング #devlove

いい現場は 最初からそこに あったわけではない

Page 20: 20141108 俺のエンジニアリング #devlove

誰かがいい現場を つくったストーリー がそこにはある

Page 21: 20141108 俺のエンジニアリング #devlove

仕事サービスを保守運用

しながら新規開発を行う

Page 22: 20141108 俺のエンジニアリング #devlove

役割Product Owner

Engineers

Page 23: 20141108 俺のエンジニアリング #devlove

開発の流れ要求 分析 計画 開発 テスト リリース

Page 24: 20141108 俺のエンジニアリング #devlove

開発の流れ要求 分析 計画 開発 テスト リリース

要求 分析 計画 開発 テスト リリース

要求 分析 計画 開発 テスト リリース

保守・運用

Page 25: 20141108 俺のエンジニアリング #devlove

!チームに一体感がない !お互いがやってることが見えない !PRJが終わるかわからなくて不安 !リリースに時間がかかる !テストコードがない !トラブルが多い …

チームが抱えていた問題

Page 26: 20141108 俺のエンジニアリング #devlove

http://goo.gl/ZJwlp2

“ふつう” をぶっ壊す!!

Page 27: 20141108 俺のエンジニアリング #devlove

http://goo.gl/JxGrdM

こっそりやる

Page 28: 20141108 俺のエンジニアリング #devlove

なんだこいつ感

Page 29: 20141108 俺のエンジニアリング #devlove

ひとりカンバン

Page 30: 20141108 俺のエンジニアリング #devlove

聴いてくれる感

Page 31: 20141108 俺のエンジニアリング #devlove

http://goo.gl/74LUD5

ヒアリング

Page 32: 20141108 俺のエンジニアリング #devlove

1on1ランチ 聞くのではなく聴く

未来・問題を見てもらう

ヒアリング

Page 33: 20141108 俺のエンジニアリング #devlove

「どんなチーム?」ではなく、 「理想のチームと今との差分は?」

ヒアリング

「なにか問題ある?」ではなく、 「何を変えたらもっとハッピーになる?」

「なにがやりたい?」ではなく、 「1つ変えられるなら何を変える?」

Page 34: 20141108 俺のエンジニアリング #devlove

!チームに一体感がない !お互いがやってることが見えない !PRJが終わるかわからなくて不安 !リリースに時間がかかる !テストコードがない !トラブルが多い …

ヒアリングの結果まとめ

みんな気づいてる!!

Page 35: 20141108 俺のエンジニアリング #devlove

!チームに一体感がない !お互いがやってることが見えない !PRJが終わるかわからなくて不安 !リリースに時間がかかる !テストコードがない !トラブルが多い …

ヒアリングの結果まとめ

なぜ変わらないのか

Page 36: 20141108 俺のエンジニアリング #devlove

http://goo.gl/nL6uM7

A. 忙しい

Page 37: 20141108 俺のエンジニアリング #devlove

よくある間違いプロセス導入 ツール導入 ≠ 改善

Page 38: 20141108 俺のエンジニアリング #devlove

なんでこんなこともできてないの? こうやってやればいいのに 普通こうじゃないの? 一般的には…

教科書にこう書いてあるよ

禁句

Page 39: 20141108 俺のエンジニアリング #devlove

http://goo.gl/uyHjnS

一杯になってる グラスに注いでも こぼれるだけ

Page 40: 20141108 俺のエンジニアリング #devlove

人は変化を好むが、 他人に変化させられる ことを好まない

By Henrik

Page 41: 20141108 俺のエンジニアリング #devlove

やることを減らす 変えるのはそれから

忙しい

変化を嫌うやらされる→自分たちがやる 成果が出てることが見える変化できる状況をつくる!!

最初のアプローチ

Page 42: 20141108 俺のエンジニアリング #devlove

チェンジインセプションデッキ

Page 43: 20141108 俺のエンジニアリング #devlove

チェンジインセプションデッキ

!なぜここにいるのか !パッケージデザイン !夜も眠れない問題 !優先順位 !ステークホルダー

Page 44: 20141108 俺のエンジニアリング #devlove

チェンジインセプションデッキ

“みんなにヒアリングした 内容をまとめただけです”

マジックワード1

Page 45: 20141108 俺のエンジニアリング #devlove

チェンジロードマップ

Page 46: 20141108 俺のエンジニアリング #devlove

チェンジロードマップ

“●●さんが教えてくれたんですが”

マジックワード2

Page 47: 20141108 俺のエンジニアリング #devlove

現状を共通認識にする “自分たちの問題”にする 過去ではなく未来を見る やれそうだ!感をつくる

Page 48: 20141108 俺のエンジニアリング #devlove

同じ方向を見る

Page 49: 20141108 俺のエンジニアリング #devlove

見える化

Page 50: 20141108 俺のエンジニアリング #devlove

http://goo.gl/nL6uM7

忙しい

Page 51: 20141108 俺のエンジニアリング #devlove

http://goo.gl/nL6uM7

だれが? なにを? どれくらい? なぜ?

Page 52: 20141108 俺のエンジニアリング #devlove

http://goo.gl/uyHjnS

グラスの大きさを知る

Page 53: 20141108 俺のエンジニアリング #devlove

http://goo.gl/agA5Qf

交通整理

Page 54: 20141108 俺のエンジニアリング #devlove

ワークフローの可視化

Page 55: 20141108 俺のエンジニアリング #devlove

かんばん設計

Page 56: 20141108 俺のエンジニアリング #devlove

かんばん

Page 57: 20141108 俺のエンジニアリング #devlove

ふりかえり &

メトリクス

Page 58: 20141108 俺のエンジニアリング #devlove

ふりかえり&メトリクス!ふりかえりとメトリクスはセット !Tryの仮説検証・効果検証に必要なメトリクスを考える

!メトリクスにもWIP制限 !メトリクス自体もふりかえる

Page 59: 20141108 俺のエンジニアリング #devlove

ふりかえり(KPT)

Page 60: 20141108 俺のエンジニアリング #devlove

メトリクス

Page 61: 20141108 俺のエンジニアリング #devlove

メトリクス定点観測のメトリクス

検証のメトリクス

継続観測してチームの変化を知る。 気づくことができるようにする。

新たに導入するTryや問題解決の 検証のために一時的に観測するもの。

ex) ベロシティ、Done率、Bug率…

Page 62: 20141108 俺のエンジニアリング #devlove

とるだけのメトリクスは 猛毒よりもタチが悪い

By The Hero※脚色です、ごめんなさいw

Page 63: 20141108 俺のエンジニアリング #devlove

例Problem 朝礼で宣言した内容が、 計画とおり進んでいるかわかりにくい

仮説 朝礼でいったことを忘れてしまう

メトリクス 前日の計画との差分を計測

Page 64: 20141108 俺のエンジニアリング #devlove

例Try

Page 65: 20141108 俺のエンジニアリング #devlove

例Tryプロジェクト見取り図

Featuring Ito Naoyaさん

有用だと思ったらすぐパクる!!

一目で朝会の情報が見えるように

http://goo.gl/kXHy7n

Page 66: 20141108 俺のエンジニアリング #devlove

例Result 前日の計画との差分を計測

avg 3.2 avg 1.7Before After

Page 67: 20141108 俺のエンジニアリング #devlove

なかなか変わらない 繰り返して身につける

Page 68: 20141108 俺のエンジニアリング #devlove

大事なこと

ムダだったらすぐ捨てる

http://goo.gl/bDhLo9

Page 69: 20141108 俺のエンジニアリング #devlove

http://goo.gl/bDhLo9

捨てる判断ポイントふりかえりの結果 メトリクスの結果

チームで判断して捨てる

Page 70: 20141108 俺のエンジニアリング #devlove

http://goo.gl/Qf0v4E

見えてきたもの

Page 71: 20141108 俺のエンジニアリング #devlove

ふりかえりの積み重ね

!90回のふりかえり !224個のTry

約2年間で、

Page 72: 20141108 俺のエンジニアリング #devlove

Sprint Burnup レビュー可視化

Sprint Milestone

プライオリティ

サーバー状況 可視化

番長 可視化

ふりかえりの積み重ね

Page 73: 20141108 俺のエンジニアリング #devlove

最後にがんばる

安定してがんばる

仕事の進め方

安定して進める

Page 74: 20141108 俺のエンジニアリング #devlove

リリース成功率

Before After

×1.5

Page 75: 20141108 俺のエンジニアリング #devlove

トラブル発生

Before After

-90%

Page 76: 20141108 俺のエンジニアリング #devlove

Bug率

Before After

-50%

Page 77: 20141108 俺のエンジニアリング #devlove

計画にあわせて変化した

Page 78: 20141108 俺のエンジニアリング #devlove
Page 79: 20141108 俺のエンジニアリング #devlove

さいきょうがふつうのチーム

さいきょうのふつうのチーム

Page 80: 20141108 俺のエンジニアリング #devlove

PERFECTを狙うのではなく BETTERをBESTにしていく

アプローチ

Page 81: 20141108 俺のエンジニアリング #devlove

インクリメンタル チームビルディング

http://goo.gl/2bM6Re

Page 82: 20141108 俺のエンジニアリング #devlove

エンジニアリングに チームビルディング は必要なのか

Page 83: 20141108 俺のエンジニアリング #devlove

!Unit Test導入 !CIサーバー導入 !ViewTemplate再編 !設計思想の見直し !キャッシュ再設計 !継続的リファクタリング

この間のエンジニアリング改善

!ペアプロ導入 !デザインもGit管理 ! Grunt導入 !Vagrant & Chef !サーバーレポート !運用自動化

そこそこ変わった?

Page 84: 20141108 俺のエンジニアリング #devlove

この間のエンジニアリング改善

チームビルディングによって…

●新しい技術への挑戦やシステム改善  に使える時間が増えた ●チームのスキルが向上して学び合う  文化ができてきたエンジニアリングの選択肢が拡がった

Page 85: 20141108 俺のエンジニアリング #devlove

コードレビュー勉強会

Page 86: 20141108 俺のエンジニアリング #devlove

コードレビュー勉強会

“コードレビューも コミュニケーションだよね”

“結局はヒト!!”

なんかチームっぽい

“チームのコンセンサス”

Page 87: 20141108 俺のエンジニアリング #devlove

エンジニアの仕事

つくる

Page 88: 20141108 俺のエンジニアリング #devlove

http://goo.gl/xHj4QM

作る

http://goo.gl/9LcvnY

創る

Page 89: 20141108 俺のエンジニアリング #devlove

だれがつくる? なにをつくる? どこでつくる? いつつくる? なぜつくる?

どうやってつくる?

Page 90: 20141108 俺のエンジニアリング #devlove

エンジニアリングに チームビルディングが 必要かどうかはわからない

Page 91: 20141108 俺のエンジニアリング #devlove

だけど、“つくる”ために 必要だったら

なんでもやればいい

Page 92: 20141108 俺のエンジニアリング #devlove

“プログラム”だけが エンジニアリングじゃない

Page 93: 20141108 俺のエンジニアリング #devlove

http://goo.gl/2iuL0p

チーム アーキテクト

ビジネス アーキテクト

テクノロジー アーキテクト

Page 94: 20141108 俺のエンジニアリング #devlove

http://goo.gl/2iuL0p

要求分析

チームビルディング

システムアーキテクトモデリング

テストスキルプログラミングスキル

ビジネスプロセスマーケティング

開発プロセス

戦略

プロジェクトマネジメント

Page 95: 20141108 俺のエンジニアリング #devlove

やらない理由をつくるのはやめた

Page 96: 20141108 俺のエンジニアリング #devlove

プログラミングでも インフラでも アジャイルでも スクラムでも リーンでも アウトソーシングでも チームビルディングでも なんだっていい

やってやる!!

Page 97: 20141108 俺のエンジニアリング #devlove

それが俺のエンジニアリングだ!!

次回作にご期待ください!!