Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
273 lines (191 sloc) 11.6 KB

シナリオ 1日目

目的

次の2つを目的とします。

  • イベント中に「自分が開発に参加したい」OSSの開発に参加すること
  • イベント後も継続的に開発に参加すること

目的の背景

OSS Hack 4 Beginnersでは「漠然とした不安」を解消するために「自分が開発 に参加したい」OSSではなく、「運営が提示した」OSSを開発対象OSSとしまし た。一方、OSS Hack Weekendでは「自分が開発に参加したい」OSSを開発対象 OSSとします。

これは、OSSの開発で一番大切なのは自分の「やりたい」という気持ちだから です。やりたくてやるなら開発を楽しめますし、継続もできます。継続すれば できることが増えてきてもっと開発を楽しめるようになります。

楽しめるように、自分が開発に参加したいOSSの開発に参加しますし、もっと 楽しめるように、その後も継続して開発に参加することまで大事にします。

なお、「楽しい」と「ツライ」は共存しえます。「なかなかバグを直せなくて ツライ」としても「楽しい」ときはありますし、「サクサク開発が進む」とき でも「楽しい」とは限りません。どう感じるかは人によりますし、状況にもよ ります。

「楽しい」==「ツラくない」とは考えないでください。別のことです。

目的の実現方法

参加者が「自分が開発に参加したい」OSSを1つ選びます。難易度は問いません。 難易度よりも「自分がやりたい」と思う気持ちの方が大事だからです。「自分 がやりたい」と思えるなら、継続して開発に参加できますし、継続していれば 実力がついてきてできることが増えます。

このイベントでは参加者の経験不足・実力不足を補うために超優秀な現役開発 者がメンターとして参加者をフォローします。フォローすることで最初のハー ドルを超えることを手伝い、イベント終了後も継続的にOSSの開発に参加でき る下地を作ります。下地とは開発の参加の仕方を知ることや楽しさを実感する ことです。

目的達成の評価方法

次の2つを評価基準とします。

  • イベントを通じて自分が開発に参加したいOSSの開発に実際に参加できた かどうか
  • イベント後もOSSの開発に参加したいかどうか

大事にしたいこと

  • 自分にとってOSSの開発に参加することは楽しいことかどうかを確認して 欲しい
    • なにを「楽しい」と感じるかは人による
    • 「すぐにうまくいく」が「楽しい」に結びつく人もいればそうでない人 もいる
    • 「難しい解決しがいのある問題を解決すること」が「楽しい」に結びつ く人もいればそうでない人もいる
  • つまづいたらOSSの開発に参加するチャンス!と思う心意気を持ってもら いたい
    • グチって終わり、にはなって欲しくない
    • 自分が通った後に道ができる、くらいの気持ちで行動して欲しい
  • フィードバックするときは相手が理解しやすいように書くということを意 識してもらいたい
    • リーダブルコードと目指すところは同じ
    • コツ
      • 具体的に書く
      • 省略しない
      • やったことを書く
      • やっていないことも書く
      • 期待していることを書く
      • 実行結果を書く(コマンドの実行とかバックトレースとかもろもろ)
  • インターネット越しの関係では能動的に動かないと情報共有が難しいので 困った時に相談する習慣をつける
    • 自分の状態を理解しやすいように書く(↑を参考に)

メンターの人の動き方の方針:

  • 答えを教えない(知らないことも多いはず)
    • 代わりに一緒にやる。自分のPCでも並行して作業してわかったら教える、ではなく、参加者のPCで一緒に作業ということ。そのとき、自分がどうして次にこう行動をしようとしているのかの理由を伝えながら一緒に作業する。
  • 自分ならこういうときにどう考えてどう行動するかを伝える
  • 自分がフィードバックを受ける側ならこう受け取る、ということを伝える

開始前

  • 参加者は開発言語毎にグループ分けされていること
    • 座席を事前に決めておくのでそこに座ってもらう
    • AndroidのJavaはJavaグループではなくSwiftグループに入れる
  • 参加者はGitHubアカウントが書かれた名札をつけていること
  • 早く着いた参加者にはネットワークの設定をしてもらう
  • メンターはGitHubアカウントが書かれた名札をつけていること

10:00 アイスブレーク1

(主催のSEプラスさんによるもの)

10:05 概要説明

目的:

  • 参加者がイベントの目的を知る
  • 参加者がイベントの流れを知る
  • 参加者がどうやってOSS開発に着手すればよいかわかる

目的のために達成したいこと:

  • トレーナーはスライドを使って↓に書いているやり方を説明する。 (スライドはoverview1/や↓を参照。)
  • 一通りの流れがわかる
    • 頭でわかる(知識としてわかる)
    • 見てわかる(実際に自分ができなくてもいい。頭でわかったと思ったことが実際に行われていると知覚できればそれでいい。)
  • イベント期間中、参加者はなにかする毎に作業ログを残す
    • 作業ログを残す場所は https://github.com/clear-code/sezemi-2015/issues 。参加者1人ずつ1つのissueを用意する。
    • issueは https://github.com/clear-code/sezemi-2015/issues/TODO をテンプレートとして作成する。
    • 後で作業ログを元にメンターとふりかえりをするのでできるだけ記録を残すこと。作業ログはメンターからフィードバックをもらうための大事な情報になるはずです。
    • 記録に残すことの例は次の通り
      • 違う作業を始めるとき(インストールを始めた、動作確認を始めた、テストを始めた、とか)
      • 詰まったとき(インストール時にエラーがでた、ビルドが失敗した、とか)
      • issueをだしたとき
      • pull requestをだしたとき

やること:

  • 目的を説明する
  • 一通りの流れを説明する

10:30 開発

目的:

  • 準備運動
    • 対象OSSのことを改めて理解してイベント中に全力を出せるようにする

目的のために達成したいこと:

  • 「まず動かす」

やること:

  • まず動かす
    • 詰まったらログに残す(直すべき問題の種になる)
    • 作業内容が変わったらログに残す
    • ここまででも十分
  • ↑をちゃんとやった上で速く終わったら
    • 開発者用にインストール
    • テストを実行
    • ↑のときもログを残す

11:45 ミニふりかえり

目的:

  • ふりかえりのリハーサル
    • 作業ログが後で自分の役に立つことを実感してもらう
  • 今後進むべき方向を確認して、午後を有意義に過ごすため

目的のために達成したいこと:

  • 「まず動かす」のときに作業ログをとる

やること:

  • トレーナーは参加者を1人選んでデモをする
  • デモの後は各メンターでやってもらう
  • 1メンターあたり2参加者をフォローする
  • 1人の参加者がふりかえりをしている間、もう1人は得られるものがないかという気持ちで見守る
  • 1人終わったら交代
  • ふりかえりの仕方はissueに書いてある

12:00 昼食(フリークアウトさんご提供の無料ランチ!)

スポンサー(と運営)の人と一緒にランチを食べます。いろんなことを聞くチャ ンスです。

やること:

  • トレーナーは全体をながめてより多くの人たちが交流できるようにします。
  • 30分経ったらスポンサーチェンジ(スポンサーが他のグループに移動)をする。

13:00 スポンサーからのLightning Talk

スポンサー・メンター・インターンシップなどを知る機会です。1社5分ほどお 話があります。

登壇予定:

  • ビズリーチ
  • VASILY
  • Cosylab

13:30 OSSの開発参加方法紹介1

目的:

  • 詳細を知らないプログラムの直し方を知る

やること:

13:45 開発

目的:

  • 「自分が開発に参加したい」OSSの開発に参加すること

目的達成のために達成したいこと:

  • 自分の抱える問題を解決することでOSSの開発に参加する
  • ↑を実現するためにメンターがサポートする

やること:

  • 自分の問題がなかったら既存のissue/pull requestから探す
  • 作業ログをできるだけ残す
    • メンターからのフィードバックを得やすくするため
  • issue/pull requestを出す前にメンターから最終チェックをしてもらう
    • メンターからフィードバックをもらうため
    • 自分の考えを整理してより開発者にとってうれしい報告にするため

16:50 休憩

10分休憩。

17:00 ふりかえり

目的:

  • 参加者のよい行動を伸ばすため
  • 参加者が困っていることを解決するため
  • 参加者が見過ごしている問題(= 解決するべき問題)を気づかせるため
  • 参加者が明日進むべき先を目指すため

目的達成のために達成したいこと:

  • 参加者の作業ログを元にメンターが参加者をサポートする。

やること:

  • トレーナーは参加者を1人選んでデモをする
  • デモの後は各メンターでやってもらう
  • 1メンターあたり2参加者をフォローする
  • 1人の参加者がふりかえりをしている間、もう1人は得られるものがないかという気持ちで見守る
  • 1人終わったら交代
  • ふりかえりの仕方はissueに書いてある

17:30 まとめ

目的:

  • 今日やったことの意味を再確認する
  • 今日やったことを明日に活かす

目的達成のために達成したいこと:

やること:

  • 今日やったことを再確認
  • 今日やったやりかたの思惑を説明
  • 明日のヒントを提示

17:45 プチ懇親会

そのままフリークアウトさんでプチ懇親会。