見出し画像

問題解決には原因を調べることが重要

私が作成したcsv変換ツールを使っている会社から、ツールを起動するときにエラーが表示されると問い合わせがありました。今までこのような問い合わせがなかったので、原因を調査する必要がありました。このツールにはパターンファイルがExcelファイルなので、Excelファイルを読み込むために、OleDBの機能を使っているので、この機能を使うところでエラーが表示されているのです。使用されるPCはOffice2019の64bit版だったため、Officeが64bitがこのエラーの原因だと考えました。

私の開発環境がOffice2016の32bitのVisualStudio2017で開発していたので、Officeが32bitで動作をするツールになっていたのです。自分の周りがOfficeが32bitばかりだったので、このエラーに気づかなかったのです。とはいえ私が今所有しているPCはすべてOfficeが32bitなので、本当に同じエラーになるのかの確認もできなければ、エラーを回避する方法も確認できないのです。

原因や回避方法を調べるには、同じ環境を作ることが最低条件です。私が現在使っている4台のPCはライセンスの関係でOfficeの入れ替えができないので、仕方がないの新しいPCを購入するしかないのです。こうなると個人事業主は即決するので、オンラインでPCを購入すると5日後にPCが届きました。

OSのWindows10はPCを起動させると手順通りにやれば1時間もかからずに完了します。ただ厄介だったのはOfficeの64bit環境をどのように作るかでした。ボリュームライセンス購入すると最低でも3台分購入が必要で、Accessを含むと15万以上かかるのでさすがに1台のためにボリュームライセンス購入はさすがに無理なので、以前マイクロソフトから営業の電話があったMicosoft365のサブスクリプションにすることにしました。

Micosoft365でややこしいのはMicosoftアカウントの存在です。私はすでにボリュームライセンスとOffice365solo(Personal)で2つのMicosoftアカウントを持っていたので、できればボリュームライセンスのMicosoftアカウントを使いたかったのです。ところがボリュームライセンスのMicosoftアカウントをなかなか使うことができずに、Microsoft365専用のMicosoftアカウントを作る羽目になってしまいました。この辺が購入前相談で聞いても要領の得ない回答しかしないので、マイクロソフトのサポートのサービスレベルの低さを痛感することになるのです。

右往左往しながらもMicrosoft365用のMicosoftアカウントを作って、ブラウザからMicrosoft365が使えるようになり、同時にPCにもExcelなどのOfficeアプリがインストールされました。

ところがPCのOfficeアプリを起動するとライセンス認証が表示され、ライセンス購入か無料お試しかの確認画面が表示されるのです。Microsoft365用のMicosoftアカウントを作るときにサブスクリプションの支払い手続きをしたのに、ローカルでOfficeアプリを使うのに再度購入とは詐欺にあったようなものと感じてしまいました。さすがにマイクロソフトに問い合わせをしたのですが、担当者から折り返し待ちをすることになりました。

なかなか電話がかかってこなかったので、自分でいろいろ試してみました。ライセンス認証画面で表示されたアカウントは、ボリュームライセンスのMicrosoftアカウントだったのです。このアカウントをMicrosoft365用のMicosoftアカウントに変えて認証したらローカルでもOfficeアプリが使えるようになりました。なぜライセンス認証画面で表示されたアカウントがボリュームライセンスのMicrosoftアカウントだったかというと、実はTeamsというアプリがあって、このアプリを他のPCで設定したときに、アカウントがボリュームライセンスのMicrosoftアカウントと同じメールアドレスを使ったのです。Teamsがこのアカウントを引き継いだため、ローカルでのOfficeの最初の起動のときにボリュームライセンスのMicrosoftアカウントが表示されたようです。これが複数アカウントの持つことによる生じる混乱なのです。

Officeのインストールに半日かかりましたが、Officeの64bit環境ができあがりました。この環境で私のツールを起動したところ、問い合わせ通りのエラーが表示されました。そこでOfficeの64bit環境でVisualStudio2017をインストールして、ツールのプロジェクトをこのPCにコピーして、64bitとしてコンパイルを行ったところ、ツールが動作することになりました。

このことから、Officeが32bitと64bitでは共通で使えない機能があって、その場合はそれぞれの環境を作って、それぞれにコンパイルをしてexeプログラムを作る必要があるということです。原因がわかれば原因を取り除く対処をすることで問題解決するのです。これはトラブルシューティングの基本です。

私は若いころからトラブルシューティングをやってきたので、原因を調べて問題解決することに慣れています。ところが日本人ってトラブルが発生したときに原因究明よりもとりあえず動作させることを優先します。場当たり的な対処が多くなります。場当たり的な対処をすると、トラブルの原因を取り除けていないので問題は再発します。みずほ銀行のシステムトラブルはその典型だと思っています。

長時間の停止を許されない業務は場当たり的な対応は致し方ない面があります。ただ場当たり的な対応で稼働できればそれでいいと考える人って意外と多いのです。根本的な原因がプログラミングだけで解決できるのならいいのですが、多くの場合は業務やデータを見直しが必要です。業務やデータの見直しには責任が生じます。責任を取りたくない人ほど場当たり的な対応を強要します。私の経験からすると普段ご立派なことを言っている人ほど、トラブルが発生すると場当たり的な対応を強要して、「あとはよろしく」といって現場からさっさと逃げ出します。

人間の本質って平時ではなくトラブル時に出ます。平時にご立派なことを言う人ほど逃げ足は速いです。いま日本が劣化しているのは、平時にご立派なことを言って逃げ足は速い人が政治家や官僚のトップにいるからです。

例えば、コロナの感染症の非常時で、非常時の対応ってトラブル対応とよく似ています。トラブル対応の観点から言えば、コロナウィルスの感染者を徹底的に調査をして、コロナウィルスの実体を把握することです。感染症のコロナウィルスの実体がわからなければ正しい対応はできないのです。ウィルスの場合は検査と隔離によって患者を減らすことが重要なのです。本来科学をまともに研究している人であればこのくらいの考えはすぐに思いつきます。

今の日本は専門家という肩書を持った老人が、科学者ではなく政治家なのです。科学とは多くのデータからあらゆる推論を立てて、試行錯誤を繰り返してゆく中で、正しい結論を導き出します。ところが日本の専門家は、試行錯誤をしようとしないので、彼らは科学者ではないのです。専門家が科学者ではなく政治家のスタンスになっているところが、日本が世界に後れを取っている原因という気がします。

この記事が気に入ったらサポートをしてみませんか?