## プロジェクト概要
社内の戦略計画を支援するためのWebアプリケーションを設計・開発し、業務システムの改修と移行を推進しました。
## 役割・体制
### 自身のポジションと役割
- プロジェクトのプログラマとして、設計から実装、テストまでの全工程を担当し、同時にレビューも行うことで、コード品質と仕様遵守を確保しました。
- リーダー的役割を担い、プログラマリーダーと連携しながら、API設計・実装、必要に応じてデータベース設計にも従事し、設計ドキュメントの作成とチーム内の進捗管理を担当しました。
- フロントエンド(TypeScript Vue.js)とバックエンド(C#)の両方を担当し、システム全体の設計と実装を推進しました。
### チーム規模と構成
- プロジェクトチームは、プロジェクトリーダー1名、プログラマリーダー1名、その他プログラマ2〜3名の構成であり、私はプログラマとして設計・実装・レビューを実施しました。
## 背景・課題
- 社内の業務効率化と将来の戦略策定を支援するため、既存業務システムの改修とWebアプリケーションへの移行を目的としました。
- 既存システムの複雑性や老朽化により、運用時に不具合やデータ整合性の問題が発生していたため、これらの課題を解決し、システムの安定性と信頼性を向上させる必要がありました。
- 最大の課題は、想定と実運用に差異が生じた際の不具合対応と、お金や人員に関するデータの整合性の確認であり、運用部署へのヒアリングや検査拡充を通じて、これらの課題に対応しました。
- さらに、想定外の使用パターンや運用方法の違いにより発生する不具合への対応や、データの整合性維持に関する制度設計も主要な課題でした。
- この課題により、システムの安定性と業務の信頼性向上が求められ、継続的な改善活動が必要とされました。
## 実際の取り組み
### 開発環境
- 設計・実装には、TypeScript Vue.jsを用いたフロントエンドと、C#を用いたバックエンドを採用し、Oracleデータベースと連携させてシステム全体の堅牢性と拡張性を確保しました。
- 既存業務システムの改修に伴い、既存のOracle DBとの整合性を保ちながら、新規のAPIを設計・実装し、システムの連携を実現しました。
- テスト工程では、単体・結合・総合テストを徹底し、不具合の早期発見と修正を行い、リリース後の安定稼働を支援しました。
### 設計・改善内容
- 不具合対応のために、運用部署からのヒアリングを重ね、既存システムの運用実態を正確に把握し、運用上の課題や改善点を洗い出すことに注力しました。
- それに基づき、システムの設計を改善し、運用時の想定外のケースに対応できる制御を行いました。
- データ整合性を確保するために、Oracleのトリガーや定期検査の仕組みを追加し、システム間のデータ一貫性を維持する仕組みを強化しました。
### その他アピールポイント
- 実装段階では、仕様の曖昧さを避けるため、詳細な設計書とコードレビューを徹底し、品質と保守性を高めました。また、仕様理解の甘い他メンバーへのサポートなども行っていました。
- 問題発生時には、原因究明と対策を迅速に行い、不具合の再発防止策を講じて、システム安定性を向上させました。
## 成果・価値
- 不具合の早期発見と対応により、運用中のシステム安定性を向上させ、顧客満足度の向上に寄与しました。
- システムの信頼性向上とデータ整合性の確保により、運用コストの削減と業務効率化を実現しました。
- プロジェクトにおいて、私が参加してから複数の不具合を発見・対応しており、社内の品質向上に貢献したとともに、派遣先企業様からは引き抜きの話も出ていることから、高い評価を得ていると推測されます。
- システムの安定稼働と改善活動の継続により、今後の業務拡大やシステム拡張に柔軟に対応できる基盤を築きました。