日本の鉄道は素晴らしい。なぜ予約がこんなに難しいのか?
Japan's trains are great. Why is booking one so hard? (vinibrasil.com)
要約
日本の鉄道システムは優れているにもかかわらず、オンラインでのチケット予約は複雑で困難な体験であることが指摘されています。この記事では、ソフトウェアエンジニアの視点から、JR各社の分断された予約システム、分かりにくい料金体系、そしてConwayの法則(組織構造がソフトウェア設計に影響を与える)が、ユーザーフレンドリーでないインターフェースの原因となっている可能性を探ります。
全文翻訳
日本の鉄道は素晴らしい。なぜ予約がこんなに難しいのか?
休暇中のソフトウェアエンジニアは何をするべきか?もちろん、異なる文化がどのようにソフトウェアを使用し、設計しているかを観察することだ!
南米から来た私にとって、アジアへの訪問は別世界に足を踏み入れるようなものだ。日本で初めて電車に乗った時のことを覚えている。飛行機を降りて数分後には、人々を観察することが私の最初の観光活動になった。
興味深いことに、日本のソフトウェアも別世界に足を踏み入れたような感覚を与える。yahoo.co.jp を開けば、90年代にタイムスリップしたような気分になる。あるいはrakuten.co.jp を見れば、圧倒的な情報量の商品オファーにさらされることになる。あるいはオンラインで電車の予約を試してみてほしい…
[画像: Yahoo Japanのホームページ。3列にぎっしりと詰め込まれたニュースの見出し、サービスリンク、天気、広告が表示されている。]
FIG. Yahoo! Japan はまるでタイムトラベルのようだ。
日本の鉄道は確かに工学的な驚異だが、オンラインでのチケット予約は同じような体験とは言えない。私は、SuicaのようなICカードと特急券に加えて、「乗車時には、基本運賃券またはSuicaのようなICカードが必要です」といった、記入しなければならない様々なフィールドやチェックボックスについて理解するためにChatGPTを使ったことを覚えている。電車のチケットをオンラインで購入していると思っていたのに、なぜ別の運賃が必要なのだろうか?
ましてや、日本のJR鉄道ネットワークは6つの地域旅客会社(JR北海道、JR東日本、JR西日本、JR東海、JR四国、JR九州)に分かれている。それぞれ異なる予約プラットフォームを持ち、カバレッジが重複し、ルールも異なる。そして、どのプラットフォームを使うべきか判断しなければならないのは誰か?ユーザーだ。
[画像: JR西日本の列車予約ページ。割引パス、通常チケット、列車または駅を選択して予約するオプションが分かれている。]
FIG. JR西日本はチケット予約を複数の経路とチケットタイプに分けている。
私が最もフラストレーションを感じた経験は、オンラインでチケットを予約したのに、確認後に「駅でチケットを受け取るには、物理的なクレジットカードが必要です」というメッセージが表示されたことだ。もちろん、私はバーチャルクレジットカードを使っていた。そのため、予約をキャンセルし、1人あたり560円の手数料を支払い、物理的なクレジットカードで再予約しなければならなかった。
では、日本のユーザーインターフェースは単に悪いのだろうか?そうは言わない。これらの違いの一部は、文化的な好みによって説明できるかもしれない。斬新さよりも馴染み、間違いの回避、確実性への好み、細部への注意、そして変化への抵抗だ。90年代のYahooのような見た目に何が悪いのか?「壊れていなければ、直す必要はない」ということだ。
しかし、もう一つ気づいたことがある。企業の内部組織が、その企業が構築するソフトウェアの形を決定する傾向があるということだ。これはConwayの法則として知られている。通常、これはソフトウェアアーキテクチャの文脈で議論され、システムはそれを構築するチームのコミュニケーション構造を反映する傾向がある。しかし、この効果はバックエンドにとどまらないようだ。
私の電車の予約体験に戻ると、私はA地点からB地点へのチケットを求めていたのに、システムはどの鉄道会社がその路線を運行しているかを私に尋ねていた。これは、組織構造がユーザーエクスペリエンスに漏れ出ている明確な例だ。
組織構造がソフトウェアアーキテクチャに影響を与える理由は理解できる。結局のところ、ソフトウェアは人によって構築され、アーキテクチャの決定は、テクノロジーに関するものと同じくらいコミュニケーションに関するものだ。
しかし、ユーザーはソフトウェアを使用するために、会社の組織がどのように構成されているかを理解する必要があるのだろうか?
私はそうは思わない。