チームメンバと最適な行動方法の考察

なにが問題だったのか考察してみる。問題に対する考察ではなく、チームの行動に対する考察。うちのチームは(今年もそうなのかわからないけど)1位のにゃあさんのチームやtanakhさんのチームのようにコーダー(俺)+アルゴリズムな人2名で構成されている。アルゴリズムな人が俺に問題の情報を伝えて、ペアコーディング。俺が安定してきたら次の問題の考察に移るみたいな雰囲気が理想的だと思ってやっている。で、awakiaとだとこれが結構うまく行く。まあ2年以上一緒に練習をしているので、お互いの癖みたいなのも分かっててやりやすいという事もある。

問題は、新しいメンバとの連携。彼は超頭が良いし、数学もできる丁度俺らのチームに必要だった物を補ってくれる良い感じのメンバ。が、ちょっと一緒に練習をする回数が少なすぎた。克服すべき点を網羅する前に本番が来てしまった。言い換えれば、練習の時にうまく行きすぎてしまった。

前置きが長かったけど、ここからが本題。やっぱりチームのメンバそれぞれに対する行動のガイドラインが必要だと思った。そのために今日上がった大量の問題点などを上げてみる。

  • 問題の条件漏れが多い(境界条件など)
  • 問題を完全に整理できていないのに説明し始める
  • 〃コードを書き始める
  • 情報が足りていないことに気付けない
  • 問題の中に出てくる特殊な単語を説明し忘れる
  • 俺が問題を読まないシステム
  • 「全員で確認をしない」

最後のが一番重要だと思う。今日は焦ってたせいもあって、最後のが抜けることが多かった。問題の確認に使う時間は誤差だ。しっかり確認すべき。と言うわけで、今日分かった事をメインにガイドラインを作ってみようと思う。

まず必要なガイドラインは以下の三つ。

  • コーダーがすべき事
  • アルゴリズムな人がすべき事
  • 全員ですべき事

それぞれのガイドラインに共通で

  • 問題を読み始める前
  • 問題を読んでいる最中
  • 問題を他の人に説明する前
  • 問題を説明した後
  • ペアコーディング

を盛り込む。また、それぞれに独立の要素もできる限りあげる。チェックリストみたいなのを作って、問題を解き始める前にそのチェックリストが全て達成できているかをチェックする習慣を付けた方が良さそうだ。基本的に、致命的なミスは問題を解き始める前に始まっていることが多いと思うので、そこをうまく回避することができれば、全体的なパフォーマンスの向上に繋がるのではないかと思う。と言うわけでガイドラインを作ってみよう。