SaikaColorTechBlog

渋谷のITベンチャー企業から中小企業に転職したエンジニアの話

既存の業務システムのヒアリング

こちらの記事でも書きましたが、紙による情報共有が現役バリバリの弊社。

そんな弊社にも外注して作った業務システムがあると聞き、早速外注先とコンタクトを取り、概要を教えていただきました。

システムとしてカバーしている業務は以下の通り。

  • 受注管理
  • 売掛管理
  • 買掛管理
  • 生産計画
  • 製造管理
  • 在庫管理
  • 発注管理
  • 原価管理

でかいな・・・。

そしてこれ全部フルスクラッチで作る必要に本当にあったんだろうかと色々思うところはありますがそこは一旦置いておきます。

開発はDelphiを使い、サーバは弊社内にオンプレミスで設置しているとのこと。

サーバは事務所内の隅のデスクにポンと置いてあり、特にロックとかもしていない状態。無停電装置つけて、1日1回HDDをまるっとバックアップしているのですが、なんかそれ以前に色々やるべきことがありそうな・・。

もともと2人で開発をしていたがメインで動いていた1人が突然辞め残りは1人で開発、弊社側にはシステム担当などは当時おらず、ヒアリング等も全て外注先の方が1人でやり、最終的に納期は2年弱ほど遅れたとのこと。

聞くだけでしんどー。お疲れ様です。

仕様書とか何かドキュメントが欲しかったのですが、そういうものは一切なく、仕様を知りたければ実装を見るしかないという感じです。

データベースでテーブルやらカラムやら一通り見るとなんとなく雰囲気つかめるかなと思い、社内のサーバでテーブル一覧を見て見るとT_SAF_01, T_SAF_02・・・と120近い連番のテーブル達、T_SAF_02, T_SAF_02Bとかもあるし全く中身がわかりません。

先方のエンジニアに聞いて見ても当然わからず対応表的なものを見て作業しているとのこと。そんなテーブル名誰得なんだ・・・。

テーブルもわからず仕様もコードみないとわからずだと何もわからないので、テーブル名の対応表を作っていただくのと、ソースコードを送っていただくことにしました。

ソースコードを渡すことはちょっと渋られましたが、仕様書がなく仕様は実装という以上見せてもらわないとどうしようもないとゴネて送っていただくことに。

外注した際契約書に特に明記がない場合、ソースコード著作権は受託者に帰属するとの判例も出ており、確認してないですが契約書に多分そんな項目も入れていないだろうから、ゴネられたら面倒だなーと思いましたが、なんだかんだだしてもらえてよかったです。

Delphiは触ったことがないのでどんなもんなんだろうと思っていたらMacだと開発環境そもそも作れない。仮想環境でWindows立ち上げてやればそこで動かせますが、雰囲気つかむのにそこまでしたくないので、ソースコードだけ見れればいいやと割り切り。

送っていただいたソースを見ると一つのディレクトリに500個近い連番ファイル名が。

まじかよ・・・。これ誰がメンテできるんだ・・・。

ほとんどのファイルが*.pasと*.dfmで構成されていて調べて見ると*.pasがPascalで書かれたソースコードで、*.dfmがそれのバイナリファイルらしい。

Pascalのファイルだけでも対応表が欲しいけれどそもそもそういう対応表がなさそうな雰囲気なのでちょっと気が引けます。

ソースコードの中をチラ見して見ると画面ごとにソースコードが分かれていてそれぞれのファイル内にViewっぽいことやSQLなんかも色々書いてある。ふむー。

正直今すぐこれをどうこうする気は全くおきないですが、とりあえず現状がしれたということで一歩前進。