第8話:仕様凍結
プロジェクト開始から一ヶ月。
季節は春から初夏へと移り変わろうとしていた。
我々のプロジェクトチームも、要件定義フェーズを終え、設計という名の樹海へと足を踏み入れていた。
詳細設計。
それは、システムという建築物の図面を、ミリ単位で確定させる作業だ。
画面のボタン配置、エラーメッセージの文言、データベースの型定義……。
曖昧さを排除し、全てを「仕様」として凍結させる。
だが、世の中には凍らせても死なない生物がいるように、システム開発にも決定事項を覆そうとする魔物が存在する。
「追加要望」という名のモンスターだ。
「……井伊さん。これ、見てください」
朝イチで、佐藤が俺の席にやってきた。
彼女の手には、真っ赤に修正が入った画面設計書が握られている。
そしてその表情は、永久凍土のように冷え切っていた。
「うわぁ……。なんだこれ、血染めのラブレター?」
「本社システム企画部からのフィードバックよ。昨日の定例会で、彼らは『営業部とは合意取れてる』と言っていたくせに、今朝になってこれよ」
俺は設計書を覗き込んだ。
そこには、昨日の合意事項を根底から覆すような書き込みが踊っていた。
『一覧画面に売上推移のグラフを表示したい』
『ボタンの色は風水的に黄色がいい』
『検索条件をもっと細かく! ANDとかORとか自由に組み合わせたい!』
「……自由な検索条件って、これSQLを直接書かせろって言ってるようなもんじゃねえか」
「あり得ないわ。今回のターゲットユーザーは、ITリテラシーが決して高くない営業担当者よ。こんな複雑なクエリビルダを提供しても、使いこなせるわけがないじゃない」
佐藤はため息をついた。
彼女の美しい指が、苛立ちを隠すように二の腕をトントンと叩いている。
「しかも、予算もスケジュールも追加なし。彼らは『ちょっとした修正』だと思っているのよ。バックエンドの改修コストなんて想像もしていないわ」
「あるあるだな。画面にボタンを一個足すだけなら、3分で終わると思ってる」
「午後イチで先方と打ち合わせよ。「合意事項からいかに外れてるかを叩きつけてあげるわ」
佐藤の目が据わっている。
これはマズい。彼女が「論破」モードに入ると、相手のメンツを潰して更地にしてしまう。
そうなると、今後の関係構築に支障が出る。
「……まあ、待て。相手にも言い分はあるだろうし」
「言い分? 予算も工程も考えない要望を通す正当性なんて存在しないわ」
――だからこそ、搦め手が必要なんだけどな。
俺は自販機の微糖コーヒーを煽り、PCに向き直った。
「打ち合わせまであと3時間か。……少し、裏取り(データマイニング)してみるか」
「裏取り?」
「ああ。敵を知り己を知れば、なんとやらだ」
俺は、保守用サーバにログインした。
ユーザーは嘘をつく。悪気はなくても、自分の行動を客観的に把握できている人間なんてなかなかいない。
だが、サーバに残る事実だけは嘘をつかない。
面倒な修正を回避するためなら、俺はどんな手間も惜しまない。
佐藤の完璧な論理武装に、俺の泥臭い証拠を加えれば、あるいは――。
◇
会議から1時間経過。
大会議室の空気は、予想通り最悪だった。
「――ですから、その検索機能は今回のスコープ外です。予算にもスケジュールにも組み込まれていません」
佐藤の氷点下の声が響く。
対面に座っているのは、親会社システム企画部の高橋マネージャーだ。
彼は技術屋というよりは「調整屋」だ。営業部などの利用部門からの要望を、そのまま我々子会社に丸投げしてくるタイプだ。
「いやいや、佐藤さん。固いこと言わないでよ。『営業部』が、検索ができないと困るって言ってるんだ。例えば『直近3ヶ月で、かつ売上が100万以上、降順で上位100件』のデータを抽出したい時、どうするの?」
高橋マネージャーが、営業部から送られてきたメールを指差しながら言う。
「CSVでエクスポートしてExcelでフィルターすれば済みます。その程度の頻度のために、複雑な複合検索機能を実装するのはコストパフォーマンスが悪すぎます」
「Excel? 面倒くさいよ! システムなんだから、ボタン一つでポンと出せなきゃ意味ないだろ!」
佐藤の眉間に皺が寄る。
「ではお聞きしますが、その『複雑な検索』はどのくらいの頻度で発生するのですか? 週に一度? 日に一度?」
「そ、そりゃあ毎日だよ! 先方は『常に数字を追ってる』と言ってるんだ! ユーザーがそう言うなら、実装するのが我々の仕事だろう!」
高橋マネージャーが声を荒げる。
――絶対ウソだ。
ただの勘だが、そんな複雑な条件を毎日入力する暇な営業はいない。
だが、佐藤はさらに強い言葉で反撃しようとしていた。
彼女の唇が「非効率」という単語を形成する前に、俺はスッと手を挙げた。
「――ちょっと待ってください」
「あ? なんだ君は。……おお、井伊くんじゃないか。静かだからいないかと思ったぞ」
高橋マネージャーが眼鏡の位置を直しながら睨む。
俺は愛想笑いを浮かべながら、手元のタブレットをテーブルの中央に滑らせた。
「高橋さんのおっしゃること、よく分かります。ユーザーの利便性を高めるべきだ。それは我々も同意します」
「だろ? なら話は早えよ。やっと話が通じる奴が出てきたな」
高橋マネージャーが得意げに笑う。
隣で佐藤が「は?」という顔で俺を見ている。「裏切り者」という視線が痛い。
まあ待て、ここからだ。
「ですが高橋さん。一つだけ気になることがあって、保守用サーバの利用履歴を調べてみたんです」
「ログ?」
「はい。過去1年分です。……これを見てください」
俺はタブレットの画面を指差した。
そこには、俺が午前中を費やして集計したグラフが表示されている。
「営業部が要望しているような『3つ以上の条件を組み合わせた検索』が実行された回数と日付です。……過去1年間、のべ15日で16回。ほぼ月に1回ペースです」
「え……」
「しかも、実行されている日付を見てください。毎月23〜25日の午前中……つまり『月次報告』の締め切り直前だけに集中してるんですよ」
会議室に沈黙が落ちた。
高橋マネージャーが口をパクパクさせている。
「毎日使っている」というユーザーの主張が、客観的なデータによって粉砕された瞬間だ。
「つまり、現場の方々が本当に求めているのは、『自由な検索機能』ではない。毎月の報告書作成を楽にするための機能……じゃないんですかね?」
俺は畳み掛けた。
逃げ道を塞ぐのではなく、別の出口を用意するために。
「月次報告……う、うむ。まあ、そうだ。それが一番の重荷なんだ」
「ですよね。月イチとはいえ、毎回毎回、面倒な条件を入力するのはウンザリですよね。設定ミスも起きるでしょう」
俺はホワイトボードのペンを取った。
「なら、提案があります。汎用的な検索機能を作るのではなく、『月次報告用データ抽出』という専用ボタンを一つ作るのはどうです?」
「……ボタン?」
「はい。面倒な条件指定は裏側で全部やっておきます。ユーザーは、そのボタンをポチッと押すだけ。それだけで、報告書に必要なデータがズラリと出る。……どうですか? 営業の方々に『毎回条件を入力してください』と説明するよりも、『ボタン一つで全部出ます』って提案する方がこちらも楽ですし、使う方も喜ばれるんじゃないですかね?」
高橋マネージャーの目が輝いた。
「そ、そりゃあボタン一発の方がいいに決まってる! アイツら、細かい操作説明するとすぐ文句言うからなぁ……。それだよ! そういう提案が欲しかったんだ!」
俺は佐藤の方を振り向いた。
彼女は呆気にとられた顔をしていたが、俺の目配せを受け止め、すぐに思考を切り替えたようだ。
「……ええ、そうね。複雑な条件を設定してもらうより、固定条件のショートカット機能を実装する方が、遥かに低コストよ。他機能への影響もまずないし、予算内で十分に収まるわ」
「本当か、佐藤さん!」
「ええ。ユーザーの方が『本当に欲しいもの』がそれなら、喜んで実装いたします」
高橋マネージャーが身を乗り出し、佐藤の手を(握手しようとしてスルーされたが)求めんばかりの勢いで頷いた。
◇
こうして仕様凍結会議は、合意のサインとともに終了を告げた。
結果として、営業部は「ボタン一つで仕事が終わる魔法の機能」を手に入れ、高橋マネージャーは「ユーザーの要望を叶えた有能な担当者」という顔が立ち、俺たちは「低コストで顧客満足度を上げる」ことに成功した。|Win-Win-Win《三方良し》だ。
エレベーターホールへの帰り道。
佐藤が、どこか腑に落ちない顔でポツリと言った。
「……あれは、詭弁よ。彼らが朱を入れた要求仕様とは、乖離しているわ」
「いいや、あれが『真の要望』だ」
俺は自販機で買ったブラックコーヒーをプシュッと開けた。
一仕事終えた後のコーヒーは美味い。
「クライアントは、自分が何が欲しいのか、自分でも分かってないことが多い。『検索したい』と言葉では言うが、その奥にある『楽をしたい』『ミスを減らしたい』という本音を見つけなきゃいけない」
「……言語化されていない要求事項……」
「そう。言われた通りの機能を作るのは、三流の御用聞きだ。相手が言葉にできていない『正解』を引っ張り出して形にしてやるのが、俺たちエンジニアの腕の見せ所だろ?」
少し格好つけすぎたか。
だが、これは俺が数年、将来に渡って楽をするがために学んできた真理だ。
技術力では佐藤に遠く及ばないが、こういう「人間力」みたいな泥臭い領域なら、まだ負けない。
佐藤は立ち止まり、俺の顔をじっと見つめた。
その瞳に、いつもの冷徹さはなかった。
あるのは、なんだかプレゼントを前にしたようなワクワク感だろうか。
「……認識を改めるわ。貴方のヒアリング能力……いえ、翻訳能力ね。評価に値するわ」
彼女はフイと顔を背けたが、耳が少し赤くなっているのが見えた。
「私の論理だけでは、決裂していた。……認めるわ。今回は貴方の勝ちよ」
「勝ち負けじゃねえよ。チームだろ」
「……ふふ。そうね、パートナー」
小さな声でそう言うと、彼女はまた凛とした表情に戻り、カツカツとヒールを鳴らして歩き出した。
「さあ、戻るわよ井伊さん! 仕様が固まったなら、次は実装よ! 残業してでも遅れを取り戻すわ!」
「へいへい。人使いが荒いことで……」
「何か言った?」
「なんでもないでーす」
俺は苦笑しながら、彼女の背中を追った。
やれやれ。
この最強で最恐のチーフとなら、デスマ-チも多少は楽しめるかもしれない。




