## プロジェクト概要
お弁当屋向け受注・管理システムの開発と運用を通じて請求・受注業務の効率化を実現し、継続的なシステム改善を推進しました。
## 役割・体制
### 自身のポジションと役割
- 新人エンジニアとしてフロントエンド(Vue.js, JavaScript, TypeScript)およびバックエンド(PHP, Laravel, MySQL)の設計・要件定義からコーディング、テスト、運用・保守まで幅広く担当しました。
- プロジェクトマネージャー兼プロダクトマネージャーとして要望調査や優先順位決定、プロジェクトマネジメント業務を遂行し、品質確保のため自動テスト設計と実装、保守も担当しました。
### チーム規模と構成
- エンジニア3名の少人数チームで、全員が開発の全領域を担当し、スクラムを用いたアジャイル開発チームとして連携しました。
## 背景・課題
- お弁当屋の受注および請求業務の効率化を目的に、自社プロダクトとして受注管理システムを開発し、顧客ニーズに応じた継続的なアップデートが求められました。
- 多様な顧客と営業メンバー双方からの要望が入り混じり、優先度の調整や正確な要望把握が困難で、開発した機能とユーザーの期待にギャップが生じやすい課題がありました。
- 『顧客要望の変動が激しく、短納期での仕様変更が頻発し、開発チームの負荷が高まる中、品質維持と納期遵守の両立が必要でした。』
## 実際の取り組み
### 開発環境
- フロントエンドはVue.js、JavaScript、TypeScriptを用い、バックエンドはPHPのLaravelフレームワーク、データベースはMySQLを採用し、Dockerによるコンテナ環境で開発・運用しました。
- 開発手法はスクラムを軸としたアジャイル開発で、短期間のスプリントを繰り返しながら設計、実装、テスト、保守を継続的に実施しました。
### 設計・改善内容
- 詳細設計に注力し、将来の運用や仕様変更による影響を最小限に抑えるため、柔軟性と拡張性を重視したアーキテクチャ設計を行いました。
- 自動テストの設計・実装に時間をかけ、仕様通りの動作や請求金額の正確性、入出力の整合性を細かく検証し、品質向上に努めました。
- 顧客や営業メンバーからの多様な要望を把握する際、「何が欲しいのか」「何を解決したいのか」という目的を明確化し、ミーティングの録音や直接現場訪問によって認識のズレを徹底的に防止しました。
- 『定期的なレビューとフィードバック体制を構築し、開発中の機能や仕様についてステークホルダーとの認識を逐次すり合わせました。』
### その他アピールポイント
- 顧客の手に渡る前に約200件の仕様変更を洗い出し、短納期の厳しいスケジュールの中で手戻りを防ぐための事前対応と構造変更を実施しました。
## 成果・価値
- 手戻りを早期に発見し迅速に対策を講じることで、品質の高いシステムを短納期で安定的にリリースし、顧客の請求・受注業務の効率化に大きく貢献しました。
- 顧客の多様な要望を的確に反映したシステムアップデートにより、ユーザー満足度の向上と運用負荷の軽減を実現しました。
- 『アジャイル開発と綿密なコミュニケーションを通じて、チーム全体の開発生産性と品質意識の向上にも寄与しました。』