# 【プロジェクト内容】
某サービス企業の基幹システムとして、その企業が提供するサービスのアカウント等を管理するWebアプリの開発と保守・改善を担当した。
開発は主にアジャイルで行った。
# 【担当業務】
- 新規機能の設計、開発、テスト、マニュアル作成
- UIテスト自動化のテストスクリプト開発
- レガシーコードのリファクタリング実装
- サブチームリーダーとしてお客様とのスケジュール調整、及び、メンバーのタスク管理と進捗管理
- マニュアルの標準化
# 【担当フェーズ】
- 基本設計
- 詳細設計
- プログラミング
- 単体テスト
- 結合テスト
# 【実績・取り組み】
## サブチームリーダーとしてメンバーの管理を実施した。
特に経験の浅いメンバーについてはチームとしての目線が足りていない状態であったため、各ミーティングでのファシリテーターを担当して頂き、チームとしての視点を身につけて貰えるよう尽力した。
また、タスク分解や進捗報告が苦手なメンバーもいたため、デイリーミーティングの報告を定量的に行うよう指導した。
## テストの拡充
長年運用されているアプリであるため、レガシーな実装になっており、バグの検知を主導テストに頼っている状態であった。
そこで、シニアエンジニアと相談しつつ既存コードについてリファクタリングを実施し、単体テストを実装した。
加えて、Katalon Studioを用いたUI自動試験を先輩エンジニアとともに実装した。UIの自動試験については、今後の改修も視野に入れPage Object Modelで実装した。
# 【活かせる経験】
## マネジメント経験
2023年4月から現在まで、4-5名ほどで構成されるプロジェクトのサブチームのリーダーを担当している。
メンバーは開発経験1-2年のサポートが必要なエンジニアから開発経験10年以上のエンジニアまで幅広くいる。
メンバーの進捗管理やタスクアサイン、お客様とのスケジュール調整やタスク優先度の確認などを経験した。
## アプリ開発経験
業務用webアプリケーション開発を4年経験している。
技術などについてはJava、GWTフレームワーク、GCPなど。
JavaについてはJavaSilver SE11を取得済み。
## テスト実装経験
JUnitでの単体テスト実装を経験している。
Katalon Studioを用いたUIの自動試験を実装を経験している。
# 【開発・実装内容例1】
## 概要
1000件程度の情報を非同期で登録する機能の実装
## どのような機能の開発・実装か
csvファイルでユーザーIDをインポートし、インポートされたユーザーに対して特定の処理を非同期で一括で行う機能
## 課題・問題点
非同期で処理を行うにあたって、処理に失敗したユーザーに対してリトライ処理をどのようにするか
## 打ち手・使用した技術
GCPのCloud Tasksを利用
実行に失敗ユーザーについては、「失敗したユーザーList」に入れることでリトライを実施した
## 概要
UI自動試験の実装
# 【開発・実装内容例2】
## どのような機能の開発・実装か
リグレッションテスト簡略化のため、E2Eテストを自動で実行するための開発
Katalon Studioを利用して実装した
## 課題・問題点
実装期間に対し、対象の画面が非常に多かったこと
## 打ち手・使用した技術
開発効率化のため、チームで振り返りを定期的に実施
コンポーネントを利用することで、再利用性を高めて実装をした