悪魔に心を売っても納期を守る!帳尻あわせの裏技術このままでは絶対に納期に間に合わない、どう考えても不可能だ......。してますか、そんなとき。やってるでしょ、やっちゃいけないこと。帳尻を合わせるためには、悪魔にだって心を売り渡す。そんなエンジニアは、あなただけではありません。作成日:05.11.23きっかけは私、つまりTech総研スタッフのマイウェイマサシが知り合いのエンジニアから聞いた、何げないひと言でした。いざとなったら要件を変えちゃっても、何とかするよ」。それがきっかけで300人のエンジニアに、「納期に間に合わないとわかったときに使う裏技術」を尋ねたわけです。アンケート調査では納期に間に合わせるためのワザ以外にも、前提となる納期の厳しさや、現状への考え方なども聞いています。それが上の2つのグラフ。「仕事が始まったときから納期達成が絶望的」(左)ってかなりむちゃな仕事ですが、仕事の半分がそうだというエンジニアが4割もいる。普通の仕事だってスケジュールは徐々にズレていき、結局は納期と戦う羽目になるでしょ。それなのに、例えば「最初から納期は絶望的」な仕事が8割という人が、10人に1人いるわけです。考えると、「何が何でも納期は守る」というエンジニア魂が光りますね(右)。この18%(53人)の「納期は絶望的」の割合は、ほぼ完全に全体調査(上のグラフ)と一致しています。納期に余裕のある特別な人ではないのです。それはさておき、ここで言いたいのは、「エンジニアが納期を守るのにはそもそも無理がある」→「だから多くの人が裏の技術を使っている」という現実です。「人として許されないような」技術も数多くあるのです。帳尻合わせの技術には、いくつかのパターンがあるようです。テストの手抜きだったり、データのコピーだったり、機能を分割した納品だったり......。回答の多かった4つに分類して、100点満点で点数を付けました。異常系の評価でエラーリポートがくるのはわかっているので、それまでに異常系の作り込みを終えておく。顧客は素早い対応に満足、こっちは時間が稼げて双方ハッピー。納期の厳しい場合は、常に正常系のテストしか行わない。客先で不具合率が10%異常発生。試験を行っていなかった責任で以後無償修理を3年以上継続しています。34歳】テストやチェック工程をおざなりにして次工程へ進み、バグが出る度に頭たたきで対応。上司も黙認の常とう手段。システム導入後に不具合続出。データのハンド修正で日常業務を回しつつ、夜中や休日返上で改修作業を実施。運用系の試験で日数のかかるもの、例えば30日以上回さなければならないところを20日でOKにしてしまう。ウチの社の悪しき文化。無線機器の評価で、過去の測定データをそのままコピペする。上司が無線技術に疎いので、今まで発覚したことはない。回路乗数の検討を省く。乗数変更であれば後から対応可能だから。結局、検討不足のため、乗数変更だけでなく回路変更も必要となり、修正が徹夜作業となった。納品先のソフトウェア管理者に見事に見つかったが、何とか目をつぶってもらい、次の改修で必ず直すことにした。絶対に間に合わない状況だったため、過去に他社に納品したプログラムをほぼコピー。主要部分の強度計算はするものの、そのほかの部分は似たような前の実績のものをひたすらコピペ。製作段階では職人さんに飯食わして深夜残業。職人さんからはにらまれて関係修復に1カ月かかった。既存の数点の製品とデータを流用して、ユーザーにわざわざ選択肢を用意した形にする。既存の製品を評価してもらって基礎データが取れ、開発の参考になった。ユーザーと検討する機会も増えて、関係もよくなった。29歳】システム維持・保守のフェーズに入ると担当部署からクレームの嵐。遠隔メンテナンス機能などが不完全だったので、全国を走り回るはめになった。29歳】どんなに使い勝手が悪くても、仕様書に載っていないことは絶対に口に出さない。その後のリニューアルで少しずつ改良していった。機能的に省ける、簡略化できるものを探して、最低限の仕様にしてしまう。納品時には問題なく、2年以上たってから機能追加の依頼。有償で対応させていただいています。設備の仕様が決まっていないうちに先行発注。影響が出ない部分から製作に入り、無理やり納期に間に合わせる。問題ない場合もあるが、大きな仕様変更で先行製作が無駄になり、製作費が予算オーバーすることもある。半導体図面を完璧に作図して提出せず、下の層から少しずつ提出する。メタル配線のつなぎ替えで回路変更できるように設計しておく。回路ミスが多く、用意していたメタル配線でも足りなくなってしまった。変更時に全部やり直しになった。37歳】ソースの標準化やモジュール化を一切無視して開発し、テストだけはきちんとやって納品。発注元が保守担当の予定だったが、保守できないとの連絡。自分で再度格闘することになり微妙な状況です。36歳】vxWorksでコンパイル時にprintf文を入れるだけで動作が変わったことがあり、無駄なprintf文を入れて無理やり動作させた。ほかの修正が入った場合に正常に動作するよう、printf文を抜いたり入れたりで悪戦苦闘中。自動化で行うべき処理を手動操作で運用するように変更。トラブルが起こりやすいのは承知で、人力でカバーするしかなかった。バグや運用ミスが続き、いまだに自動化できていない。定年退職した無職の元上司に仕事を発注する。今でもときどき仕事を出すが、徐々にギャラをつり上げてきている。方法論ではなく感情論で、裏の技術を分けてみました。「こんなことしていいんかい!」という犯罪スレスレ(既に犯罪?)のものから、「あれ、使えるんじゃない?」といったアイデアまで、実に千差万別です。今のところ問題なくうまくいってます。相手(顧客)のあら探しをして徹頭徹尾そこを糾弾する。こちらの非は認めない。金銭的な面でもめにもめたりはするが、結局のところうまく収まる。誤差の範囲で合っている製品だけを抜き出して、全部が合格していることにする。