地方エンジニアが感じる地方・中小企業での悩み

新バージョンが出るたびに思うこの話

»

 数日前に Windows 10 がついにリリースされました。良い意味でも悪い意味でも注目を浴びていた今回の Windows、リリース直後には多くの人がインストール作業を行っていたことと思います。今月はさらに Visual Studio 2015 もリリースされ、Windows 系の開発を行っている方々には色々と衝撃があったのではないでしょうか。リリースされる数日前くらいには導入にまつわる記事が誤解を招くなど、違う意味でも注目されていたのは記憶に新しいところと思います。

 今回は前回の Windows 8 と比較すると利用感に大きく変化をもたらさない様に思えるのもあり、そういった面での非難はそれほど多くないように感じています。しかし今は注目されていない箇所での変更点も多く、じわじわと話題になっていくものとも思います。

 このように新しい環境がリリースされる度に聞こえる話題として、互換性の問題から導入を見送る、という話があります。これは IT がここまで普及する以前より受け継がれる、由緒ある問題です。私たちは長い時間をかけて IT 業界の発展とともに歩んできているのですが、未だにこの問題を解消できていません。

 根本的な原因としては、新しい技術を取り込むためであったり、新しい体験を提供するためであったりと、利用している環境が発展するためにはこれまでと同じでいることができない、このようなところにあります。よく「新しいことはいらないから今までと同じように動いてほしい」と望む人もいますが、それでは現状維持どころか退化しているだけ、というのもよく言われる話です。

 環境が変わるのは、私は仕方がないところだと考えています。当然常に何らかの対応を取り続ける必要があるものが、IT システムであるとも思います。ただそれでも、新しい環境が原因となる箇所はできるだけ減らしていきたい、と同じように考えもします。私たちが開発を行うシステムにおいて、どのようにすることが後々にこのような問題を生まなくさせる、もしくは減らすことができるのでしょうか。

 消極的な対応としては、先にも記載したように「新しいものを利用しない」という方法があります。新しい環境が出ても利用しないことを選択すれば、その時においては問題は発生しません。しかしこれは、ただ単に問題を先送りしているだけに過ぎず、何らかの理由で環境を変えなくてはならないタイミングが訪れると、過去に対応していた場合と比較しても非常に大きい反動に見舞われることになります。そのようなケースを想像すると問題を先送りするというのは、開発者として選択してはいけないと思います。
 それではどうすれば、という話になりますが、私としては積極的に改修を行う方法が、今の時代をふまえても適切な方法になるのでは、と考えています。ここでいう積極的対応ですが、どこかのタイミングでまとめて改修を行うのではなく、問題となりうる事象が発覚したら都度対応を行う、それを何度も何度も繰り返していく、という位置づけの方法です。現在では Web 系サービスがその方式に近いかと思いますが、定期的にサービスのアップデートを行っていくものです。一度に対応しなくてはいけない量を減らすことが、今の時点で採れる最良の方法ではないでしょうか。これは夏休みの宿題のようなもので、毎日やっていればそれほど大変でなくとも、休みが終わるあたりで一気に片付けようとすると非常に大変だというのと同じです。私は後者のタイプですので、非常に苦労した記憶が多々あります。

 このように少しずつ改修を行うことが本来適しているのですが、実際にそれを行おうとした場合には、予算と時間といった問題がついて回ります。開発を業務として行う以上、このあたりについても何らかの考えを持つ必要があるのはみなさんご承知の通りです。例えば保守料金をいただいている場合であれば、まだ問題は少なそうですが、色々な事情からそのようにできていない事もよくあります。また保守料金をいただいていても、その扱いは「何か問題が発生した際に対応する保険」としてのみであり、日々の改修を行うものではないとしているケースもあります。この場合も対応するのは非常に難しい状態です。これでは誰も幸せになれないものではないでしょうか。

 この状態を変えていくには、開発側だけでは難しいと私は感じています。利用するユーザーの側からも強く訴えていかなくては、改善していくことは非常に大変なのではないでしょうか。例えば受託システムであれば、「最新の環境に(できるだけ)早期に適応させる」という内容を盛り込ませるという手段も考えられます。開発側からであれば、月々の保守費用によって対応できる量を変動させるといったサービス型の提供に切り替える、というのも一つの方法でしょう。他にも色々な方法は考えられると思いますが、最初の契約時点から将来を見据えたものが盛り込まれていなければ、作る側も使う側も互いに幸せになるのは難しいものではないか、そう私は考えます。

 基本として固定的環境でなくてはならない、そういったシステムというのは極々限られたものだけです。一般的な企業が利用するシステムでは、そのような必要性はない、と極論ですが言えると思います。それであれば、どのようにすれば新しい環境に対応が行いやすくなるか、そのような部分に目を向けておくのも必要ではないでしょうか。

Comment(0)

コメント

コメントを投稿する