システム開発をしていると、それを使う人からの不具合報告を受けて対応する、いわゆる運用フェイズの時に、バグではないのにバグと報告してくる人がいます。
システムの仕様を理解しない人が安易にシステムを操作して、わからないことを「不具合」として詰め寄ってくる場合もあれば、
自分の思った通りの動きをしないだけで、「バグ」と決めつけて報告してくる場合もあります。
バグじゃなくて、仕様である事を返すこともありますが、そもそも分かりにくいシステム自体は全体が不具合なんでしょうか?
仕様を決めた人の思考がバグっているんでしょうか?
そのシステムを使う人のITリテラシが低い事が不具合なのでしょうか?
色々な場面に応じて行き交う、不具合やバグという言葉ですが、先日とある会社のシステム開発を行っていた時のうけたバグ報告が少し印象的だったのでブログに書き残しておきたいと思います。
バグ報告は突然に!
それはとある真夏の、じっとしていると汗ばむ日が続く日の出来事でした。
作っているシステムは、とある会社のコンテンツ制作の補助ツールです。
その会社のいま現在使っているシステムは、非常にこんなんで分かりにくいシステムで、コンテンツ原稿がShift-JISのテキストファイルでサーバーに格納されていて、それを複雑に入り組んだデータベースで管理されています。
その原稿というのが、100や200ではなく、数十万以上(100万以上かも)のファイル数を有しており、これまでそれらのデータを検索もできなければ、便利に使いまわす事ができなかったので、
それを便利に使えるようにしてもらいたいというのがオーダー内容でした。
正直、
しらんがな!と思ったけど、なんとなく他の人ができないシステム開発を引き受けるのがうちの会社の特徴であり、これまでそうした難易度の高い開発を、独自の方法で成し遂げてきたのが自分の開発実績でもあります。
完成までには半年近く掛かりましたが、それでも先方担当者は、これまでよりも、便利に原稿活用ができるようになったし、検索などができる事で仕事の効率が上がるだろうという、評価ももらう事ができました。
システムをオープンにして、その会社内の全ての人が使えるように開放して、しばらくして「バグ報告」という連絡をもらいました。
それも、1つではなく、複数個同時のバグ報告です。
バグ報告内容を深掘りせよ!
今回報告を受けたバグは、次のような内容でした。
- エラーチェックが正常に動かない
- 正常に登録ができない
- 誰にも言っていなかった特殊仕様に対応できていない
色々とヒアリングと調査をして、この3つの報告は全て同じ事を言っている事がわかりました。
会社のコンテンツ制作として原稿の作成を行なっていたので、目視である程度の文字列チェックを行なっていたので、エラーチェッカーという機能をつけて、人的エラーを無くすようにしたのですが、
この部分が正常に動いていないのだそうです。
よくよく聞いてみると、その仕様は開発の仕様を決めるタイミングで入っていなかった内部の特殊仕様で、今回報告をしてきた担当者のみが知っていたシステムの特殊内容という事がわかりました。
まるで、システムを魔法のように考えているIT知識の無さが改めて露呈してしまいましたね。
今回補バグは、やはりバグではなく、仕様漏れという事で、即座に対応をして解決をしたんですが、バグ報告をまるで、殺人犯でも捕まえたかのような犯人扱いされる感じが、たまらなく嫌でした。
言葉の使い方に気をつけろ!
今回の開発の他に、システム開発では売上管理をする帳票システムなどの、計算結果をテーブル表にするような仕様のシステムを構築する事が多くあります。
また別の会社での話ですが、その会社は、毎月月額でのサブスクサービスを展開していて、内部の独特な文言が行き交う為、打ち合わせをしても、当初は日本語で会話をしている実感が湧きませんでした。
直近での打ち合わせの時も、「2ヶ月目継続ユーザーの人数を算出したい」というオーダーを聞いて、2ヶ月目?継続?、そんなのどうやってSQLでデータを取得すればいいのか?
みたいな、言葉トラップに引っかかってしまいましたが、これは、2ヶ月前に入会をした人が、その翌月にも月額日を支払っているかという事を、
2ヶ月目継続という言葉で社内はやりとりしているようでした。
内容がわかれば、言葉の理解はできるし、システム対応はできるのですが、システム開発とはそうしたローカル方言を、コンピュータ言語に置き換える翻訳作業でもあると改めて理解する事ができました。
あとがき
システム開発を依頼される会社は、ほぼITに疎い人たちでもあります。
そうした人たちが、少しでもITについての知識を持ち、ITリテラシを向上できるように、システム開発を通じて様々なコンサルティングや、システム提案をさせてもらうんですが、
残念な組織は、まるでITを学習しようとせずに、ITのプロに任せっきりにしてしまう人たちですね。
自己成長もなければ、会社の成長もなく、単に自分たちが便利なアプリを手に入れるかどうかしか興味ないし、他人には通じない会話を延々と繰り返して自分たちの言語を共通化しようともしないその姿勢は、システムエンジニアのやる気をスイカの皮のように削ぎ落とします。
もちろん、そういう人たちも無碍にはしませんが、できる事なら、相互に成長できる会社さんのシステム開発を行った方が気分も含めて向上できますよね。
何でもかんでもバグと決めつけて報告をしてくる人が多い組織って、対応も数倍の時間が掛かりますからね、
人に何かをレクチャーする側ということもあり、日々学習を怠るわけにはいきません。
今日も何かを学習し続けているユゲタでした。
0 件のコメント:
コメントを投稿