様々なソフトウェア開発を経験してきた視点から、開発、マネジメント、経済などについて書いています。タイトルは、あるレトロゲームからのオマージュ。ツイッターアカウントはこちら。今回は「この観点でレビューが語られることってないよなぁ」と思っていた内容です。投資という観点から見たレビューの話です。そもそも、プロジェクト計画に投資計画が含まれていないことが多いんですけどね。そのせいで、下流工程でキツくなるプロジェクトが多いのです。同時に、文書やソースコードのチェックの自動化も考えましょう。目視によるレビューの否定かよ!と思うかもしれませんが、開発が大規模化すると、文書やコードの量は増えます。なると、すべてをレビューに頼るわけにはいかないのです。開発者は「人の目でしかチェックできない」部分に集中すべきです。以下のチェックは自動化しやすいので、早めに導入を始めましょう。表記ゆれ(同じ用語の省略形が混在してないか?等)翻訳ゆれ(同じ単語が、違う単語に翻訳されていないか?等)コーディング規約(コードの体裁に関するもの等)自動化も効果を上げるまでには、運用の慣れ、ノウハウの蓄積が必要です。中長期の投資になると思って、計画的にコストを配分してください。レビュアーを育てる開発プロジェクトでは、レビュアーが育っているかどうかを見るだけで、プロジェクトの後半が「混乱するか否か」が分かります。それくらい重要なのです。代役ができる前回の記事で、「レビューの負荷が特定の人に偏ってしまうことがある」と書きました。開発の仕事は、すべてをマニュアル化することは不可能です。専門的な知識と経験を必要とする仕事が大半です。開発の進行が妨げられてしまいます。レビューができる人というのは、この代役ができる人になります。=人材投資レビューは、上手く行えば、低コストで手戻りを防いでくれる優秀な手段です。私は「人材を育てる」という部分こそ、大事だと思うのです。正しいレビューの方法をいくら導入しても、人材が育っていなければ効果はありません。人材投資って、なんか難しいな・・・(*'-')そんなに堅苦しく考える必要はありません。必要なのは「知識と経験」です。開発者たちが必要な情報を共有でき、また経験を積める環境があればよいのです。その環境を作るのがマネージャの仕事なのです。生産性向上のための投資とマネジメントレビュアーの育成は、特に難しい話ではありません。自然とレビュアーが育つのです。以下のようなスライドを紹介しました。)生産性を上げるには、この3種類の投資をバランスよく計画的に行う必要があります。「レビュアーを育てる」は、人材投資なのです。※もちろん、自動化の運用にも知識や経験は必要なので人材投資の要素は含まれますが。中長期の視点が必要です。)マネージャが、プロジェクト後半までに、このような人材が必要であり、プロジェクトチームの生産性は、ここまで引き上げておく必要があると目標を設定し、プロジェクト計画に投資計画を組み込んで運用していく必要があります。レビュアーが育っていないプロジェクトは、プロジェクト計画がお粗末なことが多いのです。今日のまとめレビュー導入の本質は、人材投資である。)を併用して、レビューの効果を上げる。マネジメントが機能しているプロジェクトではレビュアーが自然と育っている。特定の人に負荷が集中する誰もその人を手伝えないその人が休む作業が止まるということを毎プロジェクト繰り返していました。生産性向上という具体的な現象の原資になるものではありません。この組織では中々レビューが根付きませんでした。記事を気に入っていただけた方は、クリックしていただけると励みになります。職業:元ソフトウェアエンジニア自己紹介:東京のゲーム会社でゲームプログラマ。家電メーカーで組み込みエンジニア。今は東京に戻って暮らしています。詳細な自己紹介は、こちら。