飲食店向け店舗運営システムの機能開発
案件概要
飲食店向けの POS レジ・店舗運営システムの機能開発。会計・売上管理から複数店舗管理まで、店舗運営を支える機能を提供するプロダクトで、コロナ禍でビジネス側の要求が頻繁に変わる中、その変化に追従して継続的に機能を追加した。
レガシーな環境で、少し手を加えるとすぐにバグが出る状態。事業部からは新機能の追加が求められる一方、バグは出せないという厳しい状況下で業務委託として開発していた。すべての仕様を把握しているメンバーが社内におらず、カスタマーサクセスから問い合わせがある度にソースコードを読んで回答する運用が続いていた。
業務内容
- テーブル設計・クラス設計から実装、単体・結合テストまで機能開発を一貫して担当(外部 API 連携、店舗一括登録対応など)
- 部分的な機能の進捗管理を担当
- リファクタリング専用の工数が認められない文化だったため、新規機能の工数の範囲内で既存コードもリファクタリング
- カスタマーサクセスからの問い合わせ時はリバースエンジニアリングでドキュメント化し、開発者全員に共有
成果
- レガシーコードに新規機能を重ねながらコード品質を底上げし、保守しやすい状態へ改善
- ドキュメント整備により、問い合わせのたびにソースコードを読む運用を解消
- 業界未経験から 2 年間契約を更新し、最後は業務委託のリーダーに就任
使用技術
- フロントエンド: JavaScript / jQuery / HTML / CSS / Bootstrap
- バックエンド: PHP / CodeIgniter
- データベース: Aurora(PostgreSQL)
- クラウド: AWS(EC2 / ECS / RDS / S3 / EFS / CodeCommit / CodeBuild / CodeDeploy)
- 開発環境: Vagrant / Docker