Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スタートアップにおける技術チームの作り方

C49fc6601c81f8dd2cb386d529c48368?s=47 kenz
August 21, 2015

 スタートアップにおける技術チームの作り方

LIGさんのいいオフィスで開催された、スタートアップにおける技術チームの作り方勉強会にて、スタートアップや新規事業の立ち上げ時におけるエンジニアリングチームの作り方について、サービス開発体制や技術選定、開発プロセス/フロー、成長課題への対応というテーマで簡単にまとめてみました。

C49fc6601c81f8dd2cb386d529c48368?s=128

kenz

August 21, 2015
Tweet

Transcript

  1. スタートアップにおける 技術チームの作り⽅方

  2. 1 ランサーズとは 2 スタートアップにおける技術選定/開発体制 3 スタートアップにおける開発プロセス/フロー 4 スタートアップにおける成⻑⾧長課題への対応

  3. 1 ランサーズとは 2 スタートアップにおける技術選定/開発体制 3 スタートアップにおける開発プロセス/フロー 4 スタートアップにおける成⻑⾧長課題への対応

  4. ランサーズ株式会社 CTO  ⽥田邊  賢司 ランサーズ社について 会社名   ランサーズ株式会社 事業内容   クラウドソーシング事業 所在地   東京都渋⾕谷区渋⾕谷

    代表者   代表取締役社⻑⾧長  秋好  陽介 設⽴立立   2008年年4⽉月 資本⾦金金   12億4901万9166円   (資本準備⾦金金を含む) 会社紹介 第⼀一期(2002年年〜~2009年年)     業務系基幹システム開発:メガバンク系、⽣生保損保 第⼆二期(2010年年〜~2014年年03⽉月)     Q&Aシステム開発、ソーシャルアプリ開発、     ソーシャルゲーム開発 第三期(2014年年04⽉月〜~)     ランサーズへ⼊入社
  5. 国内市場におけるランサーズ  –  市場 2014年年400億円のうち50%以上がランサーズシェア 国内業界のパイオニアとして、マーケットをリード 0 200 400 600 800

    1000 1200 1400 1600 1800 2000 2009年年 2010年年 2011年年 2012年年 2013年年 2014年年 2015年年 2016年年 2017年年 2018年年 ランサーズ マーケットシェア 50%以上
  6. 53% 22% 12% 10% 1% 2% フリーランス 副業、兼業 主婦 ⼩小規模法⼈人

    学⽣生 その他 0.3% 1.6% 6.5% 20.0% 39.7% 31.0% 0.9% 70代以上 60代 50代 40代 30代 20代 10代 ランサー登録内訳 年年齢別 ランサーズ登録者の内訳 半数以上が専業フリーランサー、近年年、副業・主婦層が拡⼤大中 2~∼40代で90%を占めるものの60代以上も2%弱
  7. 地⽅方・⼥女女性・シニア  の働き⽅方に新しい選択肢を •  30代後半 •  WEB制作 •  ⼭山梨梨県在住 農家兼WEB制作者 「地⽅方移住しても

    ⾃自分らしく働ける」 •  40代前半 •  デザイナー •  愛知県在住 主婦件デザイナー 「⼦子育て中の スキマ時間を有効活⽤用」 •  70代前半 •  ライター •  福島県在住 ⽣生涯現役ライター 「働くことは⽣生きがい 定年年を設けず次世代シニアに」
  8. 国内市場における仕事受給の流流れ 3.2% 3.5% 5.0% 8.5% 12.0% 13.6% 54.3% 5.0% 7.8%

    11.2% 11.5% 19.6% 20.2% 24.7% 東京 中部 関⻄西 東京以外の関東 東京 関⻄西 東京以外の関東 中部 九州 北北海道、東北北 中四国 九州 依頼額シェア 受注額シェア 中四国 北北海道、東北北 東京 54.3% ランサーズでは発注の54%が東京で、受ける⽅方は75%が東京以外 地元にいながら東京の仕事を出来る環境を提供 東京以外 75.3%
  9. ランサーズの機能開発もランサーさんと

  10. オンライン上で⾃自分のチームを

  11. 1 ランサーズとは 2 スタートアップにおける技術選定/開発体制 3 スタートアップにおける開発プロセス/フロー 4 スタートアップにおける成⻑⾧長課題への対応

  12. 12 スタートアップにおける技術選定 スタートアップや新規事業における開発で、ど んな技術を選定していいのか分からない。 Hmm  .  .  I  do  not

      know  how  I  choose   which  one
  13. 13 ランサーズを⽀支える技術 Web RDS S3 EC2 CloudWatch DB Monitor App

    CloudFront CloudSearch SQS
  14. 14 ランサーズを⽀支える技術 ▪  バージョン管理理、CI/CDツール ▪リリース FabricでApp全台に⼀一括適⽤用 (Python製の⼀一括デプロイツール) デプロイ後にAPIでリリース情 報を⾃自動通知 NanapiさんのChatWorkPlugin

    を独⾃自拡張
  15. 15 スタートアップにおける技術選定 スタートアップのおける技術選定の軸としては下記のようなことが考えられる。 •  利利⽤用者⼈人⼝口 •  更更新頻度度 •  社内知⾒見見 • 

    ラーニングコスト •  エンジニア採⽤用難易易度度 •  将来性 •  情報量量 •  パフォーマンス •  柔軟性 •  開発⽀支援機能 •  サードパーティーライブラリ •  技術コミュニティ •  技術トレンド •  ビジネス要件 •  エンジニアモチベーション •  開発パートナー企業へのフィット •  エンジニアブランディングへの影響 etc.. ポイントは、技術選定において、どんなものにも当てはまる選定⽅方法はなく、会社の事業やプロ ダクトに即した技術を選定することが⼤大事。
  16. 16 スタートアップにおける開発体制 スタートアップや新規事業における開発で、ど んな体制を構築していいのか分からない。 ϓϩμΫτ Φʔφʔ ϓϩδΣΫ τϦʔμʔA ϝϯόʔA ϝϯόʔB

    ϓϩδΣΫ τϦʔμʔB ϝϯόʔC Hmm  .  .  I  do  not   know  how  I  choose   which  one
  17. 17 ランサーズにおける開発体制 プロジェクトA プロジェクトB プロジェクトC カスタマーサポート インフラ/基盤開発 デザイン 事業推進

  18. 18 スタートアップにおける開発体制 スタートアップのおける開発体制構築においては、考慮すべき事項 が多く、 •  エンジニア数 •  個々の技術スキル •  権限と責任

    •  市場環境 •  事業フェーズ etc.. ポイントは、開発体制構築において、どんなものにも対応できる開 発体制はなく、会社の事業やプロダクトに即した体制を構築するこ とが⼤大事。
  19. 1 ランサーズとは 2 スタートアップにおける技術選定/開発体制 3 スタートアップにおける開発プロセス/フロー 4 スタートアップにおける成⻑⾧長課題への対応

  20. 20 スタートアップにおける開発プロセス/フローの課題 スタートアップや新規事業における開発で、ど んな開発プロセス/フローを選択していいのか分 からない。 Hmm  .  .  I  do

     not   know  how  I  choose   which  one ΢Υʔ λ ϑΥʔ ϧ ैདྷܕ εΫϥ Ϝ XP ݱߦܕ Ϧʔϯ
  21. 21 ランサーズにおける開発プロセス 初期段階では基本の機能のみを実装し、PDCAサイクル をまわすことによって、イテレーションごとの計測結果 を⽐比較し、よりビジネス要件にかなった機能をつくって いく。

  22. 22 ランサーズにおける開発フロー ディレクター    or エンジニア リリース テスト 開発 デザイン ワイヤー

    要件定義 企画 担当エンジニア その他 エンジニア プロジェクトチーム
  23. 23 ランサーズにおける実装フロー •  マスターは常にデプロイ可能 •  新しく作業する場合は、masterブランチから新しいブ ランチを作成 •  フィードバックが欲しい時、あるいはマージの準備が 出来たタイミングでプルリクエストを送る

    •  レビューが完了了次第、masterマージ可能になる •  masterにマージされたタイミングでリリースすべし
  24. 24 ランサーズにおける実装フロー •  ブランチの命名規則   「yyyymmdd_̲{任意の名前}」 •  作業中は[wip]、レビュー中は  [ir]をつける •  2⼈人のOKが出たタイミングでマージOK

  25. 25 ランサーズにおけるリリースフロー

  26. 26 ランサーズにおけるリリースフロー リリース後は関係者が⼊入っているchatworkグループへも 通知

  27. 27 スタートアップにおける開発プロセス/フロー 観点としてはプロジェクトがより成功に近づくための開 発プロセス/フローを選択すべき。 アジャイルやスクラムのプラクティスを教科書通りに導 ⼊入するだけではうまくいかないので、⾃自社の組織やプロ ジェクトの⽬目的にフィットする部分を取り⼊入れることを 考える。 そのためには、決定した開発プロセス/フローは明⽂文化し、 定期的に⾒見見直しを⾏行行い、最適化をはかっていくことが重

    要。
  28. 1 ランサーズとは 2 スタートアップにおける技術選定/開発体制 3 スタートアップにおける開発プロセス/フロー 4 スタートアップにおける成⻑⾧長課題への対応

  29. 29 成⻑⾧長課題 急な成⻑⾧長に伴う課題として、会社や事業、市場の成⻑⾧長スピードに追 いつくためにもちいたショートカットが、様々な負債を⽣生み出した りする。 •  技術的負債の蓄積 •  組織的負債の蓄積 etc..

  30. 30 技術的負債の蓄積への対応 技術的な負債がたまると、下記のような様々な問題を引 き起こす可能性がある。 •  システムの運⽤用⼯工数が⽇日々増⼤大していく •  システムのスケールができない •  障害発⽣生が多くなる

    •  影響範囲が⾒見見えにくくなる •  本来⾏行行うべきプロダクトの施策が進まない etc..
  31. 31 技術的負債の蓄積への対応 ෛ࠴ͷฦࡁํ๏ ෛ࠴ΛͨΊͳ͍ํ๏ •  ద੾ͳՕॴ΁ͷϚΠΫ ϩαʔϏεԽͷݕ౼ •  खΛ෇͚ΕΔ෦෼͔Β ணख

    •  ෛ࠴Λ͖ͪΜͱ؅ཧ͢ Δ •  ෛ࠴ฦࡁʹର͢ΔධՁ •  ෛ࠴ฦࡁͱ͍͏ωΨ ςΟϒΠϝʔδͷ෷১ •  ͋Δ΂͖ະདྷͷγες Ϝ૾Λఆظతʹߟ͑Δ •  OSɺϛυϧ΢ΣΞɺ ϥΠϒϥϦΛ࠷৽ʹอ ͭ •  ઃܭύλʔϯ΍࣮૷ํ ਑ͷࡦఆ •  ৘ใڞ༗
  32. 32 技術的負債の蓄積への対応 観点としては負債の返済⽅方法と負債をためない仕組みづ くりが⼤大事。 技術的負債の返済というよりも、システムの本来あるべ き理理想の未来を考える そのためには、負債の蓄積は避けらないものだと認識識し、 負債をためないためのプラクティスを整備しつつ、負債 の返済を実際にきちんと⾏行行っていき、そのことに対して 評価を⾏行行っていくことが重要。

  33. 33 組織的負債の蓄積への対応 組織的負債が蓄積すると、下記のような様々な問題を引き起こす可 能性がある。 •  タスクや情報の把握が困難になる •  役割や責任に曖昧さが⽣生まれる •  組織のスケールが困難になる

    •  仕様の漏漏れによる⼿手戻りが多くなる •  思ったものと違うプロダクトが出来てしまう •  影響範囲が⾒見見えにくくなる •  プログラム品質の低下 •  開発スピードの低下 •  ⻑⾧長期的な問題が増えていく etc..
  34. 34 組織的負債の蓄積への対応 情報共有の⼯工夫。 ストックとフローの情報を分けて考える。 コミュニケーションをとりやすい場の提供。

  35. 35 組織的負債の蓄積への対応 誰が何をどれくらいやっているかが分かる状況。 アラートがあがる前に気付く。

  36. 36 組織的負債の蓄積への対応 コミュニケーションを⾏行行なう場の提供

  37. 37 組織的負債の蓄積への対応 Ҋ݅੔ཧ ։ൃ ࣮૷ ܭଌ ݁Ռใࠂ ͞ΒͳΔ ,"*;&/ D

    A C お問い合わせ、 お客様の声 社内要望 ユーザ ランサーズエンジニア カスタマー コミュニケーション P
  38. 組織的負債の蓄積への対応

  39. 39 組織的負債の蓄積への対応 観点としては技術的負債と同じく、負債の返済⽅方法と負 債をためない仕組みづくりが⼤大事。 組織的負債の返済というよりも、組織の本来あるべき理理 想の未来を考える。 そのためには、組織⽂文化の形成が必要不不可⽋欠で、価値観 作成やその価値観の反映した⼈人事制度度、そのため価値観 を体現するための具体的な⽅方法について整備をしていく ことが重要。

  40. 40 今⽇日のまとめ 技術選定/開発体制 •  会社や事業へのマッチング 開発プロセス/フロー •  組織やプロジェクトへのマッチング 成⻑⾧長課題 • 

    理理想の形を考える •  負債返済の仕組みづくり •  負債蓄積の予防策
  41. ランサーズ 「時間と場所にとらわれない新しい働き⽅方」 2020年年、⾃自分らしく働きたい1,000万⼈人の仕事のインフラに