ソフトウェアにもメンテナンスが必要です。

先日、人間ドックに行ってまいりました。体と脳ミソこそ資本、年に一度のメンテナンスをしないとね!
最も、その後ランチバイキングに行って昼間から飲んでいましたが。。。

コレ、スタートアップね。

ソフトウェアはキカイじゃ無いんだから、メンテナンスなんて関係ないデショ?
なぁ~んてコト、考えてませんか?

ソフトウェアだって、メンテナンスが必要です。今日は、ソフトウェアのメンテナンスについてお話しましょう。


メンテナンスの考え方は、機械と一緒ですが、レベルを分けて考えましょう。


システムレベルのメンテナンス:

インターネットサイトが動作しているサーバー、あなたや顧客のパソコンやスマホ、タブレットそれら全てのコンピューターが大正です。それらは、OS(オペレーティング・システム)やライブラリ、ミドルウェアなど様々な ソフトウェアが渾然一体となって動作しています。それらの個々のソフトウェアは、機能アップや脆弱性対応のためにアップデートすることがあります。
 サーバーそのものを自分でセットアップしている人は自分で必要なアップデートを行う必要があります。 レンタルサーバーでも、WordPressを自分でセットアップしている人はWordPressそのもであったりプラグインと呼ばれるソフトウェアを自分で、アップデートを行う必要があります。 逆にレンタルサーバーで、一定容量だけを借りている人は関係ないかもしれません。
 クライアント側の機器、自分が保有するPC(Windows、Linux、MacOSXなど)やiOS、Androidについても自分でアップデートしましょう。それらは、自動アップデートとなっているのか自分でアップデートするのか自身で決めてください。



アプリケーションのメンテナンス:

アプリケーションそのもののバグ、あるいはユーザーや顧客からの要望を取り入れることが必要になってくるかもしれません。しかし、アプリの動作環境に気をつける必要があります。
 iOSやAndroid上で動作するアプリは、依存するライブラリやOSのアップデートによって(システムレベルのメンテナンスを行った結果として)動作しなくなる可能性があります。 バージョンアップ情報をチェックして、アプリ動作を確認する必要があります。システムのバージョンアップでアプリが動作しなくなった場合はアプリをバージョンアップするか、作り変えるかを決めなければなりません。もし、バージョンアップ対応の確認、或いはバージョンアップ対応そのものに時間が必要な場合もユーザに告知しましょう。
 HTMLやJavascript、あるいはPHPやPythonなどで作られたサーバーアプリケーションがブラウザ上で動作している場合も同様に、対応ブラウザのバージョンアップに気をつけましょう。
 また、そのアプリが特定のOSSプロダクトやライブラリに依存していた場合、そのバージョンにも配慮する必要があります。特に脆弱性が疑われる場合、アプリをバージョンアップするだけではなく、その依存するOSSプロダクトやライブラリの特定のバージョン以上でないと動作しないようにするなどの配慮も必要です。



コンテンツのメンテナンス:

コード部分だけではなくコンテンツの内容についても時折確認してください。特に気をつけなければならないのは個人情報です。例えばネット上
 ユーザーが必要な情報が網羅されているか? ユーザーが知りたい情報にたどり着きやすいページ構成となっているか? リンクが切れていないか? 情報が古いままになっていないか? ユーザーが使いやすいUIになっていないか?ユーザー目線で自分のページやアプリを見直してみたり、自分で使ってみたり、評判のいいページやアプリと自分のソフトを見比べるなどしてください。
 アプリケーションのメンテナンスで触れましたが、アプリやページの一部が動作しないときなど、ランディングページで告知するなども必要です。
 また、時折デザインを変えることでユーザーを飽きさせない、という効果も狙えます。


メンテナスのコストについて:

メンテナンスを行うにもコストがかかります。もし、あなたがプログラミングできるとしても対応する時間が必要になります。その分、他の仕事ができなくなります。サーバーアプリ更新のために何日も徹夜したなんて話は珍しくありません。時間をお金で買うには、外注しますが最初のシステム発注時にメンテナンス・コストについて話し合っておくことをオススメします。 お金をかけて、見た目、内容ともに非常にすばらしいシステムが出来上がったとしても、そのシステムを支えるために複雑な非常に多くのコードやコンテンツから成っていたとしたら、メンテナンスにもお金がかかります。


 いま日本では、バブリーな時代に立てたハコモノのメンテンスが問題になっています。長期に渡って維持できるか? 外注するときには設計をすべてお任せにするのではなく、メンテナンス対応をよく考えてシステム構成を検討しましょう。


船橋の頭脳
Lightning Brains

コメント

このブログの人気の投稿

Linuxシステムコール、共有メモリの使い方

Linuxシステムコール、メッセージキューの使い方

Linuxシステムコール、セマフォの使い方