昨日書いた案件とは違う案件なんですが、同じ日に依頼された案件での話しです。
先日私が作ったプログラムを、毎日自動で動かしているのだけど、正しく動作しているかどうか、
わかるようにしてもらいたい、と。
相手がいるソフトなので、相手のせいで、正しく動かなくなるということが、必ず起こるソフトなので、
その対策は大事です。
それは、最初から考えてあって、毎朝チェックしましょう、ということだったんですが、たぶん、
忘れそうだ、ということと、もっと早く知りたい、ということと、休みの日が困る、ということで、
3人の携帯メールに報告メールを送るようにして欲しい、ということでした。
リスク管理のためには、ベターなことです。
で、検討。
まぁまず、私が作ったソフトが、動作をするので、その動作が終わったら、メールを送るという
機能をつけて欲しい、とまずなるわけです。
ポイントはまず、「正しく動作が終わった、という判断」と「3人にメールを送る」という部分ですかね。
ただ、今回のソフトの場合、最終的には、相手の問題が大きく、動作が正しく終わったかどうか
というのは、そのソフトでは、判断できないものでした。
なので、次の検討。
こちらじゃなくて、その「相手」が、動作が正しく終了したかどうかを知らせてくれる方法はないかと聞くと、
メールを送る機能がある、と。
では、その検討。
メールの宛先を3人にできるかどうか。結論は、「できない」。
メールソフトで転送は?結論は、「いくつかの問題があって、ダメな可能性が高い」。
うーむ。。。
「一連の動作が正しく動作したことを確認する」ということなので、その動作をしているソフトや、相手の仕組みを
利用したり、改造して、求める結果になるようにするには?ということを考えていましたが、一旦、最初の段階に
戻って、もう一度「目的は何か」と考えてみました。
「一連の動作が正しく動作したことを確認する」ということですけど、その結果の事象を確認してもいいわけです。
では、その結果、何が変わるのか?
ある数字が増える、ということに気がつきます。
では、その数値を報告するソフトを別途作ればよくて、もともとのソフトを動かしたあとに、新しく作るそのソフトを
動かして、結果の数字をメールで報告するようにすると解決するね、と。
で、そのソフトを1時間で作って、解決しました。
さあて、伝わっているでしょうか^^;
コロンブスのたまごと同じで、後付で考えると、普通なのかもしれませんけど、その場でリアルタイムで、
「発想を転換する」とか「視点を変える」とか「根本に戻る」とか「こだわりに気付き、その意味を客観的に判断する」とか、
そのようなことをするのって、結構難しいと思います。
誰かとの話であっても、自分の頭の中での検討であっても、「流れ」があるわけで、まずは、一方向に流れやすいし、
それまでの流れの延長に行こうとしやすいわけです。
ある意味、その流れに乗らない、というか、ちょいちょい、その流れから外れてみて、他の流れを見てみるとか、
流れを遡って、途中まで戻ってみるとか、スタート地点に戻ってみるとか、それができるかどうか。
でもそれって、それまでのやりとりを捨てることにもなるので、もったいなかったり、おっかなかったりするので、
なかなかできなかったりします。
でも、目的は、「その課題をクリアすること」なので、その流れを大事にすることでもないし、それまでの時間や
経緯を大事にすることではないので。
でも、自分の時間や、アイデアや、調査や、努力などの経緯なら、簡単に捨てることもできるかもしれませんけど、
他人、ましてや、協力してくれる人や、上司のそれらを簡単に捨てるのは・・・となると思いますけど、目的はやはり
そこじゃないので、捨てましょう。
そうしないと、逆に、その人たちに、もっともっと無駄な時間や努力を強いることになるでしょう。
そう考えましょ(笑)
ちなみに、わたくし、プログラミングについて、誰にも習ったことがないし、誰かと協力して
プログラムを組んだこともないので、たぶん、かなり変なプログラムの書き方をすると思うし、
レベルも高くないと思います。
それに、たぶん、普通のプログラマーさんは、自分や先輩方が過去に組んできたり、考えてきた、
「よりよい解決方法」というのがたくさんあるのだと思います。
「こう書くべき」というのもたくさんあると思います。
わたくし、そのようなのがないので、その場で、思いつきで書いちゃうので、変な解決方法を
採っていることが多いのではないかと思います。
もっとよい解決方法とか、プログラムの組み方は、やまほどあると思います。
ただ、考え方とか、手順とか、ポイントとか、プログラマーじゃない人に、なにか伝わればいいなと思って、
書いてみています。
子等にも、伝えたいこともあるし。
思いつきで書いているので、乱文すぎるし、おかしな部分も多々あると思いますが、後日、
いろいろとまとめていって、もっとちゃんと、何かを誰かに伝えられるような状態にしたいと思っています。