はじめに
私が社会人1年生(プログラミング1年生)の時にやってよかったと思う、チームの取り組みを紹介します。
おそらく再現性あると思うので、ぜひ新人がいるチームでは取り入れてみてください。
目次
- ペアプロ、モブプロで新人が積極的にドライバーをする
- 新人の実装したコードについてモブレビューをする
- 見直し項目(レビュー項目)をまとめてみる
- 手動テストの内容をマインドマップで書く
1. ペアプロ、モブプロで新人が積極的にドライバーをする
新人がドライバーをするメリットは、以下のとおりです。
- ショートカットを覚えられる
- コードの整形を入れる癖がつく
- 良くない作業順を訂正できる
どれも、きれいに作業をする上で必要な技術です。
私は最初、if文を書く時にendの前に処理を書き始めていたり、
ロジックがあっているかを適度に確認せずとにかく考えているロジックを全部書き切ろうとしていたり、
コードのインデントがズレていても平気だったり、
変数名の変更を手作業で直そうとしていたり、
挙げたらきりがないですが、とにかく作業がなっていませんでした。
しかし、モブでドライバーしている時に、先輩が
「先にend書こう!」
「一旦ココまでで確認しよう!」
「コード整形して!」
「リファクタリング機能使って!」
「ショートカット使って!」
などなど、作業に関する指摘をたくさん入れてくれたおかげで
今では、丁寧に、効率よく作業を進められるようになりました。
良い手癖をつけるには積極的に手を動かして、たくさん指摘されることが重要です。
ただし、コードの理解もしながら、手順の進め方も学ぶと頭に入り切らないよ!となるかもしれないので、ずっと新人がドライバーをする場合、30分〜1時間くらいで適度に休憩を入れましょう。
2. 新人の実装したコードについてモブレビューをする
私のチームでは、「モブレビュー」というレビュー方法を度々行います。
モブレビューとは、書いたコードを大きな画面に映しながら実装者が説明し、その場でレビュワーがコメントをするというものです。
ここで大事なのが実装者がコードの説明をするということです。
コードを説明するとき、以下のことが必要です。
- どの順番でコードを説明するべきか考える
- なぜその実装に至ったかを説明する
- 実装中に悩んだ部分を、悩んだ理由も含めて説明する
- レビューの内容を受けて、その場で適宜コードを変更する
これが新人にとっては、良い復習になります。
私の初めてのモブレビューは(ココロの準備含め)準備なしで挑んだのですが、見事テンパりました。
しかし、うまく説明できた時の達成感は大きかった記憶があります。
コードを説明するという過程にも学びがあるし、良い成功体験に繋がります(説明が酷くてもレビュワーがうまく聞いてあげればレビューは成立するので、いうて失敗することはないです)。
また、先輩レビュワーの観点も学べるという点でも意味ある時間になるのでとってもおすすめです!
3. 見直し項目(レビュー項目)を まとめてみる
開発をしている時、設計を俯瞰したり、可読性高いかな?無駄コード書いてないかな?と考えるなど、みんな自己レビュー(見直し)を行うと思います。
しかし、最初私は目の前のロジックに必死で自己レビューしていませんでした。
もっと言えば、ロジックがうまく機能していること以外に何を見直せば良いのかわかっていませんでした。
そんな時に、チームで1時間くらい時間を取って、レビュー項目をまとめてみました。
これによって、自分にはどんな視点が足りていないのか、何を気にしながら開発するべきなのか把握することが出来ました。
そもそも、開発中にロジックを組むこと以外のことを考えるべきということ自体大発見でした。
たった1時間で非常に効果が出るので、圧倒的おすすめです。
4. 手動テストの内容をマインドマップで書く
朗報、コードを書くのに四苦八苦しても、論理的に考えれば有効な手動テストケースを出すことは可能です。
しかし、やはり新人が最初に書いたテストケースは、足りない。
まず、非機能要件を確認するという発想がない(本当に初心者の場合)。
そして、シンプルに仕様やコードの影響範囲を把握していない事による、漏れがある。
そこで、マインドマップを通して、どんな観点でテストしないといけないのかを洗い出します。
自分の頭の整理にもなりますし、自分の理解を試すことにもなります。
また、マインドマップのレビュー先輩は当たり前に持っている観点を学ぶことが出来るので、レベルアップにおすすめです。
最後に
今回は新人がレベルアップするためにチームで取り組めることを紹介しました。どれもすぐに取り組めることなのでぜひやってみてください。