株式会社iimon / Engineering Div
【新規サービス開発】売買物確速いもん
新規サービス「売買物確速いもん」の開発プロジェクトにおいて、前任者退職により炎上状態となっていた案件の立て直しに携わりました。実装状況とスケジュールに大きな乖離がある中でプロジェクトを引き継ぎ、現状の整理からスコープの見直し、体制の再構築、技術的な改善までを段階的に対応しました。フロントエンド開発に加え、PM的な立場で関係者との調整も行いながら、リリースに向けた進行管理を担当しました。 【携わったサービス】 ・売買物確速いもん:https://iimon.co.jp/buy-conffirm 【担当フェーズ】 課題分析、要件整理、再見積もり、フロントエンド実装、バックエンド実装、テスト 【業務詳細】 ・実装状況の整理およびタスクの洗い出し ・スプレッドシートによる進捗と工数の可視化 ・ステークホルダー(CTO、PM、PDM)との調整 ・MVPの再定義およびスコープ調整 ・前任者実装のリファクタリングおよびコード整理 ・JavaScript/TypeScriptによる機能開発および修正 ・チーム体制の再構築および役割分担の整理 【取り組み①:現状可視化とMVP再定義によるプロジェクト立て直し】 ◇課題 前任者の退職により、仕様の約70%が未達成の状態でプロジェクトを引き継ぐことになりました。また、見積もりが不十分なまま進行していたため、実装状況とリリース予定に大きな乖離があり、全体像が把握できない状態でした。加えて、セミナー開催が決まっており、期限内でのリリースが求められる状況でした。 ◇対応 まず、実装済み・未実装・修正必要のタスクをすべて洗い出し、スプレッドシート上で整理しました。そのうえで各タスクの工数を算出し、進捗と残作業を可視化しました。可視化した内容をもとにステークホルダーへ説明を行い、現状の共有と合意形成を進めました。また、全機能の実装が難しい状況を踏まえ、MVPとして必要な機能に絞り込み、優先順位を整理したうえでスコープの再定義を行いました。 ◇結果 プロジェクトの全体像と優先度が明確になり、関係者間で同じ認識を持った状態で進行できるようになりました。現実的なスケジュールに基づいて開発を進めることができ、再設定したリリース日に間に合わせる形で本番化まで対応しました。 【取り組み②:体制再構築と役割分担の明確化】 ◇課題 当初は1名体制で進められており、作業の集中や優先順位の混在により進行が滞りやすい状況でした。また、誰がどの領域を担当するのかが明確でなく、対応の抜けや重複が発生する可能性がありました。 ◇対応 開発体制を3名に拡大し、機能追加、バグ修正、技術検証といった役割ごとに担当を分けました。各メンバーの担当範囲を明確にしたうえで、進捗状況を共有しながら調整を行いました。また、ステークホルダーともこまめに連携し、進行状況を共有しながら優先順位の見直しを行いました。 ◇結果 各メンバーが担当領域に集中できる状態となり、作業の進行が安定しました。タスクの重複や抜け漏れを防ぎながら開発を進めることができ、全体としてスムーズに進行できる体制を整えることができました。 【取り組み③:既存コードの整理と技術的課題への対応】 ◇課題 前任者の実装では、責務分離が十分でなく、1つの関数やクラスに処理が集中している状態でした。そのため、コードの可読性が低く、修正時の影響範囲を把握することが難しい状況でした。また、CORS回避のためにブラウザタブを切り替える実装となっており、画面のちらつきが発生するなど、ユーザー体験にも影響が出ていました。 ◇対応 既存コードについて、責務ごとに処理を分割することを意識しながらリファクタリングを行いました。処理単位で構造を整理することで、コードの見通しを改善しました。また、技術的な課題については検証を行い、実装方法の見直しを進めました。影響範囲を確認しながら段階的に修正を行うことで、既存機能への影響を抑えつつ改善を進めました。 ◇結果 コードの構造が整理され、修正や機能追加の際に影響範囲を把握しやすい状態となりまし た。開発中の不具合対応や追加開発を進めやすくなり、全体の開発効率の改善につながりました。また、最終的にはリリースまで対応し、セミナー実施にも間に合わせることができました。 【環境】 ◇OS Mac ◇言語 JavaScript TypeScript Python ◇フレームワーク Django ◇DB MySQL ◇インフラ AWS ◇その他 Git GitHub Vite ESLint Prettier Jest 【チーム規模】 3名 【役割】 メンバー 開発 兼 調整役