今あるシステムを再構築する理由とは?情報が少ないシステムを改修するとき

ファンブリューの金井です。

システム開発の仕事をしていると、リプレース案件というのが発生します。

これその名の通り、システムをリプレース、つまり作り直すことを意味しています。

本来であれば、元あるシステムの改修ができるに越したことはありませんが、そうはいかない事情もあります。

今回はどのような場合にシステムの再構築が必要になるのか、会話を通してご紹介します。

登場人物
藤沢真人

藤沢真人、IT業界20年のベテランエンジニアで40歳。

請負開発の会社でプログラマー、システムエンジニア、プロジェクトマネージャーとしての経験を積む。

その後、中小企業のIT支援をするために小さな会社を設立。

現在はITを活用したい会社のためのアドバイザーとして、複数の会社のコンサルティング業務を行なっている。

モットーは「すべての会社にITを」。


大船清

小さなウェブ制作会社に勤める営業マン、52歳。お願い上手のお調子者。

営業歴30年の超ベテランだが、気軽に相談しやすいことから、サイト制作以外の話もよく受けている。

ただ専門的なことはわからないので、いつも真人にお願いして困らせている。

口癖は「仲の良いお客さんだから断れないんだよ。」

目次

システムを作り直す理由とは?

大船さん

お客さんから、あるシステムを見てほしいって相談されたんだけど。

真人

大船さん、こんにちは。
どんなシステムですか?

大船さん

10年前ぐらいに作られた会員サイトなんだ。
PHPを使っているらしい。

真人

10年前ですか…。
そのシステムは誰かが保守していたのでしょうか?

大船さん

いや、特に誰かがメンテをしてたわけではないようだよ。

真人

なるほど、ちなみに今回はどういった理由でのご依頼でしょうか?

大船さん

うーん、何か機能追加をしたいらしいよ。

真人

わかりました。
何にしてもヒアリングと調査が必要そうですね。

情報が少ないシステムは調査から入らなければならない

大船さん

真人くん、頼まれていたものを聞いてきたよ。

真人がお客さんに依頼したもの
  • 要件定義書(システムの概要・機能一覧など)
  • 仕様書
  • サーバー情報
真人

ありがとうございます。
早速見ていきましょうか。

真人

まずは要件定義書ですが…

大船さん

うん、無いそうだ。

真人

要件定義書は無しですね。
では代わりにお願いしていたシステムの概要はわかりましたか?

大船さん

機能一覧表などは特になかったみたいだね。
概要としては美容機器を購入したお客さん向けの会員サイトとのことだったよ。

真人

ありがとうございます。
要件定義書が無いなら、おそらく仕様書も無いですよね?

大船さん

そうだね。
仕様書という言葉もあまりピンときてないようだったよ。

真人

となると、サーバー内部からの調査ですね…。
実際に入ってみて把握していくしかない。

大船さん

ちなみにサーバー情報も知らないとのことだったよ。

真人

それは困りましたね。
せめて、どこのサーバーを使っているかわかりませんか?

大船さん

サーバー情報も把握してないから、おそらくわからないんじゃないかな。

真人

その会社で借りているレンタルサーバーとかはありませんか?

大船さん

ああ、会社ホームページと同じ場所にある可能性もあるよね。
聞いてみよう。

システムの情報が少なすぎると…

エンジニアが他社のシステムを調査するとき、開発した当時の資料があると調査が早く進みます。

複雑すぎるシステムやログイン情報が失われていると、そもそも、調査が進まず追加の開発ができないこともあります

既存のシステムを諦める判断をするとき

真人

やはり、会社のホームページと同じところにありましたね。

大船さん

利用しているのはロリポップのようだね。

真人

保守をせずにここまで来れたのはレンタルサーバーのおかげのようですね。

大船さん

うん?
そうか、ウェブ制作ではサーバー自体の運用はサーバー事業者がやってくれいているからね。

サーバー自体の運用について

ロリポップなどのレンタルサーバーは専門のエンジニアの手によって、安定稼働するようにメンテナンスがされているので、通常、サーバーの運用を意識することはありません

システムを稼働させるためにVPSなどの専用サーバーを使うなら、サーバーを安定稼働させるための仕組みも開発者が設計する必要があるのです。

真人

ですね。
とはいえ、独自のシステムを作ったなら保守は必要です。

真人

さて、ここからはこのシステムの機能の洗い出しですね。

大船さん

よろしく頼むよ!


真人

大船さん、すみません…。
このシステムは作り直しを検討すべきかもしれません。

大船さん

えっ、どうしてだい?

真人

機能追加はできそうですが、その前段階の調査にかなりの工数が取られそうです

大船さん

そうか…。
調査の時間を考えると、新しく作り直した方が早いということだね?

真人

ええ、理由はいくつかあります。
整理したので見ていただけますでしょうか。

真人が考える作り直した方が良い理由
  • 仕様把握のための手がかりが少なく、調査に時間がかかる
  • 開発が完了しても、リリース後に見落としがないか不安が残る
  • 現在システムに使われているPHPのバージョンが古い
大船さん

手がかりが少ない、か…。
これはどうしようもないよね。

真人

ええ、地道にファイルを見ていって、コードを解析するのみです。
それと、いくつか使われてないように見える機能もありますね。

大船さん

使われてなさそうな機能か…。
実際の利用状況は、お客さんに聞いてみないとわからないな。
あとでどういう機能か教えてくれるかい?

真人

はい、後ほど資料に起こしますね。

大船さん

リリース後に見落としがないか、というのはどういうことかな?

真人

機能追加はできても、その結果、他の機能が壊れることもあります
これをデグレと言うのですが、その可能性が高くなります。
調査の段階で難航しているので、見落としがないとは言い切れません。

大船さん

うーん、開発側がその責任を持たなければならないということだね。

真人

はい、完全に把握するには時間がかかりますから。
この状態で保守を受け持っても、不具合が出たらすぐには対応できません

大船さん

そうか…。
最後のPHPのバージョンが古いというのは?

真人

現在はPHPのバージョン5が使われています。
既にサポートが切れており、セキュリティ面で不安があります。

大船さん

バージョンを上げるわけにはいかないのかい?

真人

もちろん、可能です。
ですが、PHPの文法自体も進化しているので、現状のコードを新しいバージョンの書き方に修正しなければなりません。

大船さん

うーん、機能を追加するだけでなく、既存のコードの修正も入るということだね?

真人

おっしゃる通りです。

大船さん

それで総合的に考えると、作り直した方が早いと。

真人

ええ、予算の問題はあるかもしれませんが、無理して改修してもかけた費用に見合わないかもしれませんね。

大船さん

わかった。
一度打診してみよう。

システムの改修は総合的な開発コストで考える

一般的には既存のシステムを改修した方が費用は安く抑えられます

しかし、運用面で不安があると、その後の追加改修や不具合修正に大きく時間を取られることになります。

そうなると、将来的にかかるコストは増えていくため、初めから作り直した方がよかったということになりかねません。

開発会社が改修を承諾したとしても、その後の保守に問題がないか、念のために確認した方がよいでしょう。

システムの作り直しはきれいにするチャンスでもある

大船さん

あのあと、お客さんに新規構築の提案をしたよ。

真人

いかがでしたか?

大船さん

今回は予算の関係で見送るそうだ。

真人

そうですか…残念でしたね。

大船さん

まあ、いずれ機能追加したいとは言っていたから、その時には改めて相談するよ。

真人

ええ、わかりました。

大船さん

ところで、今回のように新規構築するにあたって、やはりネガティブなイメージが強い気がするんだ。

真人

そうですよね…。
作り直すコストは一部を改修するよりも費用が高くなりますから。

大船さん

そうなんだよね。
今回は伝え方にマイナスの面が強かった気がするんだ。
お客さんにもっとメリットを感じてもえらることはない?

真人

最終的なコストが抑えられるのは先日お話しした通りですが、他にはクリーンに作れることでしょうか。

大船さん

クリーンに作れるというのは?

真人

システムは3回作り直すと洗練されたシステムになると言われますが、
それぐらい1回目の開発は難しく、失敗しやすいということです。

真人

ただ一般的には、同じシステムを3回も作ることはありません。
それだけ費用がかかるので、システムに大きな予算を割ける企業にしかできないでしょう。

大船さん

それならメリットとして話すのは難しいね。

真人

ですが、3回は難しくても2回目ならあり得るでしょう。

真人

長く運用していると、運用側にもシステムの知見が増えていきます
開発初期では想像できなかった本当に必要な機能が見えてくるのです。

真人

今回は担当者がおらず、開発業者も変わっているので難しいですが、リセットしてやり直すには良い機会かもしれませんね。

大船さん

知見はこれからためていかないといけない、ということだよね?
なかなか気の遠い話だ…。

真人

そうなりますね。

大船さん

システム開発は一朝一夕にはいかないということだな。

真人

ええ、システムも会社やビジネスに合わせて成長していきます。

大船さん

ありがとう、勉強になったよ。
また相談させてもらうよ。

気軽に相談できるシステム開発なら

ファンブリューでは神奈川県藤沢市を拠点に、全国各地のシステム開発を請け負っております。

システム担当者の方で、

現在こんなお悩みはありませんか?

開発会社にお願いをしているけれど、なんだか反応が良くない…

気軽に相談できない

開発後もしっかりサポートしてほしい

ファンブリューでは血の通ったシステム開発を行っています。

お客様との将来的な関係を見据えて、お仕事をお受けしています。

信頼関係を大切にした開発にご興味がある方は、今すぐ下のボタンからお問い合わせください。

確認次第、折り返しメールでご連絡を差し上げます。

金井 泰樹のアバター 金井 泰樹 FUNBREW代表

FUNBREWの代表。
新卒からIT系の企業に勤め、SES、スマホアプリ開発、自社開発の会社で経験を積んで独立。
新卒時代にエンジニアとしてのキャリアを積むのに失敗し、その後に苦労した経験から、現在教育事業の立ち上げを準備中。
強みはウェブシステム開発全般と迅速なレスポンスです。

目次