Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
複数拠点における開発効率の維持・向上
Search
Infiniteloop
August 17, 2023
Technology
0
87
複数拠点における開発効率の維持・向上
複数拠点における開発効率の維持・向上
Infiniteloop
August 17, 2023
Tweet
Share
More Decks by Infiniteloop
See All by Infiniteloop
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
0
270
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
0
340
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
0
410
詫び石の裏側
infiniteloop_inc
0
370
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
6
25k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
140
ADRという考えを取り入れてみて
infiniteloop_inc
0
130
500万行のPHPプロジェクトにおけるログ出力の歩み
infiniteloop_inc
0
110
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
infiniteloop_inc
0
83
Other Decks in Technology
See All in Technology
Lexical Analysis
shigashiyama
1
150
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
350
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
Engineer Career Talk
lycorp_recruit_jp
0
190
強いチームと開発生産性
onk
PRO
35
11k
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
300
The Rise of LLMOps
asei
9
1.7k
The Role of Developer Relations in AI Product Success.
giftojabu1
0
140
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Building an army of robots
kneath
302
43k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Being A Developer After 40
akosma
87
590k
Gamification - CAS2011
davidbonilla
80
5k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Designing for Performance
lara
604
68k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
For a Future-Friendly Web
brad_frost
175
9.4k
Transcript
複数拠点における 開発効率の維持・向上 株式会社インフィニットループ仙台支社 中野 明
もくじ 1. 自己紹介 2. 会社紹介 3. 開発条件 4. 開発環境 5.
開発スタイル 開発編 6. 開発スタイル リモートフォロー編 7. 開発スタイル アラート編 8. まとめ
1. 自己紹介 名前 : 中野 明 現在 所属 : インフィニットループ仙台支社
(4 カ月 ) 業務 : スマホゲーのサーバ開発 過去 業務 : ゲーム開発 (10 年 ) コンシューマ・スマホ・ガラケー 趣味 お菓子づくり、レザークラフト
2. 会社紹介 インフィニットループ仙台支社 プログラマの会社です(社内勉強会の様子)
3. 開発条件 開発内容 ・ それなりの規模のスマホゲーム 複数拠点 ・ 札幌 (IL) サーバサイド開発・運用
・ 仙台 (IL) サーバサイド開発 ・ 東京 ( 他社様 ) 企画 / クライアントサイド開発 リリース ・ ほぼ毎月 特徴 ・ 遠隔多拠点での開発
4. 開発環境 ツール紹介
4. 開発環境 ツール紹介 SonarQube: 静的解析 ( 複雑度・規約違反等 )
4. 開発環境 ツール紹介 Knowledge: 流動的な情報 (Tips 等 ) の共有
5. 開発スタイル 開発編 あるプロジェクトの場合 札幌 (IL) ・ サーバサイド開発 : 10-20 人ぐらい
・ 運用 ( 含インフラ ): <3 人ぐらい ・ テスター : <5 人ぐらい 仙台 (IL) ・ サーバサイド開発 : 6 人 ( 立ち上げ半年 ) 東京 ( 他社様 ) ・ クライアントサイド開発 : <10 人ぐらい ・ ゲーム設計、企画運営 :<5 人ぐらい 職種・スキルレベル・関与期間・拠点規模が違う
5. 開発スタイル 開発編 拠点ではなく、敢えて個人単位でタスクを受けもつ ・ 担当で区切ることで必要な情報量を削減 ・ 個人単位なのでリソース管理がしやすい 小さく区切って小さく回す
5. 開発スタイル 開発編 仕様共有 ・ コントラクトで API の入出力を定義 ・ 定義に従ってクライアント・サーバアプリを実装 ・
レビューは仕様書とコントラクトの二点から実施
5. 開発スタイル 開発編 情報共有 ChatWork ・ 情報種別 / 目的ごとにチャンネルを設定 ・ 実装相談、企画、調査、インフラ…
・ 窓口という概念はなく、担当が直接やり取り ・ 個人チャンネルでのやりとりは行わない メンバーが見えるところでやり取りを行うため、話が複数 人の目に留まる。また、フォローに入りやすい。
6. 開発スタイル リモートフォロー編 個人単位の仕事においてチームメンバーは何をするか? ・ 担当が弱い部分のサポート ( 相談等 ) ・ PullRequest
によるコードレビュー ・ ノウハウや Tips の展開 ・ 教育 ・ 雑談相手 ( 結構重要 ) メンバーは、個人のフォローを行う
6. 開発スタイル リモートフォロー編 リモートフォローと情報共有の壁 ・ 物理的な距離があるので気軽に会話できない ・ 場所ごとによって溜まっている情報が違う ・ 顔色がわからない 解決策
・ Skype ビデオチャットの常時接続 常につなぐことによって隣にいる気分 ・ Slack による分報 普通の会話に近い環境 雑談・相談・つぶやき、何でもあり
6. 開発スタイル リモートフォロー編 Skype ビデオチャットの常時接続
6. 開発スタイル リモートフォロー編 窓口型 Head と Remote にはコミュニケーション格差がある 同じ情報量で仕事を行うことができない
6. 開発スタイル リモートフォロー編 チャンネル共有型 同じ箇所で会話するため、必要情報だけになりがち 通常の会話と異なる状態
6. 開発スタイル リモートフォロー編 Slack による分報 個々にチャンネルを作ることにより 通常の会話と同じ経路網を作り上げる
6. 開発スタイル リモートフォロー編 Slack による分報
7. 開発スタイル アラート編 アラートは、チームどころか会社で共有する事態 担当者へ飛ぶアラートメールだけでは弱い その場にいる全員が即座に反応できる仕組み ‘◦◦ のサーバが沈黙しまし た。各員戦闘配置について ください。’
8. まとめ 規模感や職種の差が大きい拠点間で 効率的な開発を行う一つの方法として ◆ 個人に重点を置いた開発にする ◆ 必要な情報量を少なくする ◆ 情報経路を絞る
◆ 可能な限りコミュニケーション格差を平準化 ・ 格差をなくすことはできない ・ 口頭の会話も可能な限り分報で
9. WE’RE HIRING! インフィニットループ仙台支社ではプログラマを募集してい ます。ぜひお声がけください!