株式会社スマレジの開発部でスマレジのサーバサイドを作っています

エンジニアとビジネス(2)

こんにちは!株式会社スマレジ、エンジニアのmasaです!

今週も暑かったですねー!大阪本社はお盆休み前ということで、出勤の調整をしたり、旅行の準備で盛り上がっていました。

今回も前回に続いて、最近仕事をしていて感じた超上流のお話をしてみようかなと思います。

今回はスマレジの仕様を決める際に、重要になってくる3つのポイントのうち、既存機能についてお話ししたいと思います。

既存機能

これは、パッケージの追加回収案件などでも指摘されることです。要はいかに既存の機能と矛盾のない機能にするか、という点です。

スマレジは多機能であるがゆえにこの問題が非常に大きくなってきます。1例として、以下のような例を挙げてみます。

改修例:商品詳細に項目を追加する

商品詳細に項目を追加する場合、現状では最低でも以下の改修が必要になります。

  • 商品追加画面
  • 商品更新画面
  • 商品CSVアップロード
  • 商品CSVダウンロード
  • 商品更新API
  • 商品参照API
  • 商品送信API

内部的にはロジックを共有していたり、実装しない部分もあるので、この7つ全部に対応するわけではないですが、1つのカラムを追加するだけでも、結構な影響範囲があることがわかると思います。

また、たいていの場合、項目を追加する場合はほかの画面で参照したり、更新することもありますので、実際の影響範囲はこれ以上になります。

一つ一つについては、既存のソースを見ながら作成できるので、難しい実装はは少ないですが、プロダクトの規模が大きいだけに、論理的な矛盾(仕様レベルでの不備)とは日々戦いになる部分もあります。

これらの作業を通してあらためてMECE(モレなく、ダブりなく)を難しさを感じます。

次回は、お客様の規模の差(スケールさの問題)のお話をします。