2019.09.15
CMSかフルスクラッチ開発か? 実際の開発現場から見たそれぞれの特徴
Web制作を発注・提案する際に、開発手法で迷ったことありませんか?
例えば、コンテンツ制作であればWordPressやMovableType。
ショッピングサイトであればEC-CUBEなど様々なCMSが現在はありますよね。
一から開発を行うフルスクラッチ開発などもあります。
大きくCMSとフルスクラッチ開発を行った場合の比較とともに、どういった時に向いているのか説明できればと思います!
WordPressやMovableType、EC-CUBEなどのCMS開発
なんといってもCMSを使うことで開発期間の短縮、コスト削減がまず真っ先に思い浮かびますよね。
メリット・デメリットに分けて解説していきます。
メリット
- 開発期間の短縮
- コスト削減
- 統一された管理画面
- 運用する上で、WEB上に豊富なドキュメント
- 開発会社が切り替わった場合の引き継ぎのし易さ
- ある程度担保されたセキュリティ
- 運用コストも低くなる傾向
- 用途にあったプラグインがあれば、ローコストで実装できる
デメリット
- 管理画面のカスタマイズ、UI/UXなどの変更が難しい
- プラグインなどを利用する際の制限、かゆいところに手がとどかないなど
- セキュリティリスクになる場合がある。メリットに書いたのに・・・なのですが、人気故にセキュリティホールを発見されやすい
- アップデートなどで、不具合が起きる可能性がある
- 複雑な要件への対応が難しい場合がある
- パフォーマンス調整に限界がある
※CMSによっては、ある程度表示速度などの調整はできるが、それでも限界がある
だいたいこのような感じでしょうか。
私がすすめる際は、管理画面にこだわりがなく、使い勝手まで気にされない場合はCMSをオススメします。
また、フロントエンドでの表示優先の案件などは適していると思います。(フロントエンドの表示は比較的自由ですので)
例えば、企業側が登録を行い、ユーザーは閲覧するだけ・・・・などのコンテンツ。
受注側はCMS利用時の注意点などを適切に発注側に伝える必要があります。
例えば、管理画面の使い方、アップデート時の注意点、カスタマイズがどこまでできるか・・・など。
あれできないの?これできないの?という点で相違が発生すると思わぬトラブルになりかねません。
発注側はCMSの適切な使い所、使い方を理解していれば、フルスクラッチで開発せず、CMSを利用してコストダウンすることも可能ですね。
(システムに強い会社にお願いすると、フルスクラッチでの提案になりやすい)
フルスクラッチ開発
フルスクラッチ開発ともなると、CMS利用時の10倍近くまで単価が跳ね上がるかもしれません。
比較的、それはCMSで済むんじゃないの?という案件もしばしば見かけます。
その逆もありで、CMSで扱うには肥大化しすぎて、なぜフルスクラッチでやらないの・・・ということもありますが(笑
フレームワークなども浸透してきており、かなり昔の開発に比べるとコストダウンは進んできているかもしれません。
※昔はシステム会社ごとに独自のフレームワークがあり、引き継ぐのに苦労したり・・・。
それでは、メリット・デメリットで見ていきましょう。
メリット
- 複雑な要件に対応が可能
- お客様の使い勝手に応じた管理画面の設計
- 高度なセキュリティへの対応が可能(要件内であれば)
- セキュリティホールなどがCMSに比べると発見されにくい
- プラグイン、CMS本体の制約も少ないので、拡張性に優れている。
デメリット
- 開発費が膨大になる
- 開発期間が長くなる
- 開発に発注側も時間が必要になる
- 開発会社との意思疎通がうまくいかないと、とんでもなものができてしまう
- 思わぬセキュリティリスクなどの発生が起こり得る(セキュリティ要件と、発注する会社により・・・・)
- 管理コストが高くなる
- アップデートを行う際にも高額になりがち
と、デメリット多めに見えてしまいますが・・・。
フルスクラッチの特徴は、なんといっても独自のシステムが作れて、自由に設計ができる点ではないでしょうか。
複雑な要件にも対応ができるので、難しいアイディアにも柔軟に対応ができます。(CMSだと、そもそも対応できるか・・・・ということになる)
なので、予算があり、独自のシステムを構築したい場合にオススメです。
発注側の思い描いているビジョンが大きめな場合にはフルスクラッチでの開発が安全です。
最後に
いかがでしたでしょうか。
とくに発注側がCMSとフルスクラッチの特徴をおさえておくと良いかと思います。
あと1点、発注側にプロのWebエンジニアでもいない限り、かならず毎月の管理費用を払って制作側に保守してもらうべきだと思っています。
問題がおきてから見積もりで・・・というケースに出会いますが、絶対に必要なことだと思います。
ですので、どちらの方法でも保守管理が必要になります。