フィードフォースで初めてエンジニア向けサマーインターンをやってみた
- 2014.10.10
- Ruby/Rails, 開発スタイル
こんにちは。見た目年齢30歳の新卒1年目エンジニアt-nakanoです。
もうすっかり寒くなってきましたね。
今回の記事はエンジニア向けサマーインターンについてです。
2014年8月18日から29日の期間で、フィードフォースで初めてエンジニア向けサマーインターンを実施しました。
そこでは普段の業務で取り入れている開発方法などを体験してもらうようなプログラムにしてみました。
そして実際にやってみてうまくいったりいかなかったりしたことがあるので、それらについて紹介していきたいと思います。
概要
日時: 2014年8月18日(月)~29日(金)
場所: フィードフォース 9F
人数: 地方学生6名(北海道から4人、九州から2人)
運営: r-suzuki, t-nakano,人事の人1人の計3人
内容: 3つのテーマからひとつを選び、Railsを使って2週間で開発してもらう
概要としてはこんな感じです。
普段社員は5Fで業務をしているのですが、9Fの見晴らしのいい会議室を使ってもらいました。
チーム構成は2人1チームで、3チームそれぞれ別々のテーマで、Ruby on Railsでの開発です。
Railsを使うようにしたのは、普段の業務でもRubyやRuby on Railsを扱っているからです。
また、アジャイル開発も普段の業務に取り入れているので、インターンシップでも体験してもらいました。
今回は普段の業務からインターンシップに取り入れたもののうち、以下の6つを普段の業務を踏まえつつ、紹介していきたいと思います
- 朝会
- カンバン
- KPT
- GitHub
- Slack
- 社内イベント
1.朝会
普段、フィードフォース社員は出社するとカンバンの前に立って進捗報告や問題共有を行います。毎日です。これがないと1日が始まりません。
具体的には、カンバンに貼ってある付箋を元にディレクターや他のエンジニアに向けて昨日やった作業と、今日の予定を話します。
その後に事務連絡をしたり、朝会で話しきれなかったことなどあれば関係者で集まって続きをしたりします。話し合いで解決しないようなことがあればペアプロしたりとかもします。
この朝会をr-suzuki主導でインターンシップにも導入してみました。
基本的には昨日やったことと、今日やることを各チームごとに話してもらいました。
すると最初は、r-suzukiに対する報告のみという形に…。
そこで、運営側からインターン生にはたらきかけ、チーム間での進捗報告と技術的に詰まっている部分などあれば報告するよう促してみました。
その結果、進捗が進んでいるチームから解決方法を教えたりなど、チーム間のコミュニケーションが促進されました。
また、わからない部分を運営側で把握できたので、その後の時間でr-suzukiによる技術的な指導もすることができました。
これはやってみて良かったと思います!
2.カンバン
では次に、先ほども出たカンバンについてお話します。
フィードフォースではカンバンにホワイトボードを使っています( http://tech.feedforce.jp/agile_whiteboards.html)
付箋にタスクを書いて、それをホワイトボードに貼って進捗の可視化を行っています。
チームによって異なりますが、t-nakanoのチームでは普段TODO,DOING,INREVIEW,WAITING,DONEで区切っています。
INREVIEWはGitHub上でレビューを受けている状態で、WAITINGは外的要因でマージできないときに貼るエリアとなっています。
状況に合わせてこのエリアは変えたりもします。
インターンシップではシンプルにTODO,DOING,DONEでやりました。
ふせんにはユーザーストーリーを教えて、それを書かせるようにしてみました。
しかし、インターン生はあまりユーザーストーリーを書くことに注力せず、結果的にタスクを書くことになりました。
場所的な問題から、各チームにホワイトボードを手配などはできなかったのですが、あるチームは壁にふせんを貼ったりなど工夫されていて、良かったです。
ただ、実質2人での開発だったので、あまりタスクの進捗状況を共有する必要はなかったのかもしれないです。
とはいえ、朝会のネタにはなっていたので、もっとコンパクトなTODOのみとかでやれたら良かったのかなと思いました。次に期待してください!
3.KPT
フィードフォースでは週に一回、開発者のみでやるKPTと、プロダクト全体で行う振り返りがあります。
開発者のみでやっているKPTでは、基本的に付箋を残しておいて、剥がして良さそうなふせんなどをKPTの前に振り返ります。
また、Keep,Problem,Try以外にも単発的なGoodやBadをあげるというやり方もしたりします。
このKPTをインターン生とr-suzukiに加え、わたくしt-nakanoも参戦してやってみました。
今回の場合は2週間と短い期間のため、週一ではなく、毎日の業務時間終了間際に実施しました。
実際に、Keep,Problem,Tryをあげてもらったのですが、インターン生が正直な意見をたくさん言ってくれました。
例えば、「ペアプロしたい」というTryがあがり、次の日にはディスプレイを用意したりなどインターンシップの運営改善につながりました。
また、t-nakanoと面識のあるメンバーが何人かいたため、「身内トークで盛り上がっている」と他の参加者から注意を受けてしまう場面もありました。個人的にものすごく反省しています…。
もちろん、参加者たち自身の改善もあり、「早めにデプロイすることが大事」と出た次の日にはherokuを使ってデプロイを試したり、「タイムボックスを切る」といったような具体的なTryも上がっていてとても良かったように思いました。
4.GitHub
少しアジャイル的な話から外れて、GitHubについて普段のフィードフォースでの開発の仕方と、インターンシップではどうだったかについて話します。
フィードフォースでは普段はプルリクエストベースで開発しています。
masterは常にデプロイもしくはリリースできる状態に保っていて、必ず誰かのレビューを受けてからマージするようにしています。
インターンでも、フィードフォースの開発をそのまま体験してもらうということで、ソース管理は全チームGitHubに統一しました。
その際に、GitHubを用いたチーム開発の経験者が各チームにいて、インターン生同士で教えあっていました。
また、社員からのソースコードに対するコメントもあり、コミュニケーションの促進につながったのではないかと思っています。
ただ、2人での開発で頻繁にペアプロをしていたので、どうしてもプルリクエストベースとはなりませんでした。
プルリクエストは出されるのですが、すぐに閉じられてしまいました。
コメントを待っているような状態では開発が止まってしまいますので、仕方がないですよね。
ただ、社員から閉じられたプルリクエストに対してもコメントするなど、普段の業務があるにも関わらず積極的にコメントしていて良かったのではないかと思っています。
5.Slack
別フロアで開発を行っていたため、インターン生と社員間ではコミュニケーションを取る機会があまりなく、インターン生とのコミュニケーションは運営の人がメインでした。
でもせっかく遠方から来てもらったので、社員とのコミュニケーションも促進したい思いがありました。
ただ、社員も普段の業務があり、ずっと9Fにいてもらうわけにはいかないので、 Slackを導入しました。
そこでは、社員が普段の業務の合間を縫ってGitHubの代わりにソースコードやドキュメントの指摘をしていました。
また、お昼のお誘いなんかもあって、社員とインターン生とのコミュニケーションの促進になったのではないかと思います。
他にもインターン生がSlack上で今日やることリストを作っていて、社員のいいねから更に各チームに広がったりなど、導入してみて良かったと思います。
6.社内イベント
フィードフォースには数多くの社内イベントがあるのでちょっと紹介したいと思います。
大きく分けて2つあり、イベントチームという人達が企画した会社全体的なイベントと、技術チーム中心となって行うイベントがあります。
インターン中にも社内イベントとして、 エクストリーム昼休みを行いました。
皆さんとても楽しんでくれたみたいで良かったです。
技術チームイベントにはLT大会や、もくもく会、読書会などがあります。
LT大会ではインターン生を巻き込んで参戦させてみたりしてみました。
見事に、社員顔負けのプレゼンをしてとても盛り上がりました。
また、もくもく会では普段顔を会わせることができない分、詰まってる部分を直接聞いてたりして充実した時間を過ごしていました。
その他にもブラウンバックミーティングや創立8周年記念パーティーなど様々なイベントに参加してもらいました。
最後に
参加してくれたインターン生もブログを書いてくれたようなので紹介します。
- http://kkou0801.hatenadiary.jp/entry/2014/08/31/014308
- http://pokotyamu.hatenablog.com/entry/2014/08/30/150314
それぞれ自分自身を見つめなおす機会にもなったみたいで良かったです。
あと、この場を借りて遠方からわざわざ参加してくれた6名のインターン生にはお礼を言いたいです、ありがとうございました!
また、来年度もフィードフォースではエンジニア向けサマーインターンを実施予定です。
来年度は更により良いインターンシップにしていきますので、興味のある方はどしどし連絡お待ちしております!