# プロジェクト概要
- タブレットを利用したICT教材のシステム開発
- 中学生向けの英数が対象で、塾や学校での利用を想定
- Android, iOSに対応
# チーム構成
- バックエンド、フロントエンド、iOS/Androidエンジニアなどで構成される5名程度
# 担当した役割
- 社員1人目のメンバーとして開発とリリースをリード
# 開発・講師向けマネージャー画面開発
【概要】
- 講師・先生が生徒の利用状況を確認するための管理画面の開発
【取り組んだ課題】
- 概ね基本設計が完了している状態でバックエンド側を引き継ぎ、設計書の作成から着手
- プロジェクト管理ツールを使用しておらず、誰がなにをやっているかわからなかった
- 環境構築もメンバーがそれぞれ実施していたので開発環境に差異が出たりしていた
- CI/CDの仕組みや運用監視ツールがなくAWSでログを見ているだけの状態だったので、テストも手動で行なっており問題発生時の調査や修正に時間がかかっていた
【アプローチ、工夫した点】
- リリースまで期間がなかったため、クライアント側を修正しないですむようにバックエンド側のみの修正で吸収するよう対応した(メンバーのアサイン状況からこの対応しかできなかった)
- プロジェクト管理ツールとしてRedmineを導入して環境構築し、進捗など管理できるようになった
- Redmineのwikiを活用することにより開発資料をまとめて整理できるようになった
- Ansibleによる環境構築を導入し、メンバーで開発環境が揃うようにした
- Jenkinsを導入しCI/CDの仕組みを導入して自動テストが実施されるようになり問題が発生しにくくなった(のちにCircleCIへ移行)
- NewRelicを導入してAPMを利用することにより、サーバでどのような問題が発生しているか分析しやすくなった
- Rollbarを導入してエラー監視することにより問題発生時にすぐに対応できるようになった
【取り組みの成果】
- プロジェクトの管理、環境構築、CI/CD、運用監視などツールを導入して開発の工程や流れなど組織全体としての形ができた