株式会社クリアコード > ククログ

ククログ

«Rubyで定義したメソッドの使用例をYARD用のドキュメントとして書く方法 最新 2013-10-02»
タグ:

インターンの作業を進めやすくするための工夫

はじめに

リーダブルコードの解説やつくばインターンシップコンソーシアムのマッチングイベントをきっかけに、インターンシップへの応募が2件あり、今年2回目のインターンシップを9/2~9/6の1週間実施しました。インターンシップの記録はメモに残して公開しています。今回もインターンシップを通じてたくさんのことを学ぶことができました。

今回のインターンシップでは、2人のインターンがるりまプロジェクトにおける異なる2つの作業を行いました。1人はBitClustへの機能追加、もう1人はるりまのドキュメント改善です。一方のメンターも2名配置しました。1人はるりまプロジェクトのメンバーです。インターンへの作業内容の説明やインターンからの質問に対応しながら、るりまプロジェクトに関する作業も並行して行いました。もう1人は非エンジニアである筆者で、インターンシップで掲げたインターン、クリアコード双方の目的が達成できるよう調整する役を務めました。このような体制でインターンシップを実施したところ、インターンの作業が進まなかったり、違う方向に進んでしまうといった問題が発生しました。そこで今回はインターンシップで生じた問題と、それぞれの問題を解決するために試した工夫を紹介します。

問題を共有する

インターンシップ開始当初、メンターがインターンに作業内容を説明した上で、インターンに作業を進めてもらい、疑問などが生じればメンターに相談してもらうことにしていました。しかし実際はインターンが質問することを遠慮したり、質問しないで自分で解決しようとした結果、相談する機会をもつことがあまりできませんでした。インターンが質問や相談することをトリガーとして問題を共有し解決しようとするやり方はうまくいきませんでした。しかしながら問題を解決するためには、まずインターンが抱えている問題を共有しなければなりません。そこで有効だったのが次に紹介する1日のふりかえりです。

1日のふりかえり

1日のふりかえりは日々の作業状況と問題点をインターンとメンターが共有し、問題への解決策と翌日の作業内容を一緒に考えることを目的としていました。1日のふりかえりはクリアコードで行なっている1ヶ月のふりかえりを参考に、毎日夕方5時、1時間から1時間半をかけて行いました。

1日のふりかえりの手順

1日のふりかえりは以下の手順で行いました。

  • 朝の段階で決めていた作業予定をインターンが報告する
  • 作業結果(やったこと)をインターンが報告する
  • 問題点をインターンとメンターが報告する
  • 問題に対する解決策を話し合う
  • 解決策をふまえて翌日の作業内容を決める

報告内容はホワイトボードに書き、それを見ながら話をしました。また、ふりかえりの内容は議事メモに残して、合意内容に認識のズレがないかメンバーで確認しました。

1日のふりかえりの効果

1日のふりかえりを行った結果、インターンが作業を進める上での問題点を洗い出し、解決策をみんなで考えることができました。問題から解決策を検討するには問題を整理しなければなりません。問題が生じた時のインターンの作業をたどって、どこでうまくいかなくなったか、またそのときどのような判断をしたのかをふりかえることで、問題が整理され、どこが原因だったかがわかりました。インターンシップの前半では問題への解決策はメンターが提案していましたが、後半になると問題を整理することを手伝えば、インターン自ら解決策を提案するようになりました。

個別の問題への対応策

1日のふりかえりで共有した問題に対して、解決策を決めて、翌日の作業で試してみました。ここからは、1日のふりかえりで見つかった問題に対する対応策で効果のあったものをいくつか紹介します。

作業単位ではなく、時間単位で状況を共有する

インターンシップの1日目、2日目と予定通りに作業が進みませんでした。作業完了に必要だと見積もった時間が適切でなかったことが原因の1つでした。作業時間を見積もることは経験のない人にとって困難なことです。同じ作業を繰り返し行うのであれば見積もることもできるようになりますが、インターンシップでは次々と新しいことに取り組むので、経験のないインターンが作業時間を見積もることはできませんでした。そこでメンターがこの作業なら3時間もあればできるだろうと判断し、3時間で作業を完了させるよう指示していました。しかし、結果は3時間経過しても完了せず、インターンは作業が完了するまで作業を続けていました。 メンターが見積もった時間はあくまで目安でしかなく、インターンが作業を完了させるのに必要な時間を適切に見積もったとはいえませんでした。メンターがインターンの作業時間を見積もることも難しいことがわかりました。そこで解決策として、作業時間を決めて、その作業時間が経過した時点でインターンがメンターに作業状況を報告することにしました。これによって、インターンが予定時間を超えて作業を続けることはなくなりました。またその時点で作業が完了していない場合は、作業状況をメンターが確認し、作業完了に向けてどう進めていくか相談することができました。

1人で悩む時間を制限する

作業着手時には想定していなかった問題が発生し、その問題に対処するためにどうするかインターンが1人で長時間悩むことがありました。相談する前に、自分で調べられるところは何とかしようという意識が強かったこともあり、なかなか相談できなかったようです。 そこで、悩んでいる時間を制限するため、悩んでいる時間が一定時間を超えたらメンターに相談することにしました。前述の時間の区切りがだいたい1時間だったので、15分に設定しました。その結果、インターンからメンターへの相談が増え、悩んで手が止まる時間は短くなりました。メンターもインターンの手が止まっていれば、早めに声を掛けるようになりました。

まとめ

今回はインターンシップで学んだことから、インターンの作業を進めやすくするための工夫を紹介しました。こまめに状況を共有し、問題を一緒に解決するような仕組みを用意することによって、インターンの作業が進めやすくなりました。また経験の少ないインターンにとって、相談することは難しく、いいアドバイスをもらうための相談の仕方にあるように準備をして相談できるようになるためには練習が必要です。1日のふりかえりや相談を増やす取り組みは、相談するときの手順にある今の状態と目指している状態を整理する機会になりました。これらの工夫はインターンシップだけでなく、新しい社員を迎えるときにも活用できそうです。

つづき: 2014-01-09
2013-09-26

«Rubyで定義したメソッドの使用例をYARD用のドキュメントとして書く方法 最新 2013-10-02»
2008|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|
タグ:
RubyKaigi 2015 sponsor RubyKaigi 2015 speaker RubyKaigi 2015 committer RubyKaigi 2014 official-sponsor RubyKaigi 2014 speaker RubyKaigi 2014 committer RubyKaigi 2013 OfficialSponsor RubyKaigi 2013 Speaker RubyKaigi 2013 Committer SapporoRubyKaigi 2012 OfficialSponsor SapporoRubyKaigi 2012 Speaker RubyKaigi2010 Sponsor RubyKaigi2010 Speaker RubyKaigi2010 Committer badge_speaker.gif RubyKaigi2010 Sponsor RubyKaigi2010 Speaker RubyKaigi2010 Committer
SapporoRubyKaigi02Sponsor
SapporoRubyKaigi02Speaker
RubyKaigi2009Sponsor
RubyKaigi2009Speaker
RubyKaigi2008Speaker