there is a time for everything

現役ITコンサルタントが技術や育児情報を紹介するブログです。

SIer/SE レビューってなに?

SIerとしてよく見る工程

とってもスタンダードな現場でしたら、下記のようないわゆる"工程"で成り立っているはずです。

  • 要件定義
  • システム化要件定義
  • 外部設計
  • 内部設計
  • 開発
  • 単体テスト
  • 内部連結テスト
  • 外部連結テスト
  • システムテスト
  • ユーザーテスト
  • リリース!!

結構長いですよね。
システム開発(ウォーターフォール)はなかなか大変なんです。
ちょっと端折った書き方をしている箇所もありますが、ここからそんなに外れないはずです。
で、この中で全フェーズに渡って絶対に行われる作業が「レビュー」です。

もちろん、各フェーズにおいてレビューの観点は変わってきます。

外部設計でのレビューであれば、ユーザーの目に触れるUI部分については違和感がないか、などという観点でレビューしますし、内部設計であれば次は開発フェーズなので「これで作れるかな?」というわかりやすい観点になります。

上流であればあるほど、レビュー観点が曖昧で難しくなります。

なぜレビューが必要なのか?

SEや、SIerとして働く方であれば、レビューを受けたことがない人はいないのではないでしょうか。
もちろん、私も例に漏れません。

今ではだいぶ丸くなりましたが、3年目くらいまでの私はかなり横暴で、横柄でした。
レビューでもっともな指摘を受けているにも関わらず、なぜか不機嫌な表情をしていたものですw

それは、レビューの目的を心の底ではわかっていたからです。

品質担保

レビューを受けたことがある方であればわかるかと思いますが、レビューの大きな目的の一つに、「品質担保」が上げられます。
つまり、穿った見方をすると「おまえは単独で品質担保できないのだ」という評価を突きつけられているようなものなのです。

数年経ち、私がレビューアーとして振る舞えるようになり、チーム全体の品質管理も行うようになってからは、レビューのハードルがかなり上がりました。

「俺が最後の砦なんだ」
「俺がミスを見逃したら顧客の評価に直結する」

と考えるとドキドキします。
レビューアはいつも緊張感を持ってレビューしないといけません。

言い方は良くないですが、本当に心が擦り減ってしまいそうなポジションです。
なので、レビューアの力だけで全てを賄うことはなかなか難しいです。

時間もたっぷりあるわけではないですし、ポイントを絞ってレビューできるのが理想です。

レビューイの教育

二つ目の目的、こちらの方が私は重要だと考えています。

レビューは指摘するだけでは駄目です。
それだとレビューイが萎縮しますし、一緒に働くチームメンバーなんですから、長い目で見てちゃんと成長してもらわなければなりません。

後輩や部下にやり甲斐を与えるのは、上司の役目です。

とっても苦手なんですが、前回の指摘が解消されていたり、難しい設計が上手くできていたら、
「やるやん!」
と言ってあげるように心掛けています。

私にとってはコレが一番むずかしい。。
でも、レビューイが成長してくれて、ゆくゆくは自分と同じレベルの品質を保てるようになれば、レビューアの負担は減りますよね。
しかも、チームの二番手として活躍してくれるわけです。

優秀なチームには、必ず優秀な二番手がいるものです。
リーダーは後輩を育て、チームに良い循環を起こさないといけません。

さいごに

レビューア、レビューイは決して上下の関係ではありません。
理想は、お互いに指摘し合えるのが健全な関係だと思っています。

「品質」に上司と部下なんてないですからね。
品質は「満たされるべき基準」であって、その基準に対してどのようなプロセスを用いて近付けるか、が品質担保の肝です。

あの人がレビューしたからOKだろう、という基準は非常に曖昧で危険です。
現実的にはそのような状態が大変多いですが、属人化した品質担保は組織の成長に繋がりません。

レビューイは、レビューアのレビュー観点を吸収して、いつでも自分がレビューアになれるように意識しないといけませんし、レビューアは指摘だけじゃなくて、誰でも品質担保できるような、「教育」と「品質担保の仕組み」を考え続けないといけません。

よくある話ですが、80点くらいまでは簡単に品質が向上するのですが、残りの20点を拾い上げようとなると、指数関数的に労力が掛かります。
その20点を、なんとか「仕組み」で対応できないかなぁ、、と知恵を絞るのが最近の私の仕事です。

なかなか難しい問題ですが、自動化やチェックリスト化で簡単にできる部分を増やすのも、愚直ですが効果的な方法です。
こういう、知力が問われる問題は楽しいですね。

テストの自動化や、テストファーストの考えがSIer界に少しずつ浸透してきているので、私ももっと勉強しないと。
今日はたまの真面目な話でした。