Copyright © NTT Communications Corporation. All right reserved.
外注が主な企業でどのように
内製開発を⽴ち上げ・進化させているのか?
@Developers Summit 2016...
Copyright © NTT Communications Corporation. All right reserved.
2
⾃⼰紹介
■名前
岩瀬 義昌 / @iwashi86
■仕事
NTTコミュニケーションズ 技術開発部
Webコア...
Copyright © NTT Communications Corporation. All right reserved.
3
⾃⼰紹介
■名前
岩瀬 義昌 / @iwashi86
■仕事
NTTコミュニケーションズ 技術開発部
Webコア...
Copyright © NTT Communications Corporation. All right reserved.
4
Copyright © NTT Communications Corporation. All right reserved.
5
Copyright © NTT Communications Corporation. All right reserved.
6
Copyright © NTT Communications Corporation. All right reserved.
7
8Copyright © NTT Communications Corporation. All right reserved.
デモ
9Copyright © NTT Communications Corporation. All right reserved.
9
https://www.flickr.com/photos/quinnanya/5725134193/in/p...
Copyright © NTT Communications Corporation. All right reserved.
10
SkyWay = WebRTCプラットフォーム
(WebRTC向けのSDKやサーバ機能を提供)
SkyWayを...
11Copyright © NTT Communications Corporation. All right reserved.
本題
Copyright © NTT Communications Corporation. All right reserved.
http://www.slideshare.net/Ryuzee/devsumia
https://www.flic...
Copyright © NTT Communications Corporation. All right reserved.
http://www.slideshare.net/Ryuzee/devsumia
Copyright © NTT Communications Corporation. All right reserved.
14
https://www.flickr.com/photos/84744710@N06/7997288513/i...
Copyright © NTT Communications Corporation. All right reserved.
15
当時の衝撃
https://www.flickr.com/photos/84744710@N06/799728...
Copyright © NTT Communications Corporation. All right reserved.
16
誤記じゃないの?
https://www.flickr.com/photos/84744710@N06/799...
Copyright © NTT Communications Corporation. All right reserved.
17
それから3年
聴講から登壇する側へ
https://www.flickr.com/photos/dgooman...
Copyright © NTT Communications Corporation. All right reserved.
18https://www.flickr.com/photos/image-catalog/17094809777/...
Copyright © NTT Communications Corporation. All right reserved.
19
⼤事な疑問
そもそも…
Copyright © NTT Communications Corporation. All right reserved.
20
なぜ内製? 外注じゃダメ?
https://www.flickr.com/photos/mdpettitt/8...
Copyright © NTT Communications Corporation. All right reserved.
21
外注が悪いわけではない
• 内製も外注も⽬的達成のための⼿段
Copyright © NTT Communications Corporation. All right reserved.
22
• 内製も外注も⽬的達成のための⼿段
• リソースが無い場合は外注しかない
外注が悪いわけではない
Copyright © NTT Communications Corporation. All right reserved.
23
• 内製も外注も⽬的達成のための⼿段
• リソースが無い場合は外注しかない
• 1つのリスクヘッジの⼿段でもあ...
Copyright © NTT Communications Corporation. All right reserved.
24
外注で認識して
おくべきこと
しかし、外注利⽤時に強く認識したほうが良いことがあります。それは…
Copyright © NTT Communications Corporation. All right reserved.
25
NDA
NDAからはじまる⻑い⻑い旅路です。
Copyright © NTT Communications Corporation. All right reserved.
26
NDA
RFP
Copyright © NTT Communications Corporation. All right reserved.
27
NDA
RFP
決裁
Copyright © NTT Communications Corporation. All right reserved.
28
NDA
RFP
決裁
契約
Copyright © NTT Communications Corporation. All right reserved.
29
NDA
RFP
決裁
契約検収
Copyright © NTT Communications Corporation. All right reserved.
30
NDA
RFP
決裁
契約検収
エンプラで検収といえばもちろんコレです。
Copyright © NTT Communications Corporation. All right reserved.
31
経験ありますよね?
Copyright © NTT Communications Corporation. All right reserved.
32
Excel x スクショ = エビデンス
https://www.flickr.com/photos/pegw...
Copyright © NTT Communications Corporation. All right reserved.
33
こんなはずじゃなかった
このように考えるエンジニアもいると思います
Copyright © NTT Communications Corporation. All right reserved.
34
その⼀⽅で…
Copyright © NTT Communications Corporation. All right reserved.
35http://www.slideshare.net/jallspaw/10-deploys-per-day-de...
Copyright © NTT Communications Corporation. All right reserved.
36
その結果
• IT企業にとって強⼒の源泉である
技術⼒に差がついていく
外注企業の
技術⼒
内製企業の
技術⼒...
Copyright © NTT Communications Corporation. All right reserved.
37
その結果
• IT企業にとって強⼒の源泉である
技術⼒に差がついていく
• 外注のオーバヘッド分の速度の遅れ
...
Copyright © NTT Communications Corporation. All right reserved.
38
https://www.flickr.com/photos/derekskey/5249580870/in/p...
Copyright © NTT Communications Corporation. All right reserved.
39
幸いにもソフトウェア開発が容易に
例えば、インスタグラムという有名なアプリ・サービスがあります。
Instag...
Copyright © NTT Communications Corporation. All right reserved.
Instagram
40
幸いにもソフトウェア開発が容易に
http://jp.techcrunch.com/201...
Copyright © NTT Communications Corporation. All right reserved.
41
SkyWayは、なぜ内製メイン?
・WebRTCという技術進化に追従するため
WebRTCは技術進化が本当に早...
Copyright © NTT Communications Corporation. All right reserved.
42
SkyWayは、なぜ内製メイン?
・WebRTCという技術進化に追従するため
1〜1.5ヶ⽉で⼤幅アップデート...
Copyright © NTT Communications Corporation. All right reserved.
43
SkyWayは、なぜ内製メイン?
・WebRTCという技術進化に追従するため
・内製で[開発⇒リリース]を
⾼...
Copyright © NTT Communications Corporation. All right reserved.
44
(⾃称ですが)SkyWayは⽇本で最もメジャーな
WebRTCプラットフォーム
本⽇はそのようなSkyWayを...
Copyright © NTT Communications Corporation. All right reserved.
45
今⽇のゴール
内製を始める気になる ⇒ ⾏動する
(そのための私が知るノウハウは本⽇、全て共有します)
htt...
Copyright © NTT Communications Corporation. All right reserved.
46
以降のアジェンダ
1. 内製開発の種をまく
・⽂化の話
2. 内製開発を開花させる
・技術の話
・⽂化の話
Copyright © NTT Communications Corporation. All right reserved.
47
以降のアジェンダ
1. 内製開発の種をまく
・⽂化の話
2. 内製開発を開花させる
・技術の話
・⽂化の話
Copyright © NTT Communications Corporation. All right reserved.
48https://www.flickr.com/photos/31031835@N08/6004532099/in...
Copyright © NTT Communications Corporation. All right reserved.
49
Date Event
2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート
2013/4 ・SkyWayのアイ...
Copyright © NTT Communications Corporation. All right reserved.
50
■外注⽂化だと⼈も環境も無い
・だが、誰かが進めないと何も始まらない
いきなり内製は難しい
Copyright © NTT Communications Corporation. All right reserved.
51
■外注⽂化だと⼈も環境も無い
・だが、誰かが進めないと何も始まらない
・そこで内製の範囲を絞って始める
⇒ ⽐...
Copyright © NTT Communications Corporation. All right reserved.
52
Date Event
2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート
2013/4 ・SkyWayのアイ...
Copyright © NTT Communications Corporation. All right reserved.
53
Date Event
2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート
2013/4 ・SkyWayのアイ...
54Copyright © NTT Communications Corporation. All right reserved.
54
内製を始める際の⼼構え
いくつか⼼構え、持つべきメンタルをお伝えします。1つ⽬は…
Copyright © NTT Communications Corporation. All right reserved.
55
https://rotsuya.github.io/slides/enterprise-hacks-20151...
Copyright © NTT Communications Corporation. All right reserved.
許可を求めるより
寛容に期待しよう(TeamGeek より)
⼤企業では全てにおいて、許可をとると時間がかかりすぎて...
Copyright © NTT Communications Corporation. All right reserved.
あらゆる⽂化は⼩さな種から育つ。
またたったひとつの決定で
⽂化ができるわけでもない。
(マイクロソフトを辞めて、オ...
Copyright © NTT Communications Corporation. All right reserved.
58
https://www.flickr.com/photos/40385177@N07/7033303711/i...
Copyright © NTT Communications Corporation. All right reserved.
59
良い⼈材を集める(⼤企業だと難しいが)
・あらゆるチャネルを使う
Copyright © NTT Communications Corporation. All right reserved.
60
・あらゆるチャネルを使う
・業務委託(⼀流の⼈と)
html5j ファウンダー
⽩⽯⽒
Google Deve...
Copyright © NTT Communications Corporation. All right reserved.
61
・あらゆるチャネルを使う
・業務委託(⼀流の⼈と)
・異動(社内公募)
良い⼈材を集める(⼤企業だと難しいが)...
Copyright © NTT Communications Corporation. All right reserved.
62
・あらゆるチャネルを使う
・業務委託(⼀流の⼈と)
・異動(社内公募)
・新卒 / インターン / 中途
良い...
Copyright © NTT Communications Corporation. All right reserved.
君の周りにいる⼈たちが
君⾃⾝のパフォーマンスに影響する。
仲間は慎重に選べ。
(情熱プログラマー より)
Copyright © NTT Communications Corporation. All right reserved.
64
単なるメンバ増はアンチパターン
・⼈が増えたからといって
⽣産能⼒は劇的に向上しない
・むしろチーム全体として...
Copyright © NTT Communications Corporation. All right reserved.
65
ではメンバ追加のベストプラクティスは?
Copyright © NTT Communications Corporation. All right reserved.
66
・⾃分より優秀だと思う⼈を⼊れる
・その際、⾃分の⼈事評価が
下がるなどと考えないこと
ではメンバ追加のベスト...
Copyright © NTT Communications Corporation. All right reserved.
67
・⾃分より優秀だと思う⼈を⼊れる
・その際、⾃分の⼈事評価が
下がるなどと考えないこと
・むしろ、最⾼の⼈と働...
Copyright © NTT Communications Corporation. All right reserved.
68
ベストプラクティスは?
・⾃分より優秀だと思う⼈を⼊れる
・その際、⾃分の⼈事評価が
下がるなどと考えないこと...
Copyright © NTT Communications Corporation. All right reserved.
69
アジェンダ
1. 内製開発の種をまく
・⽂化の話
2. 内製開発を開花させる
・技術の話
・⽂化の話
Copyright © NTT Communications Corporation. All right reserved.
70
SkyWayを⽀える開発技術
https://www.flickr.com/photos/36302473@N...
Copyright © NTT Communications Corporation. All right reserved.
Application (任意のアプリケーション)
Orchestration アプリへの動的な設定値注⼊など
Co...
Copyright © NTT Communications Corporation. All right reserved.
Application (任意のアプリケーション)
Orchestration アプリへの動的な設定値注⼊など
Co...
Copyright © NTT Communications Corporation. All right reserved.
73
Bootstrapping / インフラ
・Infrastructure as Code(IaC)で
宣⾔的に...
Copyright © NTT Communications Corporation. All right reserved.
74
続:Bootstrapping / インフラ
・クラウド環境も同様にIaC
・利⽤クラウド
クラウドには向き不...
Copyright © NTT Communications Corporation. All right reserved.
75
続:Bootstrapping / インフラ
・クラウド環境も同様にIaC
・利⽤クラウド ⇒ 構築⽅法:
内...
Copyright © NTT Communications Corporation. All right reserved.
76
続:Bootstrapping / インフラ
・AWSのユーザ管理もTerraform
lb というユーザを、...
Copyright © NTT Communications Corporation. All right reserved.
77
修正分(ユーザ追加など)のPR作成
・AWSのユーザ管理もTerraform
・Pull Request Dr...
Copyright © NTT Communications Corporation. All right reserved.
78
GHEからCI起動
・AWSのユーザ管理もTerraform
・Pull Request Drivenで運⽤
...
Copyright © NTT Communications Corporation. All right reserved.
79
Dry-Runして変更内容を作成
・AWSのユーザ管理もTerraform
・Pull Request Dri...
Copyright © NTT Communications Corporation. All right reserved.
80
内容をレビュー ⇒ OKならマージ
・AWSのユーザ管理もTerraform
・Pull Request Dr...
Copyright © NTT Communications Corporation. All right reserved.
81
マージ契機でCI起動
・AWSのユーザ管理もTerraform
・Pull Request Drivenで運⽤...
Copyright © NTT Communications Corporation. All right reserved.
82
実際にAWSへ変更を反映
・AWSのユーザ管理もTerraform
・Pull Request Drivenで...
Copyright © NTT Communications Corporation. All right reserved.
Application (任意のアプリケーション)
Orchestration アプリへの動的な設定値注⼊など
Co...
Copyright © NTT Communications Corporation. All right reserved.
84
Configuration
・ミドルウェアの導⼊などには
Ansibleを利⽤
・導⼊後の正常性確認、
および...
Copyright © NTT Communications Corporation. All right reserved.
Application (任意のアプリケーション)
Orchestration アプリへの動的な設定値注⼊など
Co...
Copyright © NTT Communications Corporation. All right reserved.
86
Orchestration
・アプリケーションデプロイには
Configuration同様にAnsible
・...
Copyright © NTT Communications Corporation. All right reserved.
Application
任意のアプリケーション
(JavaScriptベースのアプリを例を紹介)
Orchestra...
Copyright © NTT Communications Corporation. All right reserved.
88
Application Development
・サーバサイドおよびフロントエンドで
JavaScript /...
Copyright © NTT Communications Corporation. All right reserved.
89
Application Development
・サーバサイドおよびフロントエンドで
JavaScript /...
Copyright © NTT Communications Corporation. All right reserved.
90
Application開発フロー
・スクラムを採⽤しバックログをカンバン管理
そんなアプリ開発はアジャイルの⼿...
Copyright © NTT Communications Corporation. All right reserved.
91
Application開発フロー
・スクラムを採⽤しバックログをカンバン管理
・カンバンは開発メンバの物理ロケ...
Copyright © NTT Communications Corporation. All right reserved.
92
Application開発フロー
・スクラムを採⽤しバックログをカンバン管理
・カンバンは開発メンバの物理ロケ...
Copyright © NTT Communications Corporation. All right reserved.
93
Application開発フロー
・スクラムを採⽤しバックログをカンバン管理
・カンバンは開発メンバの物理ロケ...
Copyright © NTT Communications Corporation. All right reserved.
94
続:Application開発フロー
①Pull Request
②Webhook
⑤Webhook
Dron...
Copyright © NTT Communications Corporation. All right reserved.
95
Point1: ④のコードレビュー
①Pull Request
②Webhook
⑤Webhook
Drone...
Copyright © NTT Communications Corporation. All right reserved.
96
④コードレビュー
・コードレビューは有⽤
・ソフトウェアの品質向上
・チームメンバのスキル向上
・情報共有によ...
Copyright © NTT Communications Corporation. All right reserved.
97
④コードレビュー
・コードレビューは有⽤
・ソフトウェアの品質向上
・チームメンバのスキル向上
・情報共有によ...
Copyright © NTT Communications Corporation. All right reserved.
98
続:④コードレビュー
・そこで、チームの技術指針に組込み
何度も話をするなどして、徐々に浸透させる
コードレビ...
Copyright © NTT Communications Corporation. All right reserved.
99
Point2: ⑥でもサクッと動く設計が重要
①Pull Request
②Webhook
⑤Webhook
...
Copyright © NTT Communications Corporation. All right reserved.
100
12 Factor App な設計へ
http://12factor.net/ja/
Copyright © NTT Communications Corporation. All right reserved.
101
アジェンダ
1. 内製開発の種をまく
・⽂化の話
2. 内製開発を開花させる
・技術の話(おまけ)
・⽂化の...
Copyright © NTT Communications Corporation. All right reserved.
RealをHackする、ということです。ならば、エンプラのエンジニアらしく…
Copyright © NTT Communications Corporation. All right reserved.
エンタープライズ系業務も
エンジニアらしくHack!
エンプラで仕事で使うソフトと⾔えば…
Copyright © NTT Communications Corporation. All right reserved.
104
Officeとは友達ですよね!?
・プロジェクト企画/計画書、営業資料 etc…
・Officeはビジネス職...
Copyright © NTT Communications Corporation. All right reserved.
105
• 提案資料.pptx
オフィスあるある
まずファイルを作ります。で修正を加えたら…
Copyright © NTT Communications Corporation. All right reserved.
106
• 提案資料.pptx
• 提案資料_20160219.pptx
⽇付を追加して更新
さらに…
Copyright © NTT Communications Corporation. All right reserved.
107
• 提案資料.pptx
• 提案資料_20160219.pptx
• 提案資料_20160219r2.ppt...
Copyright © NTT Communications Corporation. All right reserved.
108
• 提案資料.pptx
• 提案資料_20160219.pptx
• 提案資料_20160219r2.ppt...
Copyright © NTT Communications Corporation. All right reserved.
109
• 提案資料.pptx
• 提案資料_20160219.pptx
• 提案資料_20160219r2.ppt...
Copyright © NTT Communications Corporation. All right reserved.
110
• 提案資料.pptx + 修正履歴/理由
• 提案資料_20160219.pptx
• 提案資料_2016...
Copyright © NTT Communications Corporation. All right reserved.
111
• 提案資料.pptx + 修正履歴/理由
• 提案資料_20160219.pptx
• 提案資料_2016...
Copyright © NTT Communications Corporation. All right reserved.
112
だが弱点がある = 差分が⾒れない
GitHubって、バイナリの差分は⾒れません。ですが…
Copyright © NTT Communications Corporation. All right reserved.
113
GitHubの事実
https://help.github.com/articles/rendering-a...
114Copyright © NTT Communications Corporation. All right reserved.
114
ということで、
パワポ修正&レビューをCI likeに
業務プロセスへ導⼊してみた
Push &
Pull
Request
Webhook
PPTからJPG変換
JPGを`git add`して、
GitHubへPush
git push
差分を確認
CIサーバ
パワポのCIフロー
パワポをPush、CIがフックして画像を⽣成、...
116
パワポの差分レビューが簡単に!
⾚⾊点線枠のところが差分で、GitHubでビジネス業務⽂書もレビューできるようになりました!
Copyright © NTT Communications Corporation. All right reserved.
117
アジェンダ
1. 内製開発の種をまく
・⽂化の話
2. 内製開発を開花させる
・技術の話
・⽂化の話(Tip...
118Copyright © NTT Communications Corporation. All right reserved.
Tips 1: モチベーションの向上
Copyright © NTT Communications Corporation. All right reserved.
119
個々のモチベーションを⾼める
https://rotsuya.github.io/slides/enterp...
Copyright © NTT Communications Corporation. All right reserved.
「20世紀的な報酬、
ビジネスで当然のものだと
みんなが考える動機付けは機能はするが
驚くほど狭い範囲の状況にしか合...
Copyright © NTT Communications Corporation. All right reserved.
121
モチベーションの3要素
⾃律性 熟達 ⽬的
・⾃由
・セルフコントロール
・何かを極める ・意義を感じられる
Copyright © NTT Communications Corporation. All right reserved.
122
モチベーションの3要素
⾃律性 熟達 ⽬的
・⾃由
・セルフコントロール
・何かを極める ・意義を感じられる
Copyright © NTT Communications Corporation. All right reserved.
123
⾃由とセルフコントロール
・勤務制度
・リモートワーク
・フレックス
・開発合宿/ハッカソン
Copyright © NTT Communications Corporation. All right reserved.
124
⾃由とセルフコントロール
・勤務制度
・リモートワーク
・フレックス
・開発合宿/ハッカソン
・現チームでは...
Copyright © NTT Communications Corporation. All right reserved.
125
続:⾃由とセルフコントロール
・環境
・開発マシン(Mac)
・⼤きいディスプレイ
・⾃由なネットワーク
エ...
Copyright © NTT Communications Corporation. All right reserved.
126
プロキシをくぐり抜けてませんか?
Copyright © NTT Communications Corporation. All right reserved.
127
プロキシをくぐり抜けてませんか?
無駄な部分にリソース消費してますよね。やはりエンジニアに必要なのは…
Copyright © NTT Communications Corporation. All right reserved.
128https://www.flickr.com/photos/kalyan02/4741751904/in/ph...
Copyright © NTT Communications Corporation. All right reserved.
129
続:⾃由とセルフコントロール
・環境
・開発マシン(Mac)
・⼤きいディスプレイ
・⾃由なネットワーク
・...
Copyright © NTT Communications Corporation. All right reserved.
130
Slack = エンジニア向けチャット
・APIが公開されており簡単にHack可能
130SlackはAPI...
Copyright © NTT Communications Corporation. All right reserved.
131
愛⽤されるボット
・メンバは作業中の情報を
ボット(⾃動応答プログラム)を利⽤しつつ
常時アウトプット ⇒ ...
Copyright © NTT Communications Corporation. All right reserved.
132
続続:⾃由とセルフコントロール
・社「外」勉強会への参加の推奨
132社外勉強会での発表は許可などが必要かと...
Copyright © NTT Communications Corporation. All right reserved.
133
続続:⾃由とセルフコントロール
・社「外」勉強会への参加の推奨
・特にアウトプットを推奨
・コアとなるノウハ...
Copyright © NTT Communications Corporation. All right reserved.
134
続続:⾃由とセルフコントロール
・社「外」勉強会への参加の推奨
・特にアウトプットを推奨
・コアとなるノウハ...
Copyright © NTT Communications Corporation. All right reserved.
135
再掲:モチベーションの3要素
熟達 ⽬的
・⾃由
・セルフコントロール
・何かを極める ・意義を感じられる
...
Copyright © NTT Communications Corporation. All right reserved.
136
熟達:何かを極める
・その道のエキスパートになる
136勉強会で多く発表して、Expertになった良い⼈物が...
Copyright © NTT Communications Corporation. All right reserved.
137
熟達:何かを極める
・その道のエキスパートになる
・例:
NTTコミュニケーションズ
Webアプリケーション...
Copyright © NTT Communications Corporation. All right reserved.
138
再掲:モチベーションの3要素
⾃律性 熟達 ⽬的
・⾃由
・セルフコントロール
・何かを極める ・意義を感じ...
Copyright © NTT Communications Corporation. All right reserved.
139
共感できるビジョンを⽰す
https://rotsuya.github.io/slides/enterpri...
Copyright © NTT Communications Corporation. All right reserved.
140
SkyWayのミッションステートメント
141Copyright © NTT Communications Corporation. All right reserved.
Tips 2: ⽂化の醸成
Copyright © NTT Communications Corporation. All right reserved.
142
・チームの⽂化を作る
・変化や逆境に強い組織
⽂化を作る
142⼤企業では、他の施策などから様々な余波がチー...
Copyright © NTT Communications Corporation. All right reserved.
143
・チームの⽂化を作る
・変化や逆境に強い組織
・⾏動指針を作って合意を形成し
徐々に浸透させる
・新規メンバ...
Copyright © NTT Communications Corporation. All right reserved.
144
チームのガイド・ポリシーの規定例
Copyright © NTT Communications Corporation. All right reserved.
145
チームのガイド・ポリシーの規定例
145情報発信・共有は特に重要視しています。具体的にはたとえば…
Copyright © NTT Communications Corporation. All right reserved.
146
情報共有について
・原則、情報はURL付きで
チーム内に全て公開して⾒える化
Copyright © NTT Communications Corporation. All right reserved.
147
情報共有について
・原則、情報はURL付きで
チーム内に全て公開して⾒える化
なぜ、徹底して
こだわるのか?
Copyright © NTT Communications Corporation. All right reserved.
148
情報共有が必要な理由
・共有されていない情報は、
そのままチームのSPOFになる
Copyright © NTT Communications Corporation. All right reserved.
149
情報共有が必要な理由
・共有されていない情報は、
そのままチームのSPOFになる
・情報の隠蔽は不要な権⼒を...
Copyright © NTT Communications Corporation. All right reserved.
150
情報共有が必要な理由
・共有されていない情報は、
そのままチームのSPOFになる
・情報の隠蔽は不要な権⼒を...
Copyright © NTT Communications Corporation. All right reserved.
151
情報発信を促すTips
・全体ミーティングなどで
情報発信が必要な意義を理解してもらう
Copyright © NTT Communications Corporation. All right reserved.
152
情報発信を促すTips
・全体ミーティングなどで
情報発信が必要な意義を理解してもらう
・⾔い出しっぺが⾃ら...
Copyright © NTT Communications Corporation. All right reserved.
153
情報発信を促すTips
・全体ミーティングなどで
情報発信が必要な意義を理解してもらう
・⾔い出しっぺが⾃ら...
Copyright © NTT Communications Corporation. All right reserved.
154
情報発信を促すTips
・誰かが記事などを書いてくれたら、
全⼒で「 」!
Copyright © NTT Communications Corporation. All right reserved.
155
実際にはこのぐらいのノリで
・誰かが記事などを書いてくれたら、
全⼒で「 」!
156Copyright © NTT Communications Corporation. All right reserved.
156
Tips 3: ⽣産性の向上を強く意識
エンプラ企業であまり意識されていないことかもしれませんが、⽣産...
Copyright © NTT Communications Corporation. All right reserved.
157
集中することに集中する
Copyright © NTT Communications Corporation. All right reserved.
158
続:集中することに集中する
Copyright © NTT Communications Corporation. All right reserved.
机の前に何時間座っていたかは
どうでもいいことで、
全神経を集中して
仕事に取り組んだ時間が重要なのだ
(ピープルウ...
160Copyright © NTT Communications Corporation. All right reserved.
Tips 4: 継続的チーム改善
Copyright © NTT Communications Corporation. All right reserved.
161
KPTでの振り返り
・定期的にチーム全体で改善会議
・実施⽅式はKPT(Keep, Problem, Try)
Copyright © NTT Communications Corporation. All right reserved.
162
ポイントは担当者アサイン
・定期的にチーム全体で改善会議
・実施⽅式はKPT(Keep, Problem, ...
Copyright © NTT Communications Corporation. All right reserved.
“私達”というのは結局やらない
(Developerʼs Codeより)
163「私達」は責任・責務をあいまいにする...
Copyright © NTT Communications Corporation. All right reserved.
164
https://www.flickr.com/photos/matianming/11622156285/i...
Copyright © NTT Communications Corporation. All right reserved.
165
こういうスケジュールになってませんか?
会議などで
埋まっている
カレンダーの図
165これを引き起こす要因...
Copyright © NTT Communications Corporation. All right reserved.
166
(管理層の考える)兼務の魔法
+業務A(50%)
+業務B(30%)
+業務C(20%)
= 100%
Copyright © NTT Communications Corporation. All right reserved.
167
これ⼤嘘です
+業務A(50%)
+業務B(30%)
+業務C(20%)
= 100%
167167これは間...
Copyright © NTT Communications Corporation. All right reserved.
168
コンテキストスイッチのコストを忘れずに
脳内2次記憶
(HDD/SSD)
脳内1時記憶
(RAM)
業務A
...
Copyright © NTT Communications Corporation. All right reserved.
169
コンテキストスイッチのコストを忘れずに
脳内2次記憶
(HDD/SSD)
脳内1時記憶
(RAM)
業務A
...
170Copyright © NTT Communications Corporation. All right reserved.
まとめ
170
Copyright © NTT Communications Corporation. All right reserved.
171
本⽇、お聞きいただいたこと
• 内製開発の必要性
• 内製開発の種をまく
・⽂化の話
• 内製開発を開花させ...
Copyright © NTT Communications Corporation. All right reserved.
172
今⽇のゴール
内製を始める気になる ⇒ ⾏動する
https://www.flickr.com/photos...
Copyright © NTT Communications Corporation. All right reserved.
173
今⽇のゴール
内製を始める気になる ⇒ ⾏動する
https://www.flickr.com/photos...
Copyright © NTT Communications Corporation. All right reserved.
174
今⽇のゴール
内製を始める気になる ⇒ ⾏動する
https://www.flickr.com/photos...
Upcoming SlideShare
Loading in …5
×

外注が主な企業でどのように内製開発を立ち上げ・進化させているのか?

639
-1

Published on

Developers Summit 2016【19-D-3】の登壇資料です。
http://event.shoeisha.jp/devsumi/20160218/session/1047/

Published in: Technology
0 Comments
19 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
639
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
19
Embeds 0
No embeds

No notes for slide

外注が主な企業でどのように内製開発を立ち上げ・進化させているのか?

  1. 1. Copyright © NTT Communications Corporation. All right reserved. 外注が主な企業でどのように 内製開発を⽴ち上げ・進化させているのか? @Developers Summit 2016 NTTコミュニケーションズ株式会社 技術開発部 岩瀬 義昌 2016年2⽉19⽇ 【19-D-3】
  2. 2. Copyright © NTT Communications Corporation. All right reserved. 2 ⾃⼰紹介 ■名前 岩瀬 義昌 / @iwashi86 ■仕事 NTTコミュニケーションズ 技術開発部 Webコア Technology Unit “WebRTC”プラットフォームである “SkyWay”のTech Lead ■コミュニティ活動 ・WebRTC Meetup Japan/Tokyo主催 ・July Tech Festa登壇 など
  3. 3. Copyright © NTT Communications Corporation. All right reserved. 3 ⾃⼰紹介 ■名前 岩瀬 義昌 / @iwashi86 ■仕事 NTTコミュニケーションズ 技術開発部 Webコア Technology Unit “WebRTC”プラットフォームである “SkyWay”のTech Lead 注 今⽇の話は、会社全体の話ではありません 所属するチームの話です ■コミュニティ活動 ・WebRTC Meetup Japan/Tokyo主催 ・July Tech Festa登壇 など
  4. 4. Copyright © NTT Communications Corporation. All right reserved. 4
  5. 5. Copyright © NTT Communications Corporation. All right reserved. 5
  6. 6. Copyright © NTT Communications Corporation. All right reserved. 6
  7. 7. Copyright © NTT Communications Corporation. All right reserved. 7
  8. 8. 8Copyright © NTT Communications Corporation. All right reserved. デモ
  9. 9. 9Copyright © NTT Communications Corporation. All right reserved. 9 https://www.flickr.com/photos/quinnanya/5725134193/in/photolist-9HUNWe-b8jHcK-rSwrzt-atwgwq-b pPfNY-bApGtz-ecmxMj-9EGJHX-5 28Fwg-8dUZxf-4U C2WQ-6g9N7Y-9gBdk- aJHuGn-Liot-ecfS8F-fxRKP-aJHzkc-2GjZ4-4eW4uF-aPeYT2-6g5B7n-4Z8NVd-c5ajMb-9XczhB-9Wr ZtQ-b8jGWK-9 YPUbX-mtwiS-9sbqhu-dKXwcs-bpPfk7-sL7JUy-pnYnKK-4Z4x ZF- 4Z8Nbq-89sth7-2nMrHh-dLkS1Z-4Z4yD8-4Z4yGv-4Z4yyx -4WFtU8-bk4C1 S-b8jFHM-aEba pg-92 VG51-aFSRzH-8hpoTY-e5 KL4o WebRTCを⽣でさわるのは結構⼤変 (⼀部、サーバサイドの⽤意などが必要) 9そこで、少しでも簡単に開発者の皆様が使えるように…
  10. 10. Copyright © NTT Communications Corporation. All right reserved. 10 SkyWay = WebRTCプラットフォーム (WebRTC向けのSDKやサーバ機能を提供) SkyWayを利⽤するとWebRTCアプリが無料で簡単に作れます。
  11. 11. 11Copyright © NTT Communications Corporation. All right reserved. 本題
  12. 12. Copyright © NTT Communications Corporation. All right reserved. http://www.slideshare.net/Ryuzee/devsumia https://www.flickr.com/photos/open_hardware_summit/5022739550/in/photolist-8DQ RtL-aUh4TP-myfDP2-tgjJZe -2XuJbH-2mxsf8-A5mN-5g835L-aUhb ZM-a1HgAW -6y5fwC-yPnDF9-BjKXny-b XT54q-7Ldom1-aEZH17-5aDmt9-6Wjja7-pEtq K-aUhhjR-aUhbig-8wu S6c-2tfSt1-7 KmnEc- 6s2qrs-ofPE2-aUh5DK-5D9pAA-oLmndn-ymjQA8-642vMz-p1gMzR-nromLM-515Q9D-xW1hjb-tFGP CV-6Y 79Ee-aUhae6-eP6 i1J-wHsdZq -oGqWN8-tFGN7Z-8uoTx u-7gMb w1-ATeDD V-5pE VeN-tFyc6w-tYhqQP-tXNooG-8x 9uc6 私は3年前のデブサミに聴衆として参加 当時もっともインパクトを受けたセッションが…
  13. 13. Copyright © NTT Communications Corporation. All right reserved. http://www.slideshare.net/Ryuzee/devsumia
  14. 14. Copyright © NTT Communications Corporation. All right reserved. 14 https://www.flickr.com/photos/84744710@N06/7997288513/in/photolist-d bGcfH-4ZydmF-8KRTbS-gYGNed-5S8UHL-4mmgEr-5eeufN-q KfJ7t-adEL4 -5Ru5mw -bYy4DQ-6Fkwxd -bHi2Fg-ekof5s-a3oQpv-foYgj3-dKmWT5-uu2s2J-r RyiiV-a3DUbb-7LXRvK-otgg7A-dNXYM2 -89Esw2- qJTubL-7kiEk1-pNqauh-dbbV7K-8d3Bnh-cXrjcs-qsYhgg-qJNfYn-7fDEPY-qGF2Us-7iEZ8u -cJYpef-4p77 SJ-qsvPzx-bEQwVQ -8xa29n-8 pqbNA-epYU CM-qsRRsb-foYs6s-r7eT7j-7aJdf-b ZkUE5-9AzrrQ-6H1xpw-769EGa 当時の衝撃 プレゼンの中で⾔われていたのが…
  15. 15. Copyright © NTT Communications Corporation. All right reserved. 15 当時の衝撃 https://www.flickr.com/photos/84744710@N06/7997288513/in/photolist-d bGcfH-4ZydmF-8KRTbS-gYGNed-5S8UHL-4mmgEr-5eeufN-q KfJ7t-adEL4 -5Ru5mw -bYy4DQ-6Fkwxd -bHi2Fg-ekof5s-a3oQpv-foYgj3-dKmWT5-uu2s2J-r RyiiV-a3DUbb-7LXRvK-otgg7A-dNXYM2 -89Esw2- qJTubL-7kiEk1-pNqauh-dbbV7K-8d3Bnh-cXrjcs-qsYhgg-qJNfYn-7fDEPY-qGF2Us-7iEZ8u -cJYpef-4p77 SJ-qsvPzx-bEQwVQ -8xa29n-8 pqbNA-epYU CM-qsRRsb-foYs6s-r7eT7j-7aJdf-b ZkUE5-9AzrrQ-6H1xpw-769EGa 「1⽇10回デプロイ」
  16. 16. Copyright © NTT Communications Corporation. All right reserved. 16 誤記じゃないの? https://www.flickr.com/photos/84744710@N06/7997288513/in/photolist-d bGcfH-4ZydmF-8KRTbS-gYGNed-5S8UHL-4mmgEr-5eeufN-q KfJ7t-adEL4 -5Ru5mw -bYy4DQ-6Fkwxd -bHi2Fg-ekof5s-a3oQpv-foYgj3-dKmWT5-uu2s2J-r RyiiV-a3DUbb-7LXRvK-otgg7A-dNXYM2 -89Esw2- qJTubL-7kiEk1-pNqauh-dbbV7K-8d3Bnh-cXrjcs-qsYhgg-qJNfYn-7fDEPY-qGF2Us-7iEZ8u -cJYpef-4p77 SJ-qsvPzx-bEQwVQ -8xa29n-8 pqbNA-epYU CM-qsRRsb-foYs6s-r7eT7j-7aJdf-b ZkUE5-9AzrrQ-6H1xpw-769EGa 「1⽇10回デプロイ」 10ヶ⽉に1回デプロイ 当時の私の常識とはだいぶ違っていました
  17. 17. Copyright © NTT Communications Corporation. All right reserved. 17 それから3年 聴講から登壇する側へ https://www.flickr.com/photos/dgoomany/4976873174/in/photolist-8zMM1b-8V9ehf-duXNn7-57mr6F-kc7WT-4xBsMT-e2pZrM-5uDPns-71jap-8NPfGS-p3KzAA-aJh7uD-nvBRCq- z75or5-9pZZVn-fMrcKa-89X6da-CD9j-7k5Dsf-9LzggW-5rbtCP-sn5ecN-46YU7g-gxoMCB-dY3Cyx-68giiZ-6SkM1-9c9xPc-wQNQD-oUrYYB-D2gWBt-CFqVVz-LzGU1-ewJe9D-DnKE- 7UTmVK-oKY1zF-kCFz-3nTR3N-8MdVtb-5uDp8U-qQYXdQ-e8WXNZ-s77Yd5-aJh6Qn-9x3XDe-PGqgb-9bqUfZ-ibYoB-3c7kyY
  18. 18. Copyright © NTT Communications Corporation. All right reserved. 18https://www.flickr.com/photos/image-catalog/17094809777/in/photolist-s3Bn nB-5ecVsc-rZLekL-8NV2G2 -fMpcwj-p8P32y-9Q JM29-p qm3VC-9Mzzyb-pogscj-CcwwE3-4reFUA-6ivkko-d2P T1b-7P3Gqd -8nebru -paTFdQ-p8P Khj-pq2e5 Z-6mZ4 Vw-8Gg4 Jc-8mqEGe-JWyHL-pq2fBg- p8P8h3-7fzsGM-cHeGWS-a15TX-6H2pUy-m2sbkz-yFCXvb-8dynz3-dBi5Cb-pecTz-krjgVc-fANQqR-krjB9x -kriU24-krjzZD-krm8 S5-krm8ou -krjroF-krjm2D-krkUKd-krjk5 Z-krjjtt-krjikr-k rkRPU-kriuSt-kr iuq6 実際の経験ベースの ストーリーを共有
  19. 19. Copyright © NTT Communications Corporation. All right reserved. 19 ⼤事な疑問 そもそも…
  20. 20. Copyright © NTT Communications Corporation. All right reserved. 20 なぜ内製? 外注じゃダメ? https://www.flickr.com/photos/mdpettitt/8671901426/in/photolist-ediLaQ-KGgU8-9SScHJ-5JE9tz-iXRZgo-9o5yon -5UnDmk-rrtnoF-6egx SJ-sQzvg-hcEYDX-7 ZiTg V-9v3xhu -6CrL7s-snRpm3 -do8JVU-do8Bez-oqtM3G -7Co7Fm-qD9 gxe-8uoSqU-2RF5eT-xsZh8-s29nxg-h nZzLf-dnav81- g2Q3N-v2dmxU-p9e9F3-bEVLmS-9nLGVj-7UNsX4-v2Ze9e-dV8sXM-8uoTxu-aD3ZhE -9uZpk3 -dVR5Cb -r3rY5 M-7URGdJ-ni4p7x -uZot4q -u5RNwp -vYncn5-3 X9Dcm-e5A9GJ-3 4av4j-xUCpDT-ynUaY6-La ARx
  21. 21. Copyright © NTT Communications Corporation. All right reserved. 21 外注が悪いわけではない • 内製も外注も⽬的達成のための⼿段
  22. 22. Copyright © NTT Communications Corporation. All right reserved. 22 • 内製も外注も⽬的達成のための⼿段 • リソースが無い場合は外注しかない 外注が悪いわけではない
  23. 23. Copyright © NTT Communications Corporation. All right reserved. 23 • 内製も外注も⽬的達成のための⼿段 • リソースが無い場合は外注しかない • 1つのリスクヘッジの⼿段でもある (ex. 瑕疵…) 外注が悪いわけではない
  24. 24. Copyright © NTT Communications Corporation. All right reserved. 24 外注で認識して おくべきこと しかし、外注利⽤時に強く認識したほうが良いことがあります。それは…
  25. 25. Copyright © NTT Communications Corporation. All right reserved. 25 NDA NDAからはじまる⻑い⻑い旅路です。
  26. 26. Copyright © NTT Communications Corporation. All right reserved. 26 NDA RFP
  27. 27. Copyright © NTT Communications Corporation. All right reserved. 27 NDA RFP 決裁
  28. 28. Copyright © NTT Communications Corporation. All right reserved. 28 NDA RFP 決裁 契約
  29. 29. Copyright © NTT Communications Corporation. All right reserved. 29 NDA RFP 決裁 契約検収
  30. 30. Copyright © NTT Communications Corporation. All right reserved. 30 NDA RFP 決裁 契約検収 エンプラで検収といえばもちろんコレです。
  31. 31. Copyright © NTT Communications Corporation. All right reserved. 31 経験ありますよね?
  32. 32. Copyright © NTT Communications Corporation. All right reserved. 32 Excel x スクショ = エビデンス https://www.flickr.com/photos/pegwinn/3470095624/in/photolist-6 hD9wU-88bnA9-8886bz-8 883xz-887kd8 -aPLhxp-rKH4 R9-71y 19d-r ZdK34 -9dHbir -9Ah VnH-4ZzAxk-9dHcqB-9dLfzL-6hD9zd-6p9Ant -UmZfT-889pDz- aUmQav-6hD9Ad-e2EV4q-a5WTjH-88aHw9-5eF2ZL-5eACT4-a5ZJeY-5XUgbM-d VWa8s-aW8C58-jCacyr-y CMfd-58 irwU-aPL966-a5W RBp -9Ah Vwa-eabGEB-88cwes-889aaV-8892vv-8 88YDg-888 VCD-88c4ny-888PjH-888LUP- 888JLr-888Gzc-88bRuj-88bPqm-88bLWW-88bJjA
  33. 33. Copyright © NTT Communications Corporation. All right reserved. 33 こんなはずじゃなかった このように考えるエンジニアもいると思います
  34. 34. Copyright © NTT Communications Corporation. All right reserved. 34 その⼀⽅で…
  35. 35. Copyright © NTT Communications Corporation. All right reserved. 35http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr 1⽇10回デプロイしている企業も しかも2009年時点で… http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
  36. 36. Copyright © NTT Communications Corporation. All right reserved. 36 その結果 • IT企業にとって強⼒の源泉である 技術⼒に差がついていく 外注企業の 技術⼒ 内製企業の 技術⼒ 技術⼒の差だけではなく、先ほどの⻑い道のりから⽣まれる…
  37. 37. Copyright © NTT Communications Corporation. All right reserved. 37 その結果 • IT企業にとって強⼒の源泉である 技術⼒に差がついていく • 外注のオーバヘッド分の速度の遅れ (ビジネス上のスピードの遅れ) ⼀⽅で、内製とは…
  38. 38. Copyright © NTT Communications Corporation. All right reserved. 38 https://www.flickr.com/photos/derekskey/5249580870/in/photolist-8ZTtv1-bLaY2 K-Ax VrV-oMs8Kf-cXjaew-6 ZrEUq-pHrRH8 -pHrLp2-KG Knb-7m CHh3-6u BgKM -8ZQnrT -bxVhwo -AGGtNs-nYJQh8-8 4SHgx-td Ke9W-eSqaV-bxgfhw -oFsmuf-nHNcF-aUaAkV-6bwPeq-5UgdqV-mbNCv- 7mCHa1-hxwnFA-aE7SpH-6CoiGa-dddE57-dddD74-89 Vtxi-jvjCRB-cUDNSd-bLPXiV-BAZBea-cqSKA-fovfW8-q 3iXaw -tkVGYF-6FPvHt-6hQ2 hR-adDQPN-fhpM pR-g 9vsj3-i9Z8oT -m5mNwr-gsxZ2J-cqTX7-ak KH6D 内製とは… ⽣き残り・勝ち抜くための⼿段 朗報もあります!
  39. 39. Copyright © NTT Communications Corporation. All right reserved. 39 幸いにもソフトウェア開発が容易に 例えば、インスタグラムという有名なアプリ・サービスがあります。 Instagram
  40. 40. Copyright © NTT Communications Corporation. All right reserved. Instagram 40 幸いにもソフトウェア開発が容易に http://jp.techcrunch.com/2011/06/14/20110613instagram-five-million-users/ 社員4⼈で500万⼈に サービス提供[2011年時点] (AWSなどのAPIをフル活⽤)
  41. 41. Copyright © NTT Communications Corporation. All right reserved. 41 SkyWayは、なぜ内製メイン? ・WebRTCという技術進化に追従するため WebRTCは技術進化が本当に早いです。特に厄介なのが…
  42. 42. Copyright © NTT Communications Corporation. All right reserved. 42 SkyWayは、なぜ内製メイン? ・WebRTCという技術進化に追従するため 1〜1.5ヶ⽉で⼤幅アップデート https://commons.wikimedia.org/wiki/File:Google_Chrome_icon_and_wordmark_(2011).svg https://en.wikipedia.org/wiki/Firefox#/media/File:Mozilla_Firefox_logo_2013.svg Chrome/Firefoxのようなブラウザの進化の早さです。
  43. 43. Copyright © NTT Communications Corporation. All right reserved. 43 SkyWayは、なぜ内製メイン? ・WebRTCという技術進化に追従するため ・内製で[開発⇒リリース]を ⾼速で回転させ、競争⼒を保持するため 内製はまた、⾼速なサイクルに向いています。結果的にSkyWayは…
  44. 44. Copyright © NTT Communications Corporation. All right reserved. 44 (⾃称ですが)SkyWayは⽇本で最もメジャーな WebRTCプラットフォーム 本⽇はそのようなSkyWayを開発した経験をベースに、皆様が次の状態になることをゴールとします。
  45. 45. Copyright © NTT Communications Corporation. All right reserved. 45 今⽇のゴール 内製を始める気になる ⇒ ⾏動する (そのための私が知るノウハウは本⽇、全て共有します) https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb- 9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc 終わった頃には、内製をはじめる勇気が出てきます!
  46. 46. Copyright © NTT Communications Corporation. All right reserved. 46 以降のアジェンダ 1. 内製開発の種をまく ・⽂化の話 2. 内製開発を開花させる ・技術の話 ・⽂化の話
  47. 47. Copyright © NTT Communications Corporation. All right reserved. 47 以降のアジェンダ 1. 内製開発の種をまく ・⽂化の話 2. 内製開発を開花させる ・技術の話 ・⽂化の話
  48. 48. Copyright © NTT Communications Corporation. All right reserved. 48https://www.flickr.com/photos/31031835@N08/6004532099/in/photolist-a9 ANcv-oLhuEa-8Jvb KB-o CA9 7k-j8rSxH-b XWTiW-fxxug g-eDR8Gv-eD X7mf-eDR13t -eaNMBz-qYp Kd-d7scXo-7ojmH3-eDR3zX-6tJKx9-wkYqU7-ftgoYx -4SyTGJ-oEgAu i-9JzJpF -nJH1vy-72v CyX-75Y1r R-M9u7c- 8nrj6Z-8nrjNg-eDR1qF-7u8mzu-nKfsD7-darVER-qgabey-fqyL3U-7ofsjn-8nrjbK-4egJb r-7Dq9ar-dGZGrG-5 Rcjci-7ofs36-nz6em3-88qgtB-t 47kUC-oWxGME -9sWco-Jtj9e-rrGuKu -7oftgk-6k8Yu h-6TXe 6e SkyWayのはじまり?
  49. 49. Copyright © NTT Communications Corporation. All right reserved. 49 Date Event 2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート 2013/4 ・SkyWayのアイデア誕⽣ 2013/7-9 ・SkyWayのプロ⼘タイプ開発 (この時点では外注100%に近い) ・サーバ構築&軽微な修正を内製で対応 2013/12 ・トライアル公開 ・⼿作業のオペレーションも多い 2014/4- ・Web(フロントエンド/サーバサイド)を内製開発 ・継続的インテグレーションなど導⼊開始 経緯 最初は外注がほとんどでしたが将来的な内製移⾏を⾒据えて開発をはじめました。ですが…
  50. 50. Copyright © NTT Communications Corporation. All right reserved. 50 ■外注⽂化だと⼈も環境も無い ・だが、誰かが進めないと何も始まらない いきなり内製は難しい
  51. 51. Copyright © NTT Communications Corporation. All right reserved. 51 ■外注⽂化だと⼈も環境も無い ・だが、誰かが進めないと何も始まらない ・そこで内製の範囲を絞って始める ⇒ ⽐較的、取組みやすいところから ⇒ その後、徐々に技術コアへ広げる いきなり内製は難しい さきほどの経緯の表を振り返ってみるとポイントは…
  52. 52. Copyright © NTT Communications Corporation. All right reserved. 52 Date Event 2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート 2013/4 ・SkyWayのアイデア誕⽣ 2013/7-9 ・SkyWayのプロ⼘タイプ開発 (この時点では外注100%に近い) ・サーバ構築&軽微な修正を内製で対応 2013/12 ・トライアル公開 ・⼿作業のオペレーションも多い 2014/4- ・Web(ダッシュボード)を内製開発 ・継続的インテグレーションなど導⼊開始 振り返るとポイントはココ 簡単なところから内製を開始した点でした。
  53. 53. Copyright © NTT Communications Corporation. All right reserved. 53 Date Event 2012/8 ・⼤津⾕⽒/⼩松⽒と2⼈体制でスタート 2013/4 ・SkyWayのアイデア誕⽣ 2013/7-9 ・SkyWayのプロ⼘タイプ開発 (この時点では外注100%に近い) ・サーバ構築&軽微な修正を内製で対応 2013/12 ・トライアル公開 ・⼿作業のオペレーションも多い 2014/4- ・Web(ダッシュボード)を内製開発 ・継続的インテグレーションなど導⼊開始 そして徐々に広げる 徐々に難易度の⾼い部分に着⼿します。そんな内製を始めるための…
  54. 54. 54Copyright © NTT Communications Corporation. All right reserved. 54 内製を始める際の⼼構え いくつか⼼構え、持つべきメンタルをお伝えします。1つ⽬は…
  55. 55. Copyright © NTT Communications Corporation. All right reserved. 55 https://rotsuya.github.io/slides/enterprise-hacks-201512/#54 ⼤⾵呂敷をひろげないこと! 同様の良い格⾔・引⽤もいくつかあります…
  56. 56. Copyright © NTT Communications Corporation. All right reserved. 許可を求めるより 寛容に期待しよう(TeamGeek より) ⼤企業では全てにおいて、許可をとると時間がかかりすぎて前に進めません。
  57. 57. Copyright © NTT Communications Corporation. All right reserved. あらゆる⽂化は⼩さな種から育つ。 またたったひとつの決定で ⽂化ができるわけでもない。 (マイクロソフトを辞めて、オフィスのない会社で働いてみた より) 寛容を期待して始めれば、徐々に⽂化ができてきます… そして⽂化と同時に…
  58. 58. Copyright © NTT Communications Corporation. All right reserved. 58 https://www.flickr.com/photos/40385177@N07/7033303711/in/photolist-bHvwa6 -9KTcrc-84bv SR-84bZAz-84buba-4R1f77-2xDarY-84eaUq-dWP JZt-7k3tGh -7Cepfo-cYMyHu -96jQLa-uXUPj-6mS3yx-b uFhEt-eEUS1J-61xVAq-4q CECx -6owpWW-8 iUbjR-vgHFQD-6j8UzJ-scDupb- dEsoXU-7sRCyT-8iXzxS-84c63v-acYE3M-9GbLwU-5F1y42-4M9pmY-5CJZRY-Z9P S-fArgmu -A2 R7zs-brJ5LA-65P KAV-KnML-4zFxPG-cDfz49-8EYiN7-zjZwr-fQPY2h-8 dv8TV-qe5K3b -84bXCR-84eQJG-84e CP1-8 4eatu 仲間を増やす ⼈員追加にはいくつか気をつける点があります。徹底的に…
  59. 59. Copyright © NTT Communications Corporation. All right reserved. 59 良い⼈材を集める(⼤企業だと難しいが) ・あらゆるチャネルを使う
  60. 60. Copyright © NTT Communications Corporation. All right reserved. 60 ・あらゆるチャネルを使う ・業務委託(⼀流の⼈と) html5j ファウンダー ⽩⽯⽒ Google Developer Expert 吉川⽒ 良い⼈材を集める(⼤企業だと難しいが) ⽩⽯さん・吉川さんは同じロケで⼀緒に働いていただき、⾊々とノウハウを共有いただきました。
  61. 61. Copyright © NTT Communications Corporation. All right reserved. 61 ・あらゆるチャネルを使う ・業務委託(⼀流の⼈と) ・異動(社内公募) 良い⼈材を集める(⼤企業だと難しいが) 単なる⼈事異動でなく、社内公募のような制度があれば積極活⽤します。
  62. 62. Copyright © NTT Communications Corporation. All right reserved. 62 ・あらゆるチャネルを使う ・業務委託(⼀流の⼈と) ・異動(社内公募) ・新卒 / インターン / 中途 良い⼈材を集める(⼤企業だと難しいが) なぜ、ここまでこだわる必要があるのでしょうか?それは…
  63. 63. Copyright © NTT Communications Corporation. All right reserved. 君の周りにいる⼈たちが 君⾃⾝のパフォーマンスに影響する。 仲間は慎重に選べ。 (情熱プログラマー より)
  64. 64. Copyright © NTT Communications Corporation. All right reserved. 64 単なるメンバ増はアンチパターン ・⼈が増えたからといって ⽣産能⼒は劇的に向上しない ・むしろチーム全体としての ⽣産性が下がることも…
  65. 65. Copyright © NTT Communications Corporation. All right reserved. 65 ではメンバ追加のベストプラクティスは?
  66. 66. Copyright © NTT Communications Corporation. All right reserved. 66 ・⾃分より優秀だと思う⼈を⼊れる ・その際、⾃分の⼈事評価が 下がるなどと考えないこと ではメンバ追加のベストプラクティスは?
  67. 67. Copyright © NTT Communications Corporation. All right reserved. 67 ・⾃分より優秀だと思う⼈を⼊れる ・その際、⾃分の⼈事評価が 下がるなどと考えないこと ・むしろ、最⾼の⼈と働いた経験、 そこで得たスキルが残りの⼈⽣に それ以上のメリットをもたらす! ではメンバ追加のベストプラクティスは? まだまだ仕事⼈⽣は⻑いです。後から全部回収できますし、お釣りが返ってきます。
  68. 68. Copyright © NTT Communications Corporation. All right reserved. 68 ベストプラクティスは? ・⾃分より優秀だと思う⼈を⼊れる ・その際、⾃分の⼈事評価が 下がるなどと考えないこと ・むしろ、最⾼の⼈と働いた経験、 得たスキルが残りの⼈⽣に それ以上のメリットをもたらす https://www.flickr.com/photos/usdagov/14464606763/in/photolist-o3bTDM-q JLHrS-dReF B-7SCmub-pe 3MZ4 -6DBbu4 -sMtT5m-dJARfG- 8PgRbq-9simtU-N86ze-83PGfF-aqbLwt-vBSHSL-3NT8qR-aso3sD-7Y7Skt-wS74at-p7Fnh i-cfQSy7-54tXnU-8TbNfH-eRKa A-7FUJFN- rDXWR2-ds4PRF-7NqdCd-7HxPc3-axmQA5-jxeDir-99dCeD-99dBe6 -2Z92 Rr-9t BWZa-5SGJ45 -mdNDj-dB92wY-4SuLwZ-2jGCCA-6BKk7- 6iSKgo-pCE7i7-5K8iK1-Ba4qux-5qkTcj-5u7zq7-o9aj57-vG CQWq-66W1W B-56 X2go ここまでで メンバが徐々に増え チームが芽吹き始める
  69. 69. Copyright © NTT Communications Corporation. All right reserved. 69 アジェンダ 1. 内製開発の種をまく ・⽂化の話 2. 内製開発を開花させる ・技術の話 ・⽂化の話
  70. 70. Copyright © NTT Communications Corporation. All right reserved. 70 SkyWayを⽀える開発技術 https://www.flickr.com/photos/36302473@N03/13834653335/in/photolist-n5wdrM-n5waV4-mZ6q6Y-gCTzTQ-ekfXSv-gCQuZB-sbVz7H-gCPXAU-mZ6tzG-boqwzC-mZ4H9D-4J6MGa-mZ2w6c-gQiEma-cMKB2w-mZ6rRw-BCerys-e4RBVD- mZZhwM-gqLgZM-mZ2wzg-reYN2J-gQhSBN-9zHArx-mZ6u61-7JwRBS-onaMDY-gqKxig-gqKTAP-9w7bSJ-rXZ4Z7-4Jizbj-FCB3A-naxcNS-N2Gh-netjUS-btBM6T-bBk3PK-9ujvK1-e85i2z-zRdM7x-mZ4kuY-mZ4Erg-81v4SH-mZZnik-brQnR3- 4JaZdC-7JwTQJ-4J6LDn-5pPJUd 内製をはじめた結果、どのような技術を使っているかといった現時点のスナップショットを をお伝えします。今回は技術説明のセッションではないので、概要だけお話いたします。
  71. 71. Copyright © NTT Communications Corporation. All right reserved. Application (任意のアプリケーション) Orchestration アプリへの動的な設定値注⼊など Configuration ミドルウェア、DBの設定など Bootstrapping IaaSを利⽤したVM構築など 71 Provisioning Toolchain + App ・以降では、以下のレイヤで個別に説明 ・基本⽅針は、コードに起こして全て⾃動化
  72. 72. Copyright © NTT Communications Corporation. All right reserved. Application (任意のアプリケーション) Orchestration アプリへの動的な設定値注⼊など Configuration ミドルウェア、DBの設定など Bootstrapping IaaSを利⽤したVM構築など 72 Provisioning Toolchain + App
  73. 73. Copyright © NTT Communications Corporation. All right reserved. 73 Bootstrapping / インフラ ・Infrastructure as Code(IaC)で 宣⾔的に記述 ・ローカル開発環境: ・Vagrant(VM構築) ・Packer(イメージ作成)
  74. 74. Copyright © NTT Communications Corporation. All right reserved. 74 続:Bootstrapping / インフラ ・クラウド環境も同様にIaC ・利⽤クラウド クラウドには向き不向きがあるので使い分けます。 Cloudnは通信事業者が提供するクラウドであり、通信量に応じて費⽤が発⽣しません。
  75. 75. Copyright © NTT Communications Corporation. All right reserved. 75 続:Bootstrapping / インフラ ・クラウド環境も同様にIaC ・利⽤クラウド ⇒ 構築⽅法: 内製の簡易 Cloudformation ⇒ ⇒ & Terraform Cloudformation 構築は宣⾔的な記述に落として、⾃動で構築します。VMのみならず…
  76. 76. Copyright © NTT Communications Corporation. All right reserved. 76 続:Bootstrapping / インフラ ・AWSのユーザ管理もTerraform lb というユーザを、/system/というパス配下に作成する例: ユーザ作成作業も、コードに落としてExcel等を利⽤しません。具体的な運⽤フローは…
  77. 77. Copyright © NTT Communications Corporation. All right reserved. 77 修正分(ユーザ追加など)のPR作成 ・AWSのユーザ管理もTerraform ・Pull Request Drivenで運⽤ ①Pull Request GHE メンバ 追加したい
  78. 78. Copyright © NTT Communications Corporation. All right reserved. 78 GHEからCI起動 ・AWSのユーザ管理もTerraform ・Pull Request Drivenで運⽤ ①Pull Request ②Webhook Drone CIGHE
  79. 79. Copyright © NTT Communications Corporation. All right reserved. 79 Dry-Runして変更内容を作成 ・AWSのユーザ管理もTerraform ・Pull Request Drivenで運⽤ ①Pull Request ②Webhook Drone CI ③terraform plan GHE
  80. 80. Copyright © NTT Communications Corporation. All right reserved. 80 内容をレビュー ⇒ OKならマージ ・AWSのユーザ管理もTerraform ・Pull Request Drivenで運⽤ ①Pull Request ②Webhook Drone CI ④⼈の⽬でレビュー &PRマージ GHE ③terraform plan
  81. 81. Copyright © NTT Communications Corporation. All right reserved. 81 マージ契機でCI起動 ・AWSのユーザ管理もTerraform ・Pull Request Drivenで運⽤ ①Pull Request ②Webhook ⑤Webhook Drone CI ③terraform plan④⼈の⽬でレビュー &PRマージ GHE
  82. 82. Copyright © NTT Communications Corporation. All right reserved. 82 実際にAWSへ変更を反映 ・AWSのユーザ管理もTerraform ・Pull Request Drivenで運⽤ ①Pull Request ②Webhook ⑤Webhook Drone CI ③terraform plan ⑥terraform apply ④⼈の⽬でレビュー &PRマージ GHE
  83. 83. Copyright © NTT Communications Corporation. All right reserved. Application (任意のアプリケーション) Orchestration アプリへの動的な設定値注⼊など Configuration ミドルウェア、DBの設定など Bootstrapping IaaSを利⽤したVM構築など 83 Provisioning Toolchain + App
  84. 84. Copyright © NTT Communications Corporation. All right reserved. 84 Configuration ・ミドルウェアの導⼊などには Ansibleを利⽤ ・導⼊後の正常性確認、 およびリファクタ向けのテストは Serverspecを利⽤ (開発フローはPRベースで先ほど同様なので割愛)
  85. 85. Copyright © NTT Communications Corporation. All right reserved. Application (任意のアプリケーション) Orchestration アプリへの動的な設定値注⼊など Configuration ミドルウェア、DBの設定など Bootstrapping IaaSを利⽤したVM構築など 85 Provisioning Toolchain + App
  86. 86. Copyright © NTT Communications Corporation. All right reserved. 86 Orchestration ・アプリケーションデプロイには Configuration同様にAnsible ・環境ごとの動的に変わる依存性注⼊、 およびルートの動的変更向けに Serf & Consulを利⽤
  87. 87. Copyright © NTT Communications Corporation. All right reserved. Application 任意のアプリケーション (JavaScriptベースのアプリを例を紹介) Orchestration アプリへの動的な設定値注⼊など Configuration ミドルウェア、DBの設定など Bootstrapping IaaSを利⽤したVM構築など 87 Provisioning Toolchain + App
  88. 88. Copyright © NTT Communications Corporation. All right reserved. 88 Application Development ・サーバサイドおよびフロントエンドで JavaScript / Node を利⽤ Webに強いチームなので、クライアントもサーバもJSを利⽤しています。
  89. 89. Copyright © NTT Communications Corporation. All right reserved. 89 Application Development ・サーバサイドおよびフロントエンドで JavaScript / Node を利⽤ ・どちらもES6スタイルで記述し、 初期設計からテストを⾃動化(TDD含む) 【参考】利⽤モジュール例: - Gulp: タスクランナー - Babel: ES5へトランスパイル - Mocha: テストフレームワーク - Power-Assert: ⾼機能アサーション - Sinon: スタブ、モックライブラリ - Karma: 実ブラウザ向けのテストランナー 特に最初からテストを⾃動化するようにしていて、様々なライブラリにお世話になってます。
  90. 90. Copyright © NTT Communications Corporation. All right reserved. 90 Application開発フロー ・スクラムを採⽤しバックログをカンバン管理 そんなアプリ開発はアジャイルの⼿法であるスクラムをよく利⽤します。
  91. 91. Copyright © NTT Communications Corporation. All right reserved. 91 Application開発フロー ・スクラムを採⽤しバックログをカンバン管理 ・カンバンは開発メンバの物理ロケ分散を考慮し Huboard(GitHub issueのWrapper)を利⽤してonline管理
  92. 92. Copyright © NTT Communications Corporation. All right reserved. 92 Application開発フロー ・スクラムを採⽤しバックログをカンバン管理 ・カンバンは開発メンバの物理ロケ分散を考慮し Huboard(GitHub issueのWrapper)を利⽤してonline管理 ・個々のタスクは全てのメンバが拾うようにし、 できるだけ多技能⼯を⽬指す ⇒ SPOFを開発プロセスの中で撲滅 多技能⼯を⽬指しペアプロなども併⽤し、SPOFを減らしにかかります。
  93. 93. Copyright © NTT Communications Corporation. All right reserved. 93 Application開発フロー ・スクラムを採⽤しバックログをカンバン管理 ・カンバンは開発メンバの物理ロケ分散を考慮し Huboard(GitHub issueのWrapper)を利⽤してonline管理 ・個々のタスクは全てのメンバが拾うようにし、 できるだけ多技能⼯を⽬指す ⇒ SPOFを開発プロセスの中で撲滅 ・その際の初期の⽣産性の低下は許容 (どうせ後から回収できる) 最初は⽣産性が落ちます。マネージャは許してあげてください。
  94. 94. Copyright © NTT Communications Corporation. All right reserved. 94 続:Application開発フロー ①Pull Request ②Webhook ⑤Webhook Drone CI※ ③dockerコンテナ上で 任意のテスト実⾏ ⑥Cloudn ObjectStorage やAWS S3へ保存 ④コードレビュー &PRマージ GHE ・ベースは先ほど説明のフローと同様 ※ ⼀部のCIは、Droneの代わりにJenkinsも併⽤ Terraform時とほとんど同様なので、詳細は割愛しますが、ポイントは…
  95. 95. Copyright © NTT Communications Corporation. All right reserved. 95 Point1: ④のコードレビュー ①Pull Request ②Webhook ⑤Webhook Drone CI※ ③dockerコンテナ上で 任意のテスト実⾏ ⑥Cloudn ObjectStorage やAWS S3へ保存 ④コードレビュー &PRマージ GHE ・ベースは先ほど説明のフローと同様 ※ ⼀部のCIは、Droneの代わりにJenkinsも併⽤ コードレビューの重要視です。コードレビューには様々なメリットがあります。それは…
  96. 96. Copyright © NTT Communications Corporation. All right reserved. 96 ④コードレビュー ・コードレビューは有⽤ ・ソフトウェアの品質向上 ・チームメンバのスキル向上 ・情報共有によるSPOFの撲滅 良い点がたくさんあります。ですが、実際に簡単に組み込めているわけではなく…
  97. 97. Copyright © NTT Communications Corporation. All right reserved. 97 ④コードレビュー ・コードレビューは有⽤ ・ソフトウェアの品質向上 ・チームメンバのスキル向上 ・情報共有によるSPOFの撲滅 ・⼀⽅でコードレビューは 油断するとスキップされうるプロセス (実際、当初は上⼿くできていなかった) 最初は難しかったです。じゃあ、どうやって組み込んでいったのかというと…
  98. 98. Copyright © NTT Communications Corporation. All right reserved. 98 続:④コードレビュー ・そこで、チームの技術指針に組込み 何度も話をするなどして、徐々に浸透させる コードレビューに他で、アプリケーション開発で重要視しているのが…
  99. 99. Copyright © NTT Communications Corporation. All right reserved. 99 Point2: ⑥でもサクッと動く設計が重要 ①Pull Request ②Webhook ⑤Webhook Drone CI※ ③dockerコンテナ上で 任意のテスト実⾏ ⑥Cloudn ObjectStorage やAWS S3へ保存 ④コードレビュー &PRマージ GHE ・ベースは先ほど説明のフローと同様 クラウドでのデプロイに適した設計です。それは定番の指針があります。それは…
  100. 100. Copyright © NTT Communications Corporation. All right reserved. 100 12 Factor App な設計へ http://12factor.net/ja/
  101. 101. Copyright © NTT Communications Corporation. All right reserved. 101 アジェンダ 1. 内製開発の種をまく ・⽂化の話 2. 内製開発を開花させる ・技術の話(おまけ) ・⽂化の話 ここまではエンジニアらしい技術を紹介してきました。 ちなみに、今回のデブサミのテーマってご存知ですか?
  102. 102. Copyright © NTT Communications Corporation. All right reserved. RealをHackする、ということです。ならば、エンプラのエンジニアらしく…
  103. 103. Copyright © NTT Communications Corporation. All right reserved. エンタープライズ系業務も エンジニアらしくHack! エンプラで仕事で使うソフトと⾔えば…
  104. 104. Copyright © NTT Communications Corporation. All right reserved. 104 Officeとは友達ですよね!? ・プロジェクト企画/計画書、営業資料 etc… ・Officeはビジネス職のメンバとの 最強の共通プロトコル エンジニアがビジネス職の皆様と会話できる最強のプロトコルがOfficeです
  105. 105. Copyright © NTT Communications Corporation. All right reserved. 105 • 提案資料.pptx オフィスあるある まずファイルを作ります。で修正を加えたら…
  106. 106. Copyright © NTT Communications Corporation. All right reserved. 106 • 提案資料.pptx • 提案資料_20160219.pptx ⽇付を追加して更新 さらに…
  107. 107. Copyright © NTT Communications Corporation. All right reserved. 107 • 提案資料.pptx • 提案資料_20160219.pptx • 提案資料_20160219r2.pptx ちょっとした修正なのでr2へ ちょっとした修正をしました。そんな中、世の中には親切な⽅がいます…
  108. 108. Copyright © NTT Communications Corporation. All right reserved. 108 • 提案資料.pptx • 提案資料_20160219.pptx • 提案資料_20160219r2.pptx • 提案資料_20160219(最終).pptx なんと親切なファイル名 これは⾮常にわかりやすい! ですが、現実は⽢くないです…
  109. 109. Copyright © NTT Communications Corporation. All right reserved. 109 • 提案資料.pptx • 提案資料_20160219.pptx • 提案資料_20160219r2.pptx • 提案資料_20160219(最終).pptx • 提案資料_20160219(最終2).pptx もう誰も信じられない
  110. 110. Copyright © NTT Communications Corporation. All right reserved. 110 • 提案資料.pptx + 修正履歴/理由 • 提案資料_20160219.pptx • 提案資料_20160219r2.pptx • 提案資料_20160219(最終).pptx • 提案資料_20160219(最終2).pptx 本来必要なもの
  111. 111. Copyright © NTT Communications Corporation. All right reserved. 111 • 提案資料.pptx + 修正履歴/理由 • 提案資料_20160219.pptx • 提案資料_20160219r2.pptx • 提案資料_20160219(最終).pptx • 提案資料_20160219(最終2).pptx それはまさにバージョン管理が得意なところ ⇒ GitHubで管理すればいいのでは?
  112. 112. Copyright © NTT Communications Corporation. All right reserved. 112 だが弱点がある = 差分が⾒れない GitHubって、バイナリの差分は⾒れません。ですが…
  113. 113. Copyright © NTT Communications Corporation. All right reserved. 113 GitHubの事実 https://help.github.com/articles/rendering-and-diffing-images/ • 画像ならバイナリでも差分確認可能 画像は差分が⾒れます。ならば、これを活⽤しましょう!
  114. 114. 114Copyright © NTT Communications Corporation. All right reserved. 114 ということで、 パワポ修正&レビューをCI likeに 業務プロセスへ導⼊してみた
  115. 115. Push & Pull Request Webhook PPTからJPG変換 JPGを`git add`して、 GitHubへPush git push 差分を確認 CIサーバ パワポのCIフロー パワポをPush、CIがフックして画像を⽣成、それをGitHubへ再Pushします。すると…
  116. 116. 116 パワポの差分レビューが簡単に! ⾚⾊点線枠のところが差分で、GitHubでビジネス業務⽂書もレビューできるようになりました!
  117. 117. Copyright © NTT Communications Corporation. All right reserved. 117 アジェンダ 1. 内製開発の種をまく ・⽂化の話 2. 内製開発を開花させる ・技術の話 ・⽂化の話(Tipsを紹介) 最後に、チームが成⻑するために良かったTipsをいくつか紹介します。
  118. 118. 118Copyright © NTT Communications Corporation. All right reserved. Tips 1: モチベーションの向上
  119. 119. Copyright © NTT Communications Corporation. All right reserved. 119 個々のモチベーションを⾼める https://rotsuya.github.io/slides/enterprise-hacks-201512/#35 これを補⾜するTEDのトークがあり、同様のことが⾔われています…
  120. 120. Copyright © NTT Communications Corporation. All right reserved. 「20世紀的な報酬、 ビジネスで当然のものだと みんなが考える動機付けは機能はするが 驚くほど狭い範囲の状況にしか合いません」 ー ダニエル・ピンク 120知的労働に対して、⾦銭的な報酬ではダメということです。では何が必要かというと…
  121. 121. Copyright © NTT Communications Corporation. All right reserved. 121 モチベーションの3要素 ⾃律性 熟達 ⽬的 ・⾃由 ・セルフコントロール ・何かを極める ・意義を感じられる
  122. 122. Copyright © NTT Communications Corporation. All right reserved. 122 モチベーションの3要素 ⾃律性 熟達 ⽬的 ・⾃由 ・セルフコントロール ・何かを極める ・意義を感じられる
  123. 123. Copyright © NTT Communications Corporation. All right reserved. 123 ⾃由とセルフコントロール ・勤務制度 ・リモートワーク ・フレックス ・開発合宿/ハッカソン
  124. 124. Copyright © NTT Communications Corporation. All right reserved. 124 ⾃由とセルフコントロール ・勤務制度 ・リモートワーク ・フレックス ・開発合宿/ハッカソン ・現チームでは3ヶ⽉に1回、 開発合宿/ハッカソンを開催 (⼤企業で20%ルールは、兼務・割り込みが多く難しい) ちなみに先ほどの パワポ x GitHub x CI も1泊2⽇の開発合宿で⽣まれたものです。
  125. 125. Copyright © NTT Communications Corporation. All right reserved. 125 続:⾃由とセルフコントロール ・環境 ・開発マシン(Mac) ・⼤きいディスプレイ ・⾃由なネットワーク エンプラ系の開発環境で重要なのがNWです。Slideshareなどをすぐに⾒れますか?
  126. 126. Copyright © NTT Communications Corporation. All right reserved. 126 プロキシをくぐり抜けてませんか?
  127. 127. Copyright © NTT Communications Corporation. All right reserved. 127 プロキシをくぐり抜けてませんか? 無駄な部分にリソース消費してますよね。やはりエンジニアに必要なのは…
  128. 128. Copyright © NTT Communications Corporation. All right reserved. 128https://www.flickr.com/photos/kalyan02/4741751904/in/photolist-8e1HDb-u ZuS1 9-s8rMuD-6NBiXW-dWjASX-4sSHP1-7gyTGx-p3JgM V-xD7BBS-9o VL1S-7 uFkF1-3d45en -uYHRkF-34 RGLp-pNL5v5-qw RFHX-f5EY ST-srX6Dn-48qqS9 -BcR8 if-vd5CVT-B9z5JF-9Du5nJ-asnhrX-9 3QiHW- 9VPysp-8B1zEg-bHPDvZ-6ZvBPc-7nV9sL-eZFf6T-fSvizn-4EeJjv-pMzoj2-AK5m R-5qT nBV-dmt8q-5MznQ1-dssvLL-e3w3aZ-3eNZ7s-4fpeSy-4fkfYP-bTRXJn-tq Vje-7Sm7h B-5oXSza-6vTZw J-du BgR8 -9DxVo ⾃由に使える開発向けネットワークを
  129. 129. Copyright © NTT Communications Corporation. All right reserved. 129 続:⾃由とセルフコントロール ・環境 ・開発マシン(Mac) ・⼤きいディスプレイ ・⾃由なネットワーク ・ツール ・Slack、GitHub ・任意のIDE など
  130. 130. Copyright © NTT Communications Corporation. All right reserved. 130 Slack = エンジニア向けチャット ・APIが公開されており簡単にHack可能 130SlackはAPIが公開されており、ボットを中に参加できます…1例として…
  131. 131. Copyright © NTT Communications Corporation. All right reserved. 131 愛⽤されるボット ・メンバは作業中の情報を ボット(⾃動応答プログラム)を利⽤しつつ 常時アウトプット ⇒ 作業の⾒える化 ToDo管理の例 131作業の⾒える化を狙ったTODOボットを利⽤しています。
  132. 132. Copyright © NTT Communications Corporation. All right reserved. 132 続続:⾃由とセルフコントロール ・社「外」勉強会への参加の推奨 132社外勉強会での発表は許可などが必要かと思いますが、積極的に送り出してください。
  133. 133. Copyright © NTT Communications Corporation. All right reserved. 133 続続:⾃由とセルフコントロール ・社「外」勉強会への参加の推奨 ・特にアウトプットを推奨 ・コアとなるノウハウは隠蔽すべき、 だが実際にはそれほど多くは無い 133本当のノウハウは隠せばいいですが、周辺技術は特に出しても問題ないものも多いです。
  134. 134. Copyright © NTT Communications Corporation. All right reserved. 134 続続:⾃由とセルフコントロール ・社「外」勉強会への参加の推奨 ・特にアウトプットを推奨 ・コアとなるノウハウは隠蔽すべき、 だが実際にはそれほど多くは無い ・「講演する ⇔ 詳細に調査する」x N回 を繰り返すと、「熟達」につながる 134講演を繰り返すと、良いフィードバックループが周りモチベーション向上につながります。
  135. 135. Copyright © NTT Communications Corporation. All right reserved. 135 再掲:モチベーションの3要素 熟達 ⽬的 ・⾃由 ・セルフコントロール ・何かを極める ・意義を感じられる ⾃律性
  136. 136. Copyright © NTT Communications Corporation. All right reserved. 136 熟達:何かを極める ・その道のエキスパートになる 136勉強会で多く発表して、Expertになった良い⼈物が弊社にいます…
  137. 137. Copyright © NTT Communications Corporation. All right reserved. 137 熟達:何かを極める ・その道のエキスパートになる ・例: NTTコミュニケーションズ Webアプリケーション エバンジェリスト Google Developer Expert ⼩松 健作 ⽒ 137現在はUSベイエリアで活躍中です!
  138. 138. Copyright © NTT Communications Corporation. All right reserved. 138 再掲:モチベーションの3要素 ⾃律性 熟達 ⽬的 ・⾃由 ・セルフコントロール ・何かを極める ・意義を感じられる 138最後の要素は⽬的です。これは⾮常に難しいですが…
  139. 139. Copyright © NTT Communications Corporation. All right reserved. 139 共感できるビジョンを⽰す https://rotsuya.github.io/slides/enterprise-hacks- 201512/#45
  140. 140. Copyright © NTT Communications Corporation. All right reserved. 140 SkyWayのミッションステートメント
  141. 141. 141Copyright © NTT Communications Corporation. All right reserved. Tips 2: ⽂化の醸成
  142. 142. Copyright © NTT Communications Corporation. All right reserved. 142 ・チームの⽂化を作る ・変化や逆境に強い組織 ⽂化を作る 142⼤企業では、他の施策などから様々な余波がチームを襲ってきますが強いチームなら耐えられます
  143. 143. Copyright © NTT Communications Corporation. All right reserved. 143 ・チームの⽂化を作る ・変化や逆境に強い組織 ・⾏動指針を作って合意を形成し 徐々に浸透させる ・新規メンバのチーム参加時に説明 ・既存メンバ含め継続的に浸透 ⽂化を作る 143強いチームを作るために、⾏動指針などを規定して浸透させます。指針とは例えば…
  144. 144. Copyright © NTT Communications Corporation. All right reserved. 144 チームのガイド・ポリシーの規定例
  145. 145. Copyright © NTT Communications Corporation. All right reserved. 145 チームのガイド・ポリシーの規定例 145情報発信・共有は特に重要視しています。具体的にはたとえば…
  146. 146. Copyright © NTT Communications Corporation. All right reserved. 146 情報共有について ・原則、情報はURL付きで チーム内に全て公開して⾒える化
  147. 147. Copyright © NTT Communications Corporation. All right reserved. 147 情報共有について ・原則、情報はURL付きで チーム内に全て公開して⾒える化 なぜ、徹底して こだわるのか?
  148. 148. Copyright © NTT Communications Corporation. All right reserved. 148 情報共有が必要な理由 ・共有されていない情報は、 そのままチームのSPOFになる
  149. 149. Copyright © NTT Communications Corporation. All right reserved. 149 情報共有が必要な理由 ・共有されていない情報は、 そのままチームのSPOFになる ・情報の隠蔽は不要な権⼒を⽣み出す
  150. 150. Copyright © NTT Communications Corporation. All right reserved. 150 情報共有が必要な理由 ・共有されていない情報は、 そのままチームのSPOFになる ・情報の隠蔽は不要な権⼒を⽣み出す ・プロジェクトの範囲が⾒えないと、 個々のメンバの裁量も⽣まれない ・例:Aさんがやってる可能性があるから ⾃分がやっていいのか判断できない
  151. 151. Copyright © NTT Communications Corporation. All right reserved. 151 情報発信を促すTips ・全体ミーティングなどで 情報発信が必要な意義を理解してもらう
  152. 152. Copyright © NTT Communications Corporation. All right reserved. 152 情報発信を促すTips ・全体ミーティングなどで 情報発信が必要な意義を理解してもらう ・⾔い出しっぺが⾃ら書きまくる姿を⾒せる (⼼が折れそうでも、そこは頑張る!)
  153. 153. Copyright © NTT Communications Corporation. All right reserved. 153 情報発信を促すTips ・全体ミーティングなどで 情報発信が必要な意義を理解してもらう ・⾔い出しっぺが⾃ら書きまくる姿を⾒せる (⼼が折れそうでも、そこは頑張る!) https://speakerdeck.com/naoya/qing-bao-gong-you-shi-bai-aruaru
  154. 154. Copyright © NTT Communications Corporation. All right reserved. 154 情報発信を促すTips ・誰かが記事などを書いてくれたら、 全⼒で「 」!
  155. 155. Copyright © NTT Communications Corporation. All right reserved. 155 実際にはこのぐらいのノリで ・誰かが記事などを書いてくれたら、 全⼒で「 」!
  156. 156. 156Copyright © NTT Communications Corporation. All right reserved. 156 Tips 3: ⽣産性の向上を強く意識 エンプラ企業であまり意識されていないことかもしれませんが、⽣産性向上のためには…
  157. 157. Copyright © NTT Communications Corporation. All right reserved. 157 集中することに集中する
  158. 158. Copyright © NTT Communications Corporation. All right reserved. 158 続:集中することに集中する
  159. 159. Copyright © NTT Communications Corporation. All right reserved. 机の前に何時間座っていたかは どうでもいいことで、 全神経を集中して 仕事に取り組んだ時間が重要なのだ (ピープルウェア より)
  160. 160. 160Copyright © NTT Communications Corporation. All right reserved. Tips 4: 継続的チーム改善
  161. 161. Copyright © NTT Communications Corporation. All right reserved. 161 KPTでの振り返り ・定期的にチーム全体で改善会議 ・実施⽅式はKPT(Keep, Problem, Try)
  162. 162. Copyright © NTT Communications Corporation. All right reserved. 162 ポイントは担当者アサイン ・定期的にチーム全体で改善会議 ・実施⽅式はKPT(Keep, Problem, Try) 次回の改善事項の期⽇を決め 担当者をアサインし 次回の会議でTryを振り返り 162当たり前かもしれませんが、特に担当者を決めるのが重要です。というのも…
  163. 163. Copyright © NTT Communications Corporation. All right reserved. “私達”というのは結局やらない (Developerʼs Codeより) 163「私達」は責任・責務をあいまいにする⾮常に便利な⾔葉です。
  164. 164. Copyright © NTT Communications Corporation. All right reserved. 164 https://www.flickr.com/photos/matianming/11622156285/in/photolist-iH1A9V-dpgEPq-dpgyJi-4nACsY-MdAxR-3YxJ3M-5sVma5-6zY6TJ-MdBVW-PHMHg-iH5z9m-4nwxkn-aDJe7-iH1xgv-dpgJKU-cpnz4-dpgFjG-5fMjk- 9sm6N6-wSJSXt-MdsaQ-fSEFmT-atS39L-fSEFnK-4nABrL-bt6mbS-aDJ63-PHcBj-6Bsn5y-MdBFc-fSFiD3-iH1yLK-aJn3R-pRR1j3-4eq7nv-5Lumw-DX7xAt-52brFk-7Q6Yj8-7SD1LL-4nADHE-2bKJG-93TZN5-fSBUpt-6ZwEVH- 7SzFYB-7cNAiP-fEE2hu-7Q6WAg-fSFihm 私達も まだまだ道半ば 164改善に終わりはありません。だまだ出来ていないこともあります。例えば…
  165. 165. Copyright © NTT Communications Corporation. All right reserved. 165 こういうスケジュールになってませんか? 会議などで 埋まっている カレンダーの図 165これを引き起こす要因でメジャーなものが…
  166. 166. Copyright © NTT Communications Corporation. All right reserved. 166 (管理層の考える)兼務の魔法 +業務A(50%) +業務B(30%) +業務C(20%) = 100%
  167. 167. Copyright © NTT Communications Corporation. All right reserved. 167 これ⼤嘘です +業務A(50%) +業務B(30%) +業務C(20%) = 100% 167167これは間違ってます。理由は…
  168. 168. Copyright © NTT Communications Corporation. All right reserved. 168 コンテキストスイッチのコストを忘れずに 脳内2次記憶 (HDD/SSD) 脳内1時記憶 (RAM) 業務A 業務B 業務C 業務A Swap-in Swap-out 168168スワップイン・アウトのコストは無視できないレベルで⼤きいです。そのためには…
  169. 169. Copyright © NTT Communications Corporation. All right reserved. 169 コンテキストスイッチのコストを忘れずに 脳内2次記憶 (HDD/SSD) 脳内1時記憶 (RAM) 業務A 業務B 業務C 業務A Swap-in Swap-out 兼務は可能な限り解消すべき! (まだ道半ば)
  170. 170. 170Copyright © NTT Communications Corporation. All right reserved. まとめ 170
  171. 171. Copyright © NTT Communications Corporation. All right reserved. 171 本⽇、お聞きいただいたこと • 内製開発の必要性 • 内製開発の種をまく ・⽂化の話 • 内製開発を開花させる ・技術の話 ・⽂化の話
  172. 172. Copyright © NTT Communications Corporation. All right reserved. 172 今⽇のゴール 内製を始める気になる ⇒ ⾏動する https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb- 9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc
  173. 173. Copyright © NTT Communications Corporation. All right reserved. 173 今⽇のゴール 内製を始める気になる ⇒ ⾏動する https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb- 9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc NTT Comのような外注が多い企業でも イマドキの内製は実現できるのだから あなたの会社でも絶対にできる!
  174. 174. Copyright © NTT Communications Corporation. All right reserved. 174 今⽇のゴール 内製を始める気になる ⇒ ⾏動する https://www.flickr.com/photos/andrewrennie/4472877398/in/photolist-7PfEBQ-5px JLr-5PbsGo-81L4B2 -9cDmTe-83PVUn-5ycqEA-6E5mwe-kYQ RQG-8qVpqN-pU1YS-5zW1JQ -xpcC-AYaHeS-dVqiY4-7xrZkS-bgLYCP -mUegg6-kfWGGF-4BYPHM-a9 iUAG-av9EvZ-96Jeo X-bz76rh-9 StUXb- 9StW6E-sBT1G-pBStcN-ptDpPw-7QCia5-apLjca-9ogohE-8RKCvB-6 A6nxy-9sLrvz-9yPcYk-4rUuRj-9sLrrM -bK3EL X-h3b6h C-Di8iy-db 8GGs-4qydtJ-aQxVkx -nZwcve-bHfVNF-yn KYR3 -7BnpmJ-3Vyqq 9-9W8TYc NTT Comのような外注が多い企業でも イマドキの内製は実現できるのだから あなたの会社でも絶対にできる! あとは⾏動するのみ!!! ご清聴ありがとうございました!

×