# 港湾分野における情報処理システム開発
## 【概要】
港湾施設情報を電子化し、地図上で確認可能なアプリケーションを開発。開発リーダーとして、要件定義から運用まで幅広いプロセスに従事。データの統合管理による業務効率化と、チームの技術力向上を実現。
**役割:** 開発リーダー
**開発人数:** 14人(フロントエンド7名、バックエンド3名、地図データ投入3名、)
**チーム構成:** プロジェクトマネージャー1名、開発リーダー1名(自身)、各開発担当者12名
## 【業務内容】
プロジェクト全体の成功に向け、要件定義からリリース・運用までの各フェーズを担当。開発リーダーとして、技術選定やアーキテクチャ設計を主導し、ソースコード管理の効率化を図りました。また、週次での技術共有会を企画・運営し、メンバー指導やチームの技術力向上に貢献。チームの生産性と品質向上を目的に、以下の課題解決策を実施しました。
### チームマネジメント実績
- CI/CDの導入
- テキストエディタcursorの導入
- コードレビュー基準の確立と運用
- 若手エンジニアの育成・指導
### 課題・工夫した点・成果
#### 課題: データの利活用と検索性向上
- **背景:** 従来のシステムでは、港湾施設データの検索に時間がかかり、業務効率が低下していました。
- **思考プロセス:**
1. ユーザーへのヒアリングで、よく使用される検索パターンを分析
2. 全文検索エンジンの比較検討(Elasticsearch vs PostgreSQL標準機能)
3. コスト面を考慮し、PostgreSQLの全文検索機能を採用決定
- **工夫:** 検索機能の開発において、利用者が港湾情報を迅速に検索・活用できるよう、データ分類とフィルタリングアルゴリズムを実装。
- **成果:** 利用者の検索時間が約30%短縮され、港湾施設データの有効活用が促進されました。
#### 課題: データ可視化の精度向上
- **背景:** 数値データのみでは、施設の状態把握が困難でした。
- **思考プロセス:**
1. 複数の可視化ライブラリを比較検討
2. プロトタイプを作成してユーザーフィードバックを収集
3. Chart.jsの採用を決定
- **工夫:** ダッシュボード機能を開発し、データをグラフ表示させることで視覚的に把握しやすいインターフェースを構築。
- **成果:** 利用者のデータ理解が促進され、意思決定速度が向上。利用者からも好評を得ました。
#### 課題: 港湾施設データの効率的連携
- **背景:** 複数システムに分散していた情報を統合する必要がありました。
- **思考プロセス:**
1. 既存システムの分析
2. プロトタイプを作成してユーザーフィードバックを収集
3. 段階的な統合計画の立案
- **工夫:** ハザードマップや地盤情報とのデータ連携を行うことで、港湾施設に関する情報の統合管理を実現。
- **成果:** 港湾保全の判断が迅速化され、整備効率が15%向上しました。
#### チーム効率改善
- **背景:** コード品質にばらつきがあり、レビューに時間がかかっていました。
- **思考プロセス:**
1. チーム内での課題調査を実施
2. 各種ツールの評価と選定
3. 段階的な導入計画の策定
- **テキストエディタの最適化:** チームの作業効率向上を目指し、linterやSpellCheckerなどの拡張機能を導入。
- **成果:** コード品質が向上し、レビュー時間が約20%削減されました。
- **知財化:** 勉強会や資料を整備し、新規メンバーが短期間でプロジェクトにキャッチアップできる環境を構築。
- **成果:** 新規メンバーの立ち上がり時間が約40%短縮され、チーム全体の開発速度も向上しました。
## 【担当工程】
- 要件定義、基本設計、詳細設計、実装、単体テスト、結合テスト、総合テスト、リリース、運用
## 【開発環境】
### ・言語
- **フロントエンド:** HTML, CSS(Bootstrap), JavaScript(Dojo, jQuery, ArcGIS, Chart.js)
- **バックエンド:** Python(flask, SQLAlchemy)
- **データベース:** PostgreSQL
### ・OS
- Windows
### ・デプロイ環境
- IIS
### ・使用ツール
- Visual Studio Code
- Jenkins(CI/CD)