トラブル対応は部分最適となり、ゴールを見失いがち
大規模プロジェクトにおけるトラブル対応は本当につらい。多数の関係者がいても、ほころびが見逃されてしまうことがある。そうしたほころびは手が付けられないほどの致命的な問題へと発展し、いつしか大問題を引き起こす。
フューチャーアーキテクト 品質管理室長 稲垣哲也氏は大人数が関わるプロジェクトを率いた経験があり、なかには深刻なトラブルもあった。トラブルのリカバリーでは過去の作業状況の説明に明け暮れ、心労も多い。稲垣氏は惨状をいくつもくぐり抜け、トラブルを未然に防ぐための知見を多く蓄えることができた。そうした経験からトラブル予防の標準化や仕組み化に詳しい。
トラブルやリクエストによりプログラムを修正する時、「部分最適になりがち」と稲垣氏は指摘する。人間は「指摘された部分を修正しなくてはならない」となると、どんどん視野が狭くなってしまう。そうすると、判断基準が不明確になり、本来進むべきゴールから離れてしまう。そのためトラブルが起きると、稲垣氏は3つのことを確認するという。「『何をつくるのか』『どうつくるのか』『どうやって確かめるのか』。必ず上から順番に確認します」と稲垣氏。
確認時の方法も重要だ。稲垣氏は「手っ取り早い方法は説明してもらうこと」とポイントを挙げる。その時に確認すべきは判断の根拠であり、説明している人とその周囲の人々を観察することも重要だと稲垣氏は言う。自信がなかったり、不安を抱えていたりすると、人間は視線が泳ぐなど表情やしぐさに現れてくる。そうした異変を稲垣氏は見逃さない。
トラブル対応の場面では、怒る人、悲しむ人、誤解している人、未来を信じられない人、やる気を出せない人、諦めている人……、稲垣氏はそうした悲痛な人たちを目にしてきた。多くの時間を費やし苦痛を伴った経験から、トラブル防止にかける意思を強く持つ。
プロジェクト管理ツールを用いて、整理整頓を徹底する
稲垣氏は「トラブルは突然出てきません。みんなうすうす気づいているのです」と話す。早めに明確化することが大事だ。トラブル予防の3原則として「整理整頓」「トラブル前提で考える」「自分を過信しない」を挙げた。
大原則となるのが整理整頓であるものの、実際に徹底しようとすると面倒だ。そこでプロジェクト管理ツールを用いる。稲垣氏が3種の神器として挙げるのが、Redmine、Lychee Redmineのガントチャート、Lychee Redmineのタイムマネジメント。
整理とは「要らないものを捨てる」こと。Redmineを使うなら、「必要のないチケット(仕事)は削除する」と「終わったチケット(仕事)は明確に終わらせる」に相当する。
心がけることは3つ。持ち主を決めて「これ、誰のだっけ?」をなくす。ステータスを決めて「これ、終わってるの?」をなくす。そして期日を決めて「これ、やるんだっけ?」をなくす。こうしてやるべき仕事を明確にしていく。
プロジェクトによっては、本来なら不要なものが増えてしまいがちだ。前のプロジェクトで失敗を経験すると、プロジェクト開始時に「あれもやっておこう」、「これもやっておこう」と仕事を増やしてしまいがち。「積ん読」のように不要なものが増え、それがかえってプロジェクトを煩雑にしてしまう。本当に必要な仕事はどれか、整理することが大事だ。
余談として、稲垣氏はある製造業の会社を訪問した時のことを挙げた。製造業だと節電を徹底しているため、照明の管理も徹底している。人がいないところは明らかに暗いのだ。時には電球単位で「節電責任者」のタグが付いていて、稲垣氏は驚いたという。しかしこうして担当者を明確にすることでやるべきことを徹底できる。プロジェクト管理でも、あいまいさを防ぐには担当者や期限をきちんと定めておくといい。
一方、整頓とは「秩序を持って配置する」こと。Redmineなら、「あらかじめトラッカーの種類をそろえておく」、「あらかじめチケットの単位をそろえておく」となる。
稲垣氏は「整理整頓の一番の障害はプロジェクトごとのローカルルールです」と指摘する。プロジェクトごとに特殊なルールができてしまうと、それが思わぬトラブルの元となる。稲垣氏は「ローカルルールはナンセンス。ベストプラクティスを全社統一基準にすべきです」と強調した。