成功したチームと成功しなかったチーム 20160608

61
成功したチームと 成功しなかったチーム 2016/06/08 CyberZ スキルウェンズデー 遠藤圭一

Transcript of 成功したチームと成功しなかったチーム 20160608

Page 1: 成功したチームと成功しなかったチーム 20160608

成功したチームと 成功しなかったチーム

2016/06/08 CyberZ スキルウェンズデー

遠藤圭一

Page 2: 成功したチームと成功しなかったチーム 20160608

自己紹介

独立系SIerにて携帯電話やWebサービスの開発に従事後、2012年サイバーエージェント中途入社。

iOS/Androidエンジニアとしてコミュニティサービスの新規立ち上げを経験。

その後、コミュニティサービスのアナリストとしてサービス改善に従事。

2014年CyberZ入社。現在は、F.O.Xデータ分析及びデータを活用した新規機能の企画/ディレクションを担当

Page 3: 成功したチームと成功しなかったチーム 20160608

成功?

• ここでの「成功」は開発チームが炎上や空中分解せず、比較的スムーズに最後まで開発とリリースができたことです(主観的)

• 本来のPJのゴールである、売上やDAUについてはまた別の評価になるのでここでは触れません

Page 4: 成功したチームと成功しなかったチーム 20160608

過去のPJを評価してみた

No 種別

メンバ構成成功? 失敗?

理由プロデューサー

フロント サーバ ネイティブ 合計

1 SNS開発 1 3 4 2 10 成功メンバ変更も少な

く安定開発

2 解析基盤 0 0 3 - 3 失敗業務が増え人手不足で回らない

3 ツール開発 0 1 2 - 3 成功少人数で安定開

4 ツール開発 1 1 1 - 3 成功少人数で安定開

5 ツール開発 1 2 3 - 6 失敗 炎上&空中分解

6 ツール開発 ? 3 5 2 10 失敗? ?

Page 5: 成功したチームと成功しなかったチーム 20160608

何でそうなった?

Page 6: 成功したチームと成功しなかったチーム 20160608

ロジスティック回帰分析で分析

Page 7: 成功したチームと成功しなかったチーム 20160608

被説明変数 1:成功 0:失敗 説明変数  メンバ数       難易度       開発期間       言語       フレームワーク

      

Page 8: 成功したチームと成功しなかったチーム 20160608

時間無かったので 無理でした

Page 9: 成功したチームと成功しなかったチーム 20160608

1.人数?

Page 10: 成功したチームと成功しなかったチーム 20160608

人数の多さだけではない?

No 種別

メンバ構成成功? 失敗?

理由プロデューサー

フロント サーバ ネイティブ 合計

1 SNS開発 1 3 4 2 10 成功メンバ変更も少な

く安定開発

2 解析基盤 0 0 3 - 3 失敗業務が増え人手不足で回らない

3 ツール開発 0 1 2 - 3 成功少人数で安定開

4 ツール開発 1 1 1 - 3 成功少人数で安定開

5 ツール開発 1 2 3 - 6 失敗 炎上&空中分解

6 ツール開発 ? 3 5 2 10 失敗? ?

Page 11: 成功したチームと成功しなかったチーム 20160608

人数のメリデメ

メリット デメリット おすすめのスタイル

8 小回りがきく 休めない 困ったらすぐ集合

4〜6人 チーム分割可能 「あれそんなことしてたの?」

誰かがチーム全体意識しよう

7人以上

さらに チーム分割可能

夏休み取りやすい PM必須 PMは開発しない

Page 12: 成功したチームと成功しなかったチーム 20160608

人数が増えても一般的には3〜4名のチームに

わかれる

Page 13: 成功したチームと成功しなかったチーム 20160608

要件に対してキャパシティがあるかどうか

Page 14: 成功したチームと成功しなかったチーム 20160608

キャパシティ超えた開発はできない

Page 15: 成功したチームと成功しなかったチーム 20160608

2.システム要件や開発要件の難しさ?

Page 16: 成功したチームと成功しなかったチーム 20160608

関係ありそう

No 種別

難易度成功? 失敗?

理由

種類課金/決

済大量デー

タ?要求稼働

率他システム連

1 SNS開発 BtoC ◯ ☓ 高 あり 成功メンバ変更も少な

く安定開発

2 解析基盤 BtoB ☓ ◯ 低 あり 失敗業務が増え人手不足で回らない

3 ツール開発 BtoB ☓ ◯ 高 なし 成功少人数で安定開

4 ツール開発 BtoB ☓ ☓ 中 あり 成功少人数で安定開

5 ツール開発 BtoB ☓ ☓ 中 あり 失敗 炎上&空中分解

6 ツール開発 BtoB ☓ ◯ 高 あり 失敗? ?

・チーム外調整工数 ・仕様コントロールできない

Page 17: 成功したチームと成功しなかったチーム 20160608

コントロールできない領域

Page 18: 成功したチームと成功しなかったチーム 20160608

(ex)外部システム連携

Page 19: 成功したチームと成功しなかったチーム 20160608

データ転送の頻度、タイミング データ・フォーマット

レスポンス内容

Page 20: 成功したチームと成功しなかったチーム 20160608

連携先の仕様に引きづられる

テストや問題の切り分け困難

Page 21: 成功したチームと成功しなかったチーム 20160608

「すぐ使えますよ」

Page 22: 成功したチームと成功しなかったチーム 20160608

絶対に問題でます

Page 23: 成功したチームと成功しなかったチーム 20160608

検証期間をちゃんととりましょう

Page 24: 成功したチームと成功しなかったチーム 20160608

3.チーム内の共有?

Page 25: 成功したチームと成功しなかったチーム 20160608

飲み会神話崩壊

No 種別

コミュニケーション成功? 失敗?

理由

ランチ 飲み会 朝会/夕会技術相談/

提案要件相談

/提案

1 SNS開発 ◎ △ ◎ ◎ ◎ 成功メンバ変更も少な

く安定開発

2 解析基盤 ◎ ☓ ☓ ◯ △ 失敗業務が増え人手不足で回らない

3 ツール開発 ☓ ☓ △ ◎ ◎ 成功少人数で安定開

4 ツール開発 ☓ ☓ ◎ ◯ ◎ 成功少人数で安定開

5 ツール開発 ☓ ☓ ◯ ◯ △ 失敗 炎上&空中分解

6 ツール開発 ◯ ◯ ◯ ? ? 失敗? ?

Page 26: 成功したチームと成功しなかったチーム 20160608

技術相談?

Page 27: 成功したチームと成功しなかったチーム 20160608

アーキどうしよう

Page 28: 成功したチームと成功しなかったチーム 20160608

フレームワークどうしよう

Page 29: 成功したチームと成功しなかったチーム 20160608

API設計

Page 30: 成功したチームと成功しなかったチーム 20160608

要件相談?

Page 31: 成功したチームと成功しなかったチーム 20160608

これってユーザはどんな目的で使うの?

Page 32: 成功したチームと成功しなかったチーム 20160608

これを作ることはどんな価値があるの?

Page 33: 成功したチームと成功しなかったチーム 20160608

「それ絶対使わないですよ」ってプロデューサに

言う勇気

Page 34: 成功したチームと成功しなかったチーム 20160608

(注)作るのが面倒だから言うのはNG。 ダメ絶対。

“自分が使うイメージがあるか?” で話しましょう。

たとえ、それが難しい開発になるとしても・・・

Page 35: 成功したチームと成功しなかったチーム 20160608

作るものを理解しないといいものはできない

Page 36: 成功したチームと成功しなかったチーム 20160608

イメージできないものは作れない

Page 37: 成功したチームと成功しなかったチーム 20160608

うまくいったPJは

Page 38: 成功したチームと成功しなかったチーム 20160608

何が良かったか?

Page 39: 成功したチームと成功しなかったチーム 20160608

(1)エンジニア主体で 機能提案や開発

Page 40: 成功したチームと成功しなかったチーム 20160608

作る人が理解している コントロールできている

精神的な余裕

Page 41: 成功したチームと成功しなかったチーム 20160608

(2)リリース前の おさわりタイム

Page 42: 成功したチームと成功しなかったチーム 20160608

自分が作ったものがちゃんと動いているか面白

いかの確認

Page 43: 成功したチームと成功しなかったチーム 20160608

(3)柔軟な役割分担

Page 44: 成功したチームと成功しなかったチーム 20160608

PM ・メンバを守る

・プロジェクトを守る

Page 45: 成功したチームと成功しなかったチーム 20160608

設計/リード ・基本設計

・アーキテクチャ設計 ・レビュー

Page 46: 成功したチームと成功しなかったチーム 20160608

暇な人 ・環境整備

・チーム内マスコット ・その他タスクを拾ってあげる

Page 47: 成功したチームと成功しなかったチーム 20160608

まとめ

Page 48: 成功したチームと成功しなかったチーム 20160608

よいチームがビジネス的に成功するわけでは

ない

Page 49: 成功したチームと成功しなかったチーム 20160608

優秀なエンジニアがいるから成功するわけでもな

Page 50: 成功したチームと成功しなかったチーム 20160608

でもいいチームで仕事したいよね?

Page 51: 成功したチームと成功しなかったチーム 20160608

1.役割分担/バランス

Page 52: 成功したチームと成功しなかったチーム 20160608

柔軟にタスクを 拾いあう

Page 53: 成功したチームと成功しなかったチーム 20160608

「あ、それボクやっとくよ」 「カレー行こう」

「午前休、スケジュールにいれといたよ」

Page 54: 成功したチームと成功しなかったチーム 20160608

2.やさしさ

Page 55: 成功したチームと成功しなかったチーム 20160608

仕事はやさしさ

Page 56: 成功したチームと成功しなかったチーム 20160608

つエナジードリンク

Page 57: 成功したチームと成功しなかったチーム 20160608

「一緒に考えよか」

Page 58: 成功したチームと成功しなかったチーム 20160608

「15分考えてわかんないから、話し相手になっ

て」

Page 59: 成功したチームと成功しなかったチーム 20160608

3.作るものへの理解

Page 60: 成功したチームと成功しなかったチーム 20160608

それ何? 用語

それ楽しいの?

Page 61: 成功したチームと成功しなかったチーム 20160608

成功したツール開発PJでは・・・ UI、指標、仕様は3人で議論

理想を出し合って みんな納得したら作る