先日のこと。
用事があって本社へ戻り、本社でのお仕事を終え、やることなく本社内をぶらぶらしていました。そろそろ帰るかなーと思っていたら、社内の人から「いいところにおるやんけ!」と呼ばれ、なんだなんだと見てみたところ、前に私が開発していた「ビッグデータっぽいもの解析用ソフト」が動かないというのです。
そのソフトは基本的に企業ユースで、市販品ではありません。企業らしくHow to useに則って操作する限り「動かない」なんてことはまず起こりえず、How to useの通りに操作して動かなければ「不具合」です。企業用で不具合を起こすといろいろと面倒なことになります。ただでさえ少ない私の給料がどうなるのか心配なくらい面倒なことになりそうです。でも逆に言えば、How to useの通りでない操作で起こる不具合は「仕様」で、特に直す必要はありません。個人用と違い、多種多様、あらゆる使い方に耐える必要がないのです。手順書の通りの操作以外は、保証する必要がない。
さて、そのソフトのエラー原因を調べてみようと見てみたところ、ポチッとした瞬間コンソール画面にエラーメッセージ。わりと一瞬でエラーメッセージ。瞬く間にエラーメッセージ。しかも大量に。でも見覚えがある。なんだったかなー。
色々と確認し、原因はデータ側の不備という結論に終わったんですけど、その不備の内容がおもしろいんですよね。「データが1件」なのです。データ構造自体は全く問題なく、ただ1件しかないのです。
冒頭に述べたようにこれはビッグデータっぽいもの解析用ソフトですから、本来であれば何千、何万というデータを対象とするものです。1件のデータに使用するものではないため、1件で起こるエラーは不具合ではなく、仕様だと言い張ることができます。
実は開発段階でもこの仕様には気づいていて、修正しようか悩み、関係各所に確認をとった結果「ビッグデータでしょ? 1件とか考慮する必要ある?」ってことで修正なしとなったんですよね。2以上1兆未満なら不具合は起こらないので、修正にかかる費用のほうが重視されました。
というわけで全く問題なく「不具合じゃねーよ!」と言えたのですが、こういう事態に遭遇するのって、開発時のメンバーがもういないからこそなんですよね。なんのために1件だけのデータを解析に回そうとしたのか不明なのですが――動作確認?――、仕様を知っている人が現場にいたら防げたはずだよなぁ、と。
企業用と個人用ソフトの違いと、メンテできる人がいなくなったソフトの仕様について、ちょっと考えさせられる日でした。今度からそういう仕様はどっかに残しておこう。最近は私、ソフトウェア開発にはあまり関わってないんですけどね。Webサービス開発とか、企業内IT何でも屋さん業が多いです。
コメント コメントは承認制です。
エラーメッセージみて原因がすくわからない
時点で欠陥品じゃないですか
仕様書に書いていないの?知ってる人がいるいないの問題じゃなくて、
きっちりと仕様書にも書くように。仕事しましょうよ。