顧客満足度120%を目指すシステム開発(第2回) 〜作るのではなくて創る〜
取締役 IT事業部長 高田 淳志以前のコラム中では、「開発内容が決まるまで」というサブタイトルで要件の定義・見積もり・工程のステップなど、弊社が標準化している作業のステップについてご紹介しました。今回は、「さて開発するものの全貌が決まったぞ(=要件の確定)」からリリースに至るまでの作業について考えてみたいと思います。最近では、単なる情報発信道具だったWebの仕組みが、企業のITツールとしてさまざまな局面で活用されるようになるにつれて、開発期間は短期化し、ユーザのニーズも変化し易くなり...等々、開発の現場にとっては厳しい環境が発生しがちです。顧客サイドと開発サイドが、Win-Winな形でのエンディングを迎えられるように意識していること、そんなものに今日は触れてみようと思います。
仕様を創れるエンジニアでありたい
つい先日、ある人材派遣業のお客様のサイトがフルリニューアルされてオープンしました。今回のリニューアル・プロジェクトの目標として、1.サイトのリニューアル、2.バックエンド業務の効率化、の2点がメインテーマとして掲げられてきました。私は、そのプロジェクトには、システム開発面の仕様等々について全面的に案件の入口から関わってきましたが、いざサイトをオープンして、業務フローにはめ込んで使ってみたところ...。やはり、残念ながら使ってみての要改善点(デザイン的な問題だけでなく、動作仕様的な問題も含め)が、いろいろなシーンから上がってきました。
もちろん、開発前の要件やインタフェース確定の際には、お客様にも業務の合間を縫っていろいろな準備や、打ち合わせを含めてかなりのお時間をいただきながら進めてきました。しかしながら、それでもそうなるのは何故なのか?
以前、金融系のシステム会社に勤めていた事があります。その時にも、基幹系・情報系のさまざまな開発案件がありました。ユーザ部門からニーズをヒアリングし、それを絵や文書(=要件定義書)にして、それを基に協力会社に開発を依頼するという流れです。ユーザ部門と直接協力会社の間に自分が入り、会社全体の業務とユーザ部門ニーズの調整役をしていたという訳ですね。「今度○○航空とポイント提携をしたい。向こうに、これこれこんなデータをこんなタイミングで渡さなければいけない。」というユーザ部門からのニーズに対して、「自社のホストコンピュータから、どういうタイミングでどういうデータを引き出すことしか出来ないので、どのタイミングではデータが最新のものではないですね。ホスト側にジョブを追加しますか?それとも先方にデータ引渡しのタイミングを変えてもらいますか?こちらがジョブ追加するには、こんなことが必要で...。」などとやり取りをしながら、最終的に開発会社に渡す設計書に落とし込んでいく。技術的な仕組みの知識が必要なのは勿論なのですが、業務についての知識も当然求められていた訳です。
翻って、今回のお客様の場合、新しい仕組みの上での業務設計の話をさせて頂いてはきましたが、やはり現状業務のヒアリング等々の調査が不足していたと言わざるを得ません(自分の非をこのような場で認めるのは恥ずかしいものですね)。
お客様から出される初期ニーズから、
- どのような業務要件が想定されているか?(現状業務の踏襲か改善か、何に対する効果が求められているか、など)
- どのような利用形態が予想されるか?(操作場所、操作する方のスキル、など)
などといったことをきちんと汲み取って噛み砕き、システムのあるべき姿をこちらから提示していけるような、そんなエンジニア(またはエンジニア集団)でありたいと思っています。「何を作ればいいですか?」ではなく、「こう作ってみるのはいかがでしょうか?」とお客様と同じ目線・確度でシステムを眺めていける企業がこれからは求められていくように感じています。
安心して使えるシステムを創れる企業でありたい
時折、顧客情報の漏えいが新聞や雑誌をにぎわします。個人情報保護法の制定・施行といったトピックもあり、セキュリティという面に対する意識は、今後ますます高まっていくのは間違いないことと思います。弊社でも、ホスティングやハウジングサービスは当然のこと、専用のサーバを構築して利用するようなシステム開発を行う場合には、ネットワーク環境の整備等々を含めた部分からお手伝いさせて頂いています。ちなみに皆さんのサイトで稼動している「お問い合わせ」や「資料請求」のような入力フォーム類のプログラムには、次のような最低限の対策を講じられていますか?
- クロスサイトスクリプティング
本来は名前やお問い合わせの内容を入力するような箇所に、悪意をもった人間が特別なコードを書き込み、本来は使用者本人しか知り得ないような情報を奪い取る、といった問題 - SQLインジェクション
データベースにアクセスすることを予想して、悪意をもった人間が特別なコードを書き込み、登録されているユーザ情報などを書き換えてしまう、といった問題
また、CGIプログラムの置き場所へのアクセス権限がきちんと設定されていないために、公開すべきでないコンテンツを含んだファイル一覧が普通にWebブラウザから表示できてしまったり、CGIプログラムが溜めているデータファイルのURLをWebブラウザで直接入力してみると、表示またはダウンロードしてしまったり、ということはありませんか?また、入力者からのフォームデータの受け付けは、必要に応じて暗号化された通信(キーワード:HTTPS, SSL)が使用されていますか?
この辺りへの意識は、残念ながら現状においてもお客様ごとに未だ温度差が大きいのを感じます。登録されるデータの重みにもよることでしょう。しかしながら、公開を意図していないデータが外部に漏れる、そのこと自体が仮に新聞沙汰にならなくとも企業としての信頼を落としてしまう事になり兼ねません。もし、その辺りのことを意識されることなく、サイトに取り入れているというご担当者様がいらっしゃいましたら、是非一度、開発担当会社にご確認下さい。世には、無償で利用可能なオープンソースなるWebシステムも数多く出ていますが、EC(電子商取引)の機能を盛り込んでいるようなものでも、十分に対応されていないものを時折見かけます。
こういった面においても、「オーダー通りに作ればそれでいい。」「そんなこと言われていないから気にかけない」ということではなく、これまで以上にセキュリティ面での品質を高める努力を続けていきたいと考えています。こういった面での弊社のポリシーやガイドライン的な情報をもっと知りたいという方がいらっしゃいましたら、是非お問い合わせいただきたいと思います。
Newsletter
メールニュースでは、本サイトの更新情報や業界動向などをお伝えしています。ぜひご購読ください。