ユーザーの中には、ちゃっかりした人がいる。「ついでにオマケでこれもやってほしい」という要望を実に上手に通してしまう人だ。「受発注システムの受注機能の追加作業のついでに、発注機能の手直しを頼む」「サーバーのバックアップ設定の変更作業のついでに、セキュリティ設定の変更も頼む」といった具合である。

 このタイプの人は、決して強面ではない。少し暑苦しいところはあるが、憎めないキャラクターといった感じのタイプだ。押しの強さや声の大きさではなく、押し引きの巧妙なタイミングとあきらめない粘り強さでオマケを要求してくる。そして最後は「これをついでにやってくれると本当に助かる。そこをなんとか、お願い、助けて」とダメ押しの泣きで懇願してくる。

 開発者は、こうしたユーザーと仕事をしていて人間関係を築いた後では「契約外の仕事なので受けられません」と毅然と断るのが、かなり難しいだろう。大きく時間を取られるような作業であれば断れるが、多くの場合「ついでにやること」の作業量は大きくない。そのため、「断って人間関係を悪くしたくないから、やってしまおう」という結論になる。

 開発者とユーザー、つまり人と人が仕事をするからには、契約書の文言通りに従ってばかりでは仕事が進まない。このような駆け引きと妥協は現場ではよくある話だし、大人の知恵とも言えるだろう。

 しかし契約外の仕事は、頼むユーザーと引き受ける開発者の双方が、大きなリスクを抱える。怖いのは、ユーザーも開発者も些細な作業と考えていたものが、実際に着手してみると予想外に面倒な作業になるケースだ。オマケの仕事と考えて、きちんと要件定義や設計をせずに、口頭による簡単な確認だけで開発に手を付ける。しかし、すぐに終わるはずだったものが、手戻りの繰り返しでエンドレスな泥沼仕事になってしまう―。