ホームページ作成におけるトラブルシューティング(問題解決能力)の重要性
ホームページビルダーは、手軽にホームページを作るための道具として人気があります。しかし、その手軽さに頼りすぎると、いざ問題がおきたときに、自分で解決できなくなってしまいます。「リンクがつながらない」とか「画像が表示されない」などの問題は、ホームページを作成する上では日常茶飯事です。このような問題が起きたときに、原因を特定し、素早く対処、修正するためには、どのような能力が必要となるのでしょうか?
●ホームページ作成でいちばん面倒なのは・・・ ホームページは「ソフトウェア」の一種と定義できます。そのため、ホームページ制作の工程は「ソフトウェア開発の工程」と同じように管理しなければなりません。世の中には、ビジネスソフトやゲームソフトなど、たくさんのソフトウェアがありますが、いずれのソフトウェアも、制作→試験→修正 という過程を経て、安定した品質を確保します。そして、これら一連の工程において、もっとも時間と労力を要するのは「試験→修正」の工程です。試験は「作ったソフトウェアが正常に動作するかを確かめる工程」です。通常の使い方だけではなく、本来ならば行わないような動作に対しても、きちんと挙動が保障されなければなりません。たとえば、自動車ならば「全速力から思いっきり急ブレーキを踏む」という動作。このような動作は通常の使用目的ならめったに行うことはありません。しかし、製品の品質を保証するためには「もし、それをやったら、どうなるのか?」については、きちんとチェックして、結果を把握しておく必要があります。ソフトウェアもまったく同じです。Windowsならば「ハードディスクアクセス中に電源ケーブルを抜くとどうなるか?」という試験も行う必要があります。ホームページ作成の場合、それほど厳しい試験は必要ないかもしれません。しかし、注文フォーム(お客様が画面からデータを入力して送信ボタンを押す仕組み)のような機能を作る場合は、どんなデータが入力されてもいいように、あらゆるパターンの文字列を入力してテストしなければなりません。
●ホームページを閲覧する人のPC環境は千差万別 もっと基本的な確認事項としては「ページ上に存在する、すべてのリンクがクリックできることを確認する」というのがあるでしょう。さらに「予期しないアドレスを直接入力されたらどうなるか?」なども想定して試験しなければなりません。ブラウザから入力されるアドレスはいつも正しいとは限らないからです。また「画像が正しく表示されること」や「画面幅を変更してもレイアウトがズレない」ことなども確認しておく必要があるでしょう。ホームページを閲覧する人は、それぞれ異なる環境でパソコンを使っています。ネットワーク回線の速度も違えば、ディスプレイの大きさも違います。ウインドウズとマッキントッシュの違いもあります。このように、あらゆる操作や状況を考慮して、すべてのパターンに対応した動作確認試験をするためには、かなりの時間と労力が必要になります。たとえば、1時間かけて作ったホームページの動作試験をするのに、3時間から5時間もかかることはめずらしくありません。これはホームページに限らず、あらゆるソフトウェア開発に共通する課題なのです。
●ホームページビルダーでチェックできないところ ホームページの作成は、ホームページビルダーなどを使えば手軽に終わらせることができます。しかし「出来上がったホームページが正しく動作するかどうか?」は、人間が自力でチェックするしかありません。残念ながらホームページビルダーには「出来上がったホームページが正常に機能しているか?」をチェックするしくみはありません。たとえば「レイアウトがずれている」という概念は、人間が目で見て判断することはできても、ホームページビルダーが自動でチェックすることはできないのです。つまり「見た目の美しさや、操作性、感覚的な問題」まで含めて確認しようとすれば、どうしても人間の能力に頼らざるを得ないのです。 このように、ホームページの動作確認は、多くの時間を要する重要な作業です。そして、さらに厄介なのは「問題箇所は特定できたが、原因が分からない」という状況に陥ることです。たとえば、あなたが作ったホームページの、ある部分で「画像が表示されない」という問題が起きているとします。この時点で「問題の箇所を特定すること」はできています。しかし「なぜ表示されないのか?どうすれば表示されるようになるのか?」を特定するまでには至っていません。この状況がもっとも厄介であり、原因を特定するために試行錯誤する地獄の時間になるのです。ソフトウェア開発者は、この状況に陥ることを「ハマる」と表現します。
●ホームページビルダーは「HTML言語」を生成している ご存知のとおり、ソフトウェアは「プログラム言語」を使って記述しますが、たった1つの言語でスペルが間違っているだけでも、ソフトウェアは正しく動作してくれません。その「たった1箇所のミス」を探すために、1日から3日も要することは珍しくないのです。プロのソフトウェア開発現場では徹夜も余儀なくされます。ホームページ作成において、ホームページは「HTML言語」を使って記述します。HTML言語はプログラム言語の一種であり、ホームページを作成するための専用の言語です。HTML言語は、ホームページ以外にも、ブログやCGI(注文フォームなどの仕組み)においても多数使われており、インターネットを構成する重要かつ基本的なプログラム言語といえます。ホームページビルダーを使ってホームページを作成している人は、自分がHTML言語を使っていることを意識していないかもしれません。たしかに、ホームページビルダーには「HTML言語を知らなくてもホームページを作れる」という機能が備わっているので、普段は意識する必要はないでしょう。ですが、ホームページビルダーで作成したページは、最終的にはすべてHTML言語で書かれたテキストファイルに置き換えられます。その置き換え作業はホームページビルダーが自動的に行っているので、私たちは気づかないだけです。
●ホームページビルダーが「万能ではない不完全な存在」になるとき さて、ホームページが正常に機能している場合は、まったく問題ないのですが、ときに、予期しない問題が起こることがあります。画像が表示されない、リンクがつながらない、レイアウトがおかしい、などです。このような問題に遭遇したとき、その原因がホームページビルダー側にあるケースも珍しくありません。ホームページ制作者が意図しない形式でHTMLが生成されている、という場合です。原則として、ホームページビルダーはホームページ制作者が指示したとおりにHTMLを生成します。しかし、制作者の操作が不十分だったり、修正対象のファイルにおかしな記述があったりすると、ホームページビルダーは予期しない動作をしてしまうことがあるのです。たとえば、ホームページビルダー以外で作られた既存のページを、ホームページビルダーで修正する場合、以前使われていたホームページ作成ソフトとの整合性が取れずに、ホームページビルダーがおかしなHTMLを埋め込んでしまうこともあるのです。厄介なのは「ホームページビルダーがどのようなHTMLを埋め込んだのかは、HTMLソースコードを直接読まないと分からない」という点です。こうなると、もうホームページビルダーに頼ることはできませんから、自力でHTMLを解読するしかありません。ホームページビルダーは便利なソフトウェアですが、HTMLを知らない人にとっては、ときに「万能ではない不完全な存在」になることもあるのです。熟練者や経験者であれば、HTMLを直接読んで、間違っている箇所を自力で修正できます。そして「ホームページビルダーもたまにおかしな動作をするよね・・・」と笑い飛ばすだけなのですが、これが初心者となれば、なにをどうすればいいのやらさっぱり分からず、路頭に迷うのです。
●問題解析で多くの時間を取られる本当の理由 ホームページに限らず、あらゆるソフトウェアの原因解析には、莫大な時間を取られます。しかし、不思議なことに、同じ不具合でも「見る人によって、解決に必要な時間がまったく異なる」のです。たとえば、慣れている人(ベテラン)が見れば一瞬で原因を特定できるような簡単な問題でも、慣れていない人(初心者・素人)が見たら1日かけても分からない、ということも珍しくないのです。その理由は「見るべきところ」を知っているかどうか、に違いがあるからです。 自動車を例に考えてみましょう。朝、エンジンがかからなくなった場合、ベテランドライバーならば、真っ先に「バッテリー」を疑います。そして、電圧をチェックしたり、交換したりして、問題をすぐに解決できます。しかし、初心者(エンジンがバッテリーで始動することを知らない人)ならば、バッテリーを疑うことはしません。「ガソリンが入っていない?」とか「オイルがもれている?」とか、あるいは「エンジンが壊れたかも」など、まったく関係の無いところを疑ってしまうのです。その結果、チェックする箇所が多すぎて、どうでもいいところに時間を取られ、いつまでたっても本当の原因であるバッテリーまでたどり着けないのです。 ベテランと素人の差は「どこを見ればいいのか?」という知識です。逆に言えば「見るべきところ」を知っていれば、問題解析はそれほど難しくないのです。ホームページ作成において、たとえば「リンクがつながらない」という問題が起きたとします。そのとき、ベテランのホームページ制作者は「 a href タグを見ればいい」というのがすぐに分かりますので、一瞬で問題を解決します。しかし、ホームページ作成の初心者が「 a href タグの存在」すら知らなければ、問題解決は困難になります。こうして、ベテランは次々と問題を解決する一方、初心者はたった1つの問題にハマって、貴重な時間を失っていくのです。
●初心者が一瞬で問題を解決する方法 では、初心者が一瞬で問題を解決するためには、どうすればいいのでしょうか? 理想は「HTMLをすべて正しく理解すること」ですが、現実には厳しいでしょう。ですから「ある問題解決に必要最小限の知識だけを効率よく吸収すること」が大切なのです。自動車の例でも、自動車の構造すべてを理解する必要などありません。ただ「エンジンはバッテリーで始動するもの&バッテリーは上がりやすい」という知識だけがあればよいのです。ホームページ作成でもまったく同じです。言語のすべてを理解するなんてムリですが、少なくとも「リンクは a href というタグで動いている」という知識だけを知っていれば、リンクに関する問題解析のスピードは格段に速くなります。 書店に行くと「HTML」に関する書籍はたくさん売られています。これらの内容すべてを理解することは大変ですが、ある目的を持って読めば、それに必要な知識だけを効率よく吸収できます。「リンクの問題を解決したい」のであれば、a href タグに関係のある箇所だけを読めばいいのです。このような知識を持っているか、いないか次第で、あなたの問題解析スピードは10倍以上違ってきます。貴重な時間を無駄にしないためにも、必要最小限のノウハウ吸収&スキルアップには、積極的に投資していきましょう。
|