<シリーズ01>CMSカスタマイズ開発のポイントとは?

WEBSASチームスタッフ

WEBSASの若手サポート担当者による連載コラム第二弾

WEBSASを支える若手サポート担当者が、日々お客様のサポートをする中で感じたこと、課題解決のために模索したポイントなどを徒然にお話しします。第二弾は、CMS開発のポイントについて。

2013年07月23日 WEBSASサポート 坂本

こんにちは。WEBSASサポート担当、坂本です。

私は入社してからこれまでCMSを活用したWebサイトの構築・運用に携わってきました。
今回は、私の実体験をもとにCMS開発のポイントについてお話しします。

CMSカスタマイズ開発のほろ苦い経験

CMS(コンテンツマネジメントシステム)は、もはやWebサイト運用において必要不可欠な仕組みであり、サイト運営者のサイト運用業務を効率化することで企業のWebマーケティング戦略を最大化できる仕組みだと考えています。

私はこれまでにOpenCmsやeZ Publishといったオープンソース系のCMSを中心にサイト開発を行ってきました。 開発の大半はWebサイトのフロント画面にあたるテンプレート開発でしたが、時には運営者向けにCMSそのもののカスタマイズを行うこともあります。
過去に私がリーダー兼開発担当者として携わった案件ですが、CMSパッケージが標準機能として持っているワークフロー機能をお客様業務要件にあわせてカスタマイズした事がありました。
その際の「少し苦くて」「とても経験になった」お話です。

CMSはオープンソースや商用など実に多種多様なパッケージが存在します。
管理画面のUIや設計方針などそれぞれ個性がありますが、Webサイトを運営する為に最低限必要な管理機能はどのパッケージも「それなり」に備えています。
「それなりに」というところがちょっとポイントで、機能としては確かに存在するのですが、お客様の細かな業務要件まで柔軟に対応できるかというとそれはケースバイケースといえます。
特に業務要件が難しいのがワークフローで、段階承認や並列承認、代理承認、飛ばし承認、否認した時には誰にもどすべきか、etc...
お客様の環境や要件にあわせた細かな対応が必要になります。

私が担当したワークフロー機能の拡張開発も、既存でCMSを導入されているお客様が対象でした。
お客様からご要望頂いた要件が導入済みのCMSパッケージの標準機能では満たせないため、カスタマイズ開発を行う事になりました。
カスタマイズ開発を行う際には、お客様のIT部門のご担当者様と要件確認をさせていただき、設計・開発・テストを行いました。
が、IT部門様からのご承認を得てステージング環境へリリースを行いいよいよユーザ部門様に対する運用説明を行う際に、事件がおこったのです。
私が緊張しつつご説明を進めようとするさなか、ユーザ部門様から「このワークフローだと、最終的な公開処理の運用がまわらなくなってしまう」という声が・・・

CMSは誰のためのもの?

詳しく伺っていくと、実際運用されている現場でのCMSの使われ方が、私たちやIT部門が想定していた使われ方ではないことがわかり、確かにこのワークフローを導入してしまうと余計な運用負荷が発生してしまう事がわかりました。
私は青ざめながらも、ユーザ部門様からより深いお話をお伺いし、かつIT部門様のご助言も頂きながら、なんとか解決策をみつける事ができました。
開発もそれほど手戻りない形で合意して頂けたので、結果として納期内で作業を完了する事はできました。
そして、この時に「CMSはやはり使ってる現場の方のものなんだな」とつくづく感じたのです。
IT部門様や私たちSIerはCMSの設計や中身の仕組みをよく理解しているつもりなのですが、 初期構築から時間が経つと現場では運用効率を上げるために開発サイドが想定していない違う使われ方がされている事もあるのです。
このケースも、そういった現場と開発サイドとのギャップのあらわれだったと思います。

現場の運用を常にウォッチする事

冒頭で「Webサイト運営にとってCMSは必要不可欠な仕組みです」と書きましたが、それでもやはりCMSは一つのツールでしかなく、一番重要なのはWebサイト運営に関わる現場の方々の運用なのです。 私たち開発者は、最終的には現場の方々に「使いやすいね」「業務が楽になったね」とご評価頂ける事を最大の目的にすべきだと思います。
その為には、よく現場の運用を確認させて頂き、ほんとうにどのように使われているのか?を確認していく事も大切なことですね。

多種多様なCMSパッケージを活用する事で、スクラッチで一からシステムを作るよりも短納期・高品質なシステム構築が可能であることは確かです。
ただし、パッケージの機能や仕組みばかりに気を取られて運用視点を忘れてしまうと、システムが本来担うべき運用効率をあげる、という目的を阻害してしまう危険性もあると感じました。 このケースをもとに、今後もリーダー、上級SEとして精進していきたいと思います。