パッケージシステム開発のメリット・デメリット、必要なスキル
こんにちは、ぱやぱやです(@paya02_ictdev)
パッケージシステムの開発に携わっている経験から、メリット・デメリット等を紹介します。
BtoBのSIer向けの記事になります。
パッケージシステムとは
特定の業務で汎用的に利用することができる既製のソフトウェアのことです。
勤怠システム・給与システム・在庫管理システムなどをイメージするとわかりやすいと思います。
メリット
1つのジャンルの知識を深めやすいメリットがあります。
システムを作っている言語だったり、そのシステムを動かすサーバ構築の知識だったりです。
同じシステムをカスタマイズしたりバグ修正を行ったりするので、そのパッケージシステムそのものにも詳しくなります。
そうすると開発スピードが早くなります。
開発スピードが早くなると少ない時間・人員でこなせるようになり、他の作業に時間を充てることも出来ます。
また、特定分野のパッケージシステムを作っていると、その業界の知識に精通してきます。
技術的なこととは直接関係ない知識ですが、良いシステムを作るのに業界の知識は実は必要なのです。
会社全体で考えたら、ビジネスを横に広げていきやすくなりますしね!
客側にもメリットがあります。
パッケージシステムは、受注から納品までの期間が短いメリットがあります。
0から作るわけではありませんので、ベースがある分開発が早く、少ない時間で納品することが出来るのです。
(先程「既製」と書きましたが、BtoBであれば受注が決まったら売って終わりということはありません)
その分コストも安くなります。
パッケージは同じシステム開発会社に売ることが出来るのもメリットになると思います。
同じシステムで同じ名前なのに、違う会社が販売してるのを見たことありませんか?
あれは開発元から版権を買って販売しているのです
(開発から未タッチで買うパターンと、お金を出したり人員を投入して共同開発というパターンもあります。)
デメリット
同じシステムをずっと触りますので、これが逆に開発者にとってデメリットになります。
もう組みあがったシステムを何度も触るので、技術に対する成長が少なくなってしまいます。
成長しないことは無いんですが、やはり新規で0から立ち上げるより学びの機会は少ないです。
修正を行う際も、同じような修正であれば仕組みを追わずとも直す箇所がわかるので慢心してしまいます。
同じロジックで同じ修正箇所でいけると思いきや、入ってくるデータの違いでバグを引き起こすこともあるのです。
この失敗は、入社して仕事に慣れてきた頃に私も結構やらかしてます。
お客側にもデメリットがあります。
それは、汎用的なため、自分の仕事にピッタリ合うとは限らないことです。
オーダーメイドではなく、あくまで汎用的に作られているからですね。
時にはシステムに合わせて運用の方を変えなければならない時もあります。
余程大きく変わるようであれば、後で問題にならないよう契約の前に「うちのシステムはこうなので、この部分はこう変わってしまいます」と話しておいた方が良いと思います。
求められるスキル
言語やフレームワーク等の技術的な知識も勿論必要です。
ですがそれよりも出来上がったものをいじる訳なので、パッケージシステムの構造の理解や作業効率を考えること重要になります。
といったスキルです。
汎用性をあまりに持たせすぎると設計・製造で苦労するので注意が必要ですね。
業務の理解も必要です。
業務を理解していれば、システムで余計な機能を付ける必要がなくなります。
客側と販売側でアンジャッシュのようなすれ違いというのは実際に起こるものです笑
しっかりすり合わせたつもりでも、客側はシステムの・販売側は業務の知識が少ないことでどうしてもズレが発生します。
このあたりは、『顧客が本当に必要だったもの』で検索してみると面白いです笑
おわりに
0からの新規開発でもパッケージ開発でも、どちらもシステム開発ですが違いがあります。
どちらもそれぞれメリットデメリットがあるので、可能であれば両方体験してみるといいでしょう。
システム会社への就職を考えている方の助けになれば嬉しいです。