Social Coding
Ruby World Conference 2016堀江⼤大輔, Edward Thomson, 梅梅崎 裕利利
the best way to build and ship software堀江⼤大輔@Dice! APAC Support Program Manager# プロダクト・マネージャー
プロジェクト・マネージャー
マーケティング、新規事業
the best way to build and ship software

2

$

$

$

Social Coding

the best way to build and ship software

%

6

%

the best way to build and ship software

7

2016年年11⽉月現在のGitHub

the best way to build and ship software%

創業

登録ユーザー数

レポジトリー数

2008年年1500万+

3800万+

従業員

利利⽤用している⼤大学

600+

1,000+

8

オープンソース・ソフトウェア

the best way to build and ship software%

9貢献するためのプロセスの⼀一本化
10年年前のオープンソース& - ( - )-*8
1 6 1 10 2 , '53
747+1/ 🍕the best way to build and ship software%

今⽇日のオープンソース

.
101/🍕
10

Ask for permission later

the best way to build and ship software

%

11

%

the best way to build and ship software12プライベートレポジトリ

9the best way to build and ship software%

913

Inner Source

the best way to build and ship software

%

14

$
Social Coding
Open Source and Inner Source at MicrosoftEdward Thomson:

a ethomson

ethomson
How people build software

Edward Thomson$• Software Engineer, GitHub• Previously: Software Engineer, Microsoft• Previously, previously: Software Engineer, Teamprise

Edward Thomson$ How people build softwarea ethomsonethomson
16Teamprise$• Enterprise version control software

Microsoft Team Foundation Server clients• Plug-in for Eclipse and Rational Application Developer• Enterprise Unix platforms: Linux, AIX, Solaris, HP-UX•• Tiny startup company

Eight people in a cornfield in Central Illinois• Only four developers•$ How people build software

17Teamprise$Building an Enterprise Software Companywith 4 engineers requires Open Source.

$ How people build software

182009: Microsoft acquires Teamprise$ How people build software

19

Microsoft was shocked todiscover that we used Free
and Open Source Software.

$ How people build software

20

“There is this thingcalled the GPL, which
we disagree with.”
Bill Gates

“Linux is a Cancer”
Steve Ballmer

“Remediation”: Removing the Open Sourcecomponents in our software that Microsoft
objected to.

$ How people build software23

2010: Team Foundation Version Control$ How people build software24Team Foundation Version Control$“Hating TFS is a favorite pass time of mine.” - David Adsit“TFS sucks #justsaying” - Phil Dye“Team Foundation Server is, simply put, like trying to clean yourfingernails with a Backhoe. ” - Andy Foreman“I've just about had it with TFS.” - Scott Herbert“TFS is for old man developers” - On a “TFS Sucks” T-Shirt“I fucking hate TFS.” - Dave Schinkel“I only interacted with TFS when I absolutely had to.” - Brandon Bloom“Team Frustration Server”$ How people build software25

$ How people build software26

Who Approved This?

$• Coworkers• Management• Lawyers• Senior Management$ How people build software

27“The Characteristicsof Communism…”
Steve Ballmer

2013:$ How people build software

30

Git in Visual Studio$“This is AWESOME!!!” - Cullen Tsering“Best news I’ve heard all day!!” - Spencer Roach“This is (a) absolutely shocking, and (b) utterly fantastic”- Charlie Flowers“This is great news” - Carlos Ireart“This is awesome. Thanks for the good news…” - Hari Menon“Great news!” - Laurent Kempa$ How people build software31

2015: Microsoft Goes Open Source$ How people build software

32

Microsoft Open Source$ How people build software$33Microsoft Contributes to Open Source$ How people build software$34

2016: Inner Source
Corporate version of Open Source$ How people build software

36

Before Inner SourceBefore Inner Source

Windows$ How people build software$

Visual Studio

Office38

Before Inner Source$ How people build software

$;

<Text

Text

39

Before Inner Source$CodeLens

Common IDE Support

Team Explorer

Common Git Support

Visual Studio$ How people build software40

Inner Source$At Microsoft, source code is public within the company.
Hosted in Git.
Accepting Pull Requests.

$ How people build software41

Inner Source isn’t just happening at Microsoft.

$ How people build software

42%“Software is eating the world
ソフトウェアが世界を飲み込んでいる- MARC ANDREESEN

the best way to build and ship software43すべての企業はソフトウェア企業である。

%

Every Company is a software company

@4?

=>

5g

⼈人事

マーケティング

営業

経理理

法務

ソフトウェアthe best way to build and ship software

44Social Codingの採⽤用範囲@

OPEN SOURCELEADERSthe best way to build and ship software

45

Social Codingの採⽤用範囲
OPEN SOURCELEADERSthe best way to build and ship software@

TECHNOLOGY
SPECIALISTS

46

Social Codingの採⽤用範囲
OPEN SOURCELEADERSthe best way to build and ship software

TECHNOLOGY
SPECIALISTS@FORWARD THINKINGENTERPRISES

47

Ruby World Conference 2016

日本経済新聞社
内製とソーシャルコーディング
日本経済新聞社

48

梅崎 裕利

自己紹介
梅崎 裕利 (Yuri Umezaki)
日本経済新聞社 デジタル編成局 編成部
検索API・インフラ構築・ログ分析
GitHub: @bungoume49

日本経済新聞とは・1876年（明治9年）創刊
・今年で140周年・280万部発行

50

日本経済新聞 電子版
・2010年3月創刊
・月間アクセス 3億件
・毎日約 900 本の記事を配信
・PC・モバイルサイト、iOS, Android アプリなどに対応

51

メディア（媒体）とはコンテンツが乗っている器
デジタル時代においてはソフトウエアがメディアそのものである

52

なぜ日経が内製化？
・ソフトウェアの重要度
・環境の変化に柔軟に対応する必要
・例) ボタンひとつの追加に2週間・PDCAを回すため、手続きやコミュニケーションコスト削減が重要

53

内製化の流れ・まずは作ることサイドプロジェクトからスタート
できることを見せて内製を広める
・ソースコード管理が必要となり、GitHubを利用

54

チーム構成の変更
複数プロジェクト兼務型から、チームを主体とした動き方に・iOSチーム、PC版チーム、検索基盤チーム・・・
・席替え
・各チームに名前（TOJ組、レッドアロー…)
・朝会、KPT、1 on 1

55

内製プロダクト・iOSアプリなど
・紙面ビューアはアプリだけでなくバックエンドの設計・開発も社員

56

開発パターン
・社員のみ
・社員開発、レビューを外に依頼
・外部開発、社員レビュー(WIPフロー)・常駐の外部SEによる開発
・請負型外注57

レビューの文化非同期でこまめにレビューを依頼

58

Pull Request フローレビュー・こまめに非同期でレビュー
Work in Progress Pull Request
・作業開始時にPR作成
・Todoを本文に記載
・早い段階でのレビュー
・作業内容・進捗の明確化
59

当事者意識の変化
・ユニットテストによる品質向上
運用を考慮した開発により、スムーズに引き取れるように・知見があることでベンダーとの関係を保てる・内製では大胆な舵切りもできる60

採用の変化・ コードが書ける人を採用
・新卒も率先して設計し、改善点を挙げ、開発している・外部での発表もどんどんやっている61

これから・文化の横展開
・良い文化・習慣の維持・ビジネスを意識

62

%

Title Text

the best way to build and ship software

63