スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

技術の伝承

 初心者の頃を思い起こすと、叩いたコードは、とりあえず目的の動きをするレベルで、
テストが始まれば、バグを収束させるのに夜遅くまで仕事をしていました。

 初心者ながらに、どうすればバグの少ないコードを書けるようになるのかを考える毎日でした。

 そこで出た一つの答えが「美しいコード」です。

 ここでは、その内容には触れませんが、美しいコードを追及していると、
自然とバグも少なくコーディング時間も短くなり、仕様変更も柔軟に対応できたり、
バグが出たとしても簡単に修正できるようになりました。

 このスキルを身に付けるのに色々と回り道をしたのも事実ですが、
簡単に人に教えられるものでもありません。
その技術の伝承方法としてコードレビューが使えないか検討しました。

 コードレビューの一つに「ペアプログラミング」というものがあります。
最近よく耳にするようになった言葉なので、ご存じの方も多いかもしれませんが、
簡単に内容を説明すると。
 2人でペアを組んでコーディングを行っていきます。一人がドライバーとしてキーボードを叩く、
もう一人がナビゲーターとして考えをいう。ときどき役割を交代しながら実装を行う方法です。
 ペアプログラミングは、コーディングが難しいときに有効な手法なので、
毎日、毎回、実施するのは非効率です。

 次に考えたのが「ピックアップゲーム」です。
恐らく殆どの方が知らない手法だと思います。
簡単に内容を説明すると。
 コードを書いて、コンパイルが完了し、テストも通って、チェックインする段取りが整ったら、
すぐにそのコードを別の開発者にレビュー対象としてピックアップしてもらう。
このような「コミットレビュー」は、事前にコードがチェックイン可能なレベルになっていることを
手っ取り早く確認する、形式ばらない方法として考案された。
マンネリ化を防ぐためにレビューをする開発者は持ち回りにしたほうがいいだろう。
例えば、前回ジェリーのコードをレビューしたのがジェーンなら、今度はマークがレビューする番だ。
この方法は非常に効果的だと思う。

Venkat Subramaniam and Andy Hunt(角谷信太郎)『アジャイルプラクティス達人プログラマに学ぶ現場開発者の習慣』オーム社、2007年、第8章

 私のプロジェクトでは実際に前述のペアプログラミング以外のコードは、
ピックアップゲームが手軽に行えることもあって100%実施しています。
 もう1年以上継続していますが、私が教えた人が、また他の人へ伝えと、
人から人へ技術の伝承はうまくいっていますし、私自身も他の人の考えを吸収でき勉強になっています。
 気になるのがコストですが、その場だけをみればコスト増ですが、
バグも少なくなり、コーディング速度も速くなってくるので、お釣りがくるほどの手法です。

またの機会に、ピックアップゲームの細かなルールや注意事項を書けたらと思っています。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

夢追

Author:夢追
芸術プログラミングの世界へようこそ

検索フォーム
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
フリースペース
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。