Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

クラウドソーシングでチームを作る方法

5,513 views

Published on

開発領域においてクラウドソーシングを正しく使う方法。2016/2/27にdots.カンファレンスで登壇した内容です。

Published in: Engineering

クラウドソーシングでチームを作る方法

  1. 1. クラウドソーシングで チームを作る方法 hisaju
  2. 2. 自己紹介 社内SE、業務系SIer ngi group技術開発部長 フリーランス ポケットコンシェルジュCTO 現在 • 菊本 久寿(きくもと ひさとし) • 株式会社StartupTechnology代表取締役 • Twitter: hisaju01 • Facebook: https://www.facebook.com/hisaju • http://hisaju.org
  3. 3. 設立年月 2014年10月 メンバー 10〜20名 事業内容 月額制受託開発 自社クラウドソーシングを使いながら0→1の Webサービスの立ち上げのお仕事 場所 渋谷
  4. 4. いつもの出社風景
  5. 5. いつもの残業風景
  6. 6. 開発しない開発合宿
  7. 7. むかしむかし
  8. 8. フリーランスの頃のスケジュール 月 火 スタートアップA常駐 水 スタートアップB常駐 木 スタートアップC常駐 金 土 スタートアップD常駐 日 プラス受託2件
  9. 9. クラウドソーシングを使うようになった経緯
  10. 10. うまくまわった!!
  11. 11. 好きすぎてクラウドソーシング作った 完全時給制のRuby on Rails専門クラウドソーシング StartupLabo https://startup-labo.com/
  12. 12. アジェンダ 1. クラウドソーシングを使う理由 2. クラウドソーシングチームの作り方 1. 募集方法 2. スクリーニング 3. 運用 3. クラウドソーシングチームのタスクの作り方
  13. 13. クラウドソーシングを使う理由
  14. 14. 理由はただ1つ
  15. 15. エンジニアを採用できない
  16. 16. 採用とは違うクラウドソーシングのメリット • 採りやすい • 切りやすい • 必要な時に必要な分使える(変動費化) • フリーランスなど個人でも使える • 個人でも払える額で発注できる
  17. 17. 今回のやり方に向かないプロジェクト • 大規模プロジェクト • PMがいない • ISMSなど外部への情報の開示が厳しい • 難しい技術が必要
  18. 18. クラウドソーシングチームの作り方
  19. 19. 募集方法
  20. 20. の前に
  21. 21. 受けたくない地雷案件 • 内容がよく分からない • ボリュームが見えない • ボリュームがでかい • どう考えても安い • 夢がいっぱい • 決まっているのが納期だけ
  22. 22. 正しい募集方法 • やることが明確 – 募集時に開発フローを見せる • 時給制 – 納品の義務を負わせない – 時給単価は2000円くらいから • 時間コミットさせない – 副業や学生を取り込む 受注側の負担を減らすことで応募の間口を広げる
  23. 23. スクリーニング
  24. 24. 採用プロセスを逆転 応募 スクリー ニング 仕事 通常の採用フロー 応募 スクリー ニング 仕事 クラウドソーシングの採用フロー 先に仕事をやってもらってからスクリーニング
  25. 25. 運用方法
  26. 26. 開発の進め方 PM クラウドソーシング エンジニア タスク登録 好きなタスクをアサイン pull request 空いた時間に好きなタスクをアサイン、開発、pull request git flowを使ってオープンソースのような形式で開発 レビュー、マージ
  27. 27. コミュニケーション PM チャット 同一のチャット空間で進めることで技術ヒエラルキーが 生まれ、教え合う関係性が構築される
  28. 28. ルールの定義 • セットアップ方法のドキュメンテーション – READMEをちゃんと書く • コーディング規約などを定める • その他チームのルールを定義する • プロジェクトの背景などもドキュメンテー ション 新規メンバーが入りやすい環境を整える
  29. 29. 運用しながらのスクリーニング プロジェクト 動かない人、出来ない人を除外して、新しい人を足していく
  30. 30. クラウドソーシングの タスクの作り方
  31. 31. 社内エンジニア 責任 稼働時間 仕様理解度 スキル 使える言語、WAF クラウドソーシング エンジニア ? 使える言語、WAF クラウドソーシングエンジニアの状況把握 取れているリファレンスが全然違うのでこの状況の エンジニアを使えるようにタスクの切り方を考える
  32. 32. 前提条件の整理と対策 • スキルが把握できない – 全体の技術選定を簡単なものに寄せてあげる • 時間が合わない – コミュニケーション量を減らす • 稼働が読めない、責任も持てない – 大きいタスクを振らない • 仕様を把握していない – やることはコードを書くように細かく書く
  33. 33. 難しくしない Scaffold + テンプ レ erb JQuery ActiveAdmin slim AngularJS こうすると対応出来る人のパイが増える
  34. 34. コミュニケーション量を減らす 伝えやすいもの 伝えづらいもの Scaffold view Logic Design 振る作業を伝えやすい方向へ寄せると コミュニケーション齟齬が減る
  35. 35. 大きくタスクを振らない 1人に寄せるといなくなった時や その人が忙しい時に進まなくなる
  36. 36. タスクを細かく説明 • READMEにセットアップ方法を書いておく • Scaffoldベースで管理画面系が一番捗る – 場合によってはscaffoldのテンプレートを作成 – READMEにもコマンドを書いてあげると親切 • バリデーションをテーブル定義をベースに 作ってもらうとか • プログラムを想像しながら手順を日本語で書 く
  37. 37. タスク例 • 概要 • 管理画面のメニュー クーポン > クーポン管理からリンクするクーポン(coupons)の一 覧、詳細、追加、編集、削除の実装 • テーブル定義 • https://docs.google.com/a/xxxxxxxxxxxx • 詳細 • クーポンのCRUDの作成をお願いします。 • フォーム • バリデーションはテーブル定義やテーブル定義の備考を参考に設定してください • カテゴリはselectボックスで作成してください • カテゴリが2の場合、プランのセレクトボックスが表示されるようにJSの実装をお 願いします • 一覧表示項目 • ID • カテゴリ名 • クーポン名 【管理画面】クーポン管理
  38. 38. 慣れてきたら • こちらは初期に最低限のコンテクストで開発 を進める方法となります。徐々にメンバーも 慣れてきてスクリーニングも落ち着いたら – タスクサイズを大きくしてみる – 難しい部分は稼働をしてくれるいい感じの人に相 談してお願いしてみる チームを育てる感覚でやると 後々楽になってきます
  39. 39. よりよいクラウドソーシングチームを作る方法 • 通常の受託や外注と同じに考えない • 募集はコミットメントを減らしてハードルを下げる • 開発手法やルールをきちんと定義してなるべく公開する • チームとしてコミュニケーションを取る • 採用プロセスを変え、スクリーニングすることでよりよ いチームとなる • 初期のタスクは小さく、分かりやすく。徐々に変化させ ていく • 開発コミュニティを作る感覚で!
  40. 40. 楽しいチーム開発を!

×