X社 Aの取引先
Y X社の担当者
A社は数年前に受発注システムをリプレイスした。以前は他社システムJを使用していたがフルスクラッチで自社開発したKに置き換えた。
Kの開発はPと外注エンジニア数名で行ったが実質的にはほぼP独力に近い状態での開発だった。Kの運用開始後、外注はすべて引き上げ、Kの保守、問い合わせ対応、追加機能開発などはPが一人で行っていた。
そのうち数社はKの運用後にAと取引を開始したため最初からKを利用していたが、それ以外の会社はJからKにシステムを一斉に移行した。
Kは導入当初、Jの操作方法に慣れていた取引先のスタッフの多くからは、操作方法がわかりにくいなどの理由で、かなりの不評だった。
ユーザーとなるスタッフの多くは基本的にITリテラシーが低く、基本的な操作手順を覚えるのにかなりの時間を要し、マニュアルを読まずに何度も同じことをPに問い合わせることが頻発していた。
また、スタッフが期待した操作結果でない場合はたとえ仕様通りであっても大半がバグとしてほぼクレームに近い形でPに報告されていた。
Kの運用当初から、Pはユーザーからのクレーム対応に忙殺されていたが、Jとの些末な差異を解消することだけがほぼ目的のような機能追加や仕様変更要望の対応としての開発にも忙殺されていた。
それらの開発案件の多くは、ユーザーからのクレームや、A社の営業担当Qがユーザーからの要望を受け入れることをきっかけに実行された。
またKが原因のトラブルが取引先とその顧客の間に発生した時は、Pが菓子折りを包んで顧客の下に謝罪に出向いたりすることもあった。
一方、Jを知らず、Kしか使ったことのない取引先やスタッフからはKについての大きな不満は特に見られず、スタッフの人数や店舗数を考慮して比較しても問い合わせやクレームの件数は有意に少なかった。
Jは年に一度ほどの頻度で数時間から半日程度のサーバーダウンを起こし、A社や取引先の業務が停止することがあったが、Kが停止することは一度もなかった。また、必須業務ながらJでは自動集計できなかったデータがKではできるようになり、各取引先の管理業務の作業時間を大幅に軽減した。
ただし、JでできていてKでできなくなった機能も一部は存在した。事前の調査を経て、使用頻度や重要度の高い機能はKでも実装されていた。結果として、優先度の低い機能はKには実装されなかった。
取引先Xの担当者Yは他のユーザーがほとんど使うことのなかったJのある機能がKに実装されなかったことについて強い不満を抱いた。その不満を開発者であるPに表明し、厳しく追及した。
その結果Yは、その機能を使ってJで行っていた作業を、Pに手作業で実施することを約束させていた。
当初、Pは特定の取引先のためだけの個別対応は契約事項に反するという理由で断っていたが、営業担当者QがYの要望をほぼ丸呑みする形で受け入れ、Yの要望通りの作業をPに「依頼」していた。
PとQは部署が異なり、上司部下の関係ではないが、A社には営業が総務経理や情報システム部門のような間接部門よりも圧倒的に優位な立場であることが暗黙の了解となっていたので、実質的にはPはQの部下に近い状況だった。
ところが昨年の春、他社からの出向という形でRがPの上司として着任した。
Rは業務効率化の調査として、Pの過去の勤務実態や対応案件の作業工数などを精査していたところ、過去のPの週報の数字や勤怠記録に矛盾する箇所がいくつかあるのを見つけた。
RがPに追及したところ、それらの数字が矛盾する原因はYのための定期的な個別作業であることを認めた。
その作業は1年以上の間続いており、作業時間は累計で100時間を超えていた。
Rはすぐに、Yにこのような個別対応は今後行わないことを通知し、Yはあっさり受け入れた。
Pは始末書を提出し、(これは噂だが)個別対応分の作業時間に換算した給与が賞与から減額となった。
さらにしばらくしてPは出社しなくなり、秋に退職したとのことだった。
A社ではPの代わりに新たに外注のエンジニアを迎え入れたが、結局そのエンジニアは頻繁にPと連絡を取って、対応に四苦八苦しているようである。
うんこ