システム・アプリ開発の炎上案件を立て直し!その方法とは?

システム・アプリ開発の炎上案件を立て直し!その方法とは?

アプリ開発プロジェクトでは、しばしば「炎上案件」と呼ばれる状態に直面することがあります。
これは、計画の遅延や品質の低下、コミュニケーションの不足などが原因でプロジェクトがうまく進行しなくなる状態を指します。

本記事では、システム・アプリ開発の炎上案件を立て直した方法についてご紹介します。

プロジェクトにおける炎上案件とは

はじめに、プロジェクトにおける炎上案件についておさらいしておきましょう。
プロジェクトの炎上案件とは、スケジュール通りに開発が進んでいない等の状況から、契約打ち切りやクライアントから重クレームが来ているような状態です。

ちなみに、私が以前勤めていた会社で聞いた・経験した炎上案件は下記のようなものがありました。

  • スケジュール進捗が2か月遅れている
    開発の進捗が、スケジュールより2か月も遅れていた案件がありました。
    原因は、開発を委託していたオフショアがコミュニケーションエラーで動いておらず、開発が実質ストップされている状態だったと聞いています。
    クライアントからは「いつできるの?」「なんでこんなに遅れているの?」と毎週ミーティングで問い詰められていたようです。
  • 設定ミスの見逃し(計3回)
    拠点間ネットワークの構築案件の際、想定したトラフィック量が出ないことがありました。
    営業、カスタマーサポート、テクニカルサポートで対応していましたが原因不明。
    3か月後、3回目の再調査で設定ミスを発見、修正後に想定通りのトラフィックがでるようになりました。
    発見に3か月掛かったとして重クレームに発展、会社として数千万円の損害賠償を支払ったと聞いています。
  • プロジェクトマネージャー(PM)が原因で炎上
    プロジェクトマネージャーが案件を6つ掛け持ちしている状態でプロジェクトを回し、品質低下により各所で炎上していました。
    バグがいっこうに治らない、進捗を把握していない、個人のスキル不足で理解が追いついていないなど、クライアントから度々クレームが来ていました。

    ▼関連する記事はコチラ
    プロジェクトマネージャー(PM)が原因で案件炎上!その理由は?

システム・アプリ開発で炎上案件を立て直した方法

上記のような炎上案件を立て直すには、チーム内で抜本的な改革・フローの見直しが必要です。
ここでは、実際の炎上案件を立て直した方法についてご紹介します。

1on1や朝会の導入で立て直す

炎上案件の解決において、チーム内のコミュニケーションを強化することが非常に重要です。
これは、開発業務におけるエラー・バグ対応の時間を減らすという効果があります。

エンジニアにとってエラーやバグは日常茶飯事ですが、エラーによっては解決に丸1日掛かってしまうこともあります。
解決に時間を掛けると、その分スケジュールが押すため、1on1や朝会を導入し迅速に問題を解決するようにします。

朝会は、チーム全体が毎朝集まり、前日の進捗や当日の予定、課題を共有する場です。
このミーティングで、自分の課題や疑問を話すと、意外にもあっさりと解決することがあります。
また、メンバー間の信頼関係も深まるため、コミュニケーションが円滑に進むようになります。

他にも、フルリモートワークやオフショア開発の場合は、メンバーの開発作業がブラックボックスになりがちです。
密なコミュニケーションを取ることで、適宜進捗を把握することができます。

▼関連する記事はコチラ
フルリモートワークの実態は?メリット・デメリットを紹介!

フルスタックエンジニアに加入してもらう

炎上案件の立て直しにおいて、フルスタックエンジニアの加入は非常に効果的です。
フルスタックエンジニアは、バックエンドからフロントエンドまで幅広い技術に精通しているため、どの部分で問題が発生しても対応可能です。

一般的には、フロント部分はフロントエンジニア、インフラ部分はインフラエンジニアと分業制で開発を進めます。
しかし、1名のメンバーがフロントからインフラまで理解できれば、開発スピードは大きく加速します。
これにより、全体的なプロジェクトの進行をスムーズに進めることができます。

実際に私たちのプロジェクトでも、フルスタックエンジニアの加入によって1か月ほどスケジュールを挽回することができました。
ちなみに、フルスタックエンジニアとなると単価も高いため、予算の調整も必要です。
フルスタックエンジニアの場合、月単価100万円以上は掛かると思った方が良いでしょう。

一時的に他PJから増員して立て直す

炎上案件の立て直しには、人的リソースの増強も有効です。
一時的に他のプロジェクトから人員を増員することで、マンパワーによる解決が期待できます。

増員のポイントとして、どこがボトルネックになっているかを分析することが重要です。
マネジメント部分であればPMOを、開発リソースであればメンバーを増員しなければ意味がありません。
また、増員メンバーに対しては、プロジェクトの現状や目標をしっかりと説明し、共通の認識を持たせることが大切です。

業務を最適化する

スケジュールの見直しや継続的インテグレーション/継続的デリバリー(CI/CD)の導入も効果的です。
これにより、プロジェクトの進行をスムーズにし、炎上案件を立て直すことができます。

スケジュールの見直しでは、ガントチャートやJira、Backlogなどのタスク管理ツールを利用することで、タスクや優先度の見える化を行います。
また、タスクの分割や再配分を行うことで、効率的な作業を実現します。

CI/CDの導入は、プロジェクトの品質向上に大いに貢献します。
コードの変更が自動的にビルド・テストされるため、バグの早期発見・修正が可能です。

例えば、開発案件では、リリース直前になると1日に何度もデプロイ作業が行われます。
1回のビルド、デプロイに掛かる時間は、アプリにもよりますが、おおよそ20分程度です。
20分×5回というだけで、1日100分という時間を無駄にしている計算となります。
CI/CDを導入することで、これらの作業を自動化し、100分の時間を別のタスクに充てることが可能となります。

リカバリープランの策定

炎上案件を立て直すためには、リカバリープランの策定が欠かせません。
リカバリープランとは、プロジェクトが予定通りに進行しない場合に備えた代替案のことです。
いわゆる「妥協案」になりますが、クライアントから合意が取れれば炎上を立て直すことができます。

私が経験したリカバリープランは、下記のようなものがありました。

  • IaC(Infrastructure as Code)部分をリバースエンジニアリングで開発する
    AWSを利用したアプリ開発案件で、インフラをコード化して管理するIaCも要件にありました。
    しかし、開発納期が厳しく、IaCで構築していると全く間に合わない状況でした。
    そのため、アプリ部分のインフラをGUIで構築・納品した後に、リバースエンジニアリング的にIaC構築をすることにしました。
    これにより、プロジェクトの炎上を回避して納品することができました。
  • 運用に吸収する
    こちらはあまり良い対策ではありませんが、運用で吸収するという方法もあります。
    これは、開発段階でアプリやシステムに機能を実装できない場合、一部の業務を人力でカバーする方法です。
    納品時には「とにかく正常に動くシステム」を、その後のメンテナンス作業で運用でカバーしていた部分をツール化することにしました。

顧客とのコミュニケーション

炎上案件を立て直す際には、顧客とのコミュニケーションが最も重要です。
正直、信頼関係があれば、プロジェクトの遅れはどうとでもなると言っても過言ではありません。

スケジュールが遅れていても、クライアントとの信頼関係があれば、ある程度は目を瞑ってくれます。
(もちろん、納期には間に合わせることは大前提です。)
また、上記でご紹介したリカバリープランや対策を提示することで、クライアントを安心させることも重要です。

他にも、プロジェクトマネージャーの話術でも、炎上案件を立て直すことが可能です。
私が経験したプロジェクトでは、PMの話術で2週間ほどの遅れをうやむやにしたことがあります。
エンジニアからすると「ペテン師が」と思うような話ですが、さも「前代未聞の困難を乗り越えてきました」と話すことでクライアントを納得させ、プロジェクトが順調に進んでいるように見せるのです。

顧客との良好なコミュニケーションは、プロジェクトの成功に大きく寄与します。
信頼関係を築き、協力を得ることで、困難な状況でもプロジェクトを立て直すことが可能になります。

まとめ|炎上案件を立て直す方法

本記事では、炎上案件の立て直し方法についてご紹介しました。
炎上案件を立て直すためには、様々な対策を組み合わせて実施することが重要です。
プロジェクトマネジメントにおいては、常に改善と学習を続け、より良いシステム・アプリ開発を行いましょう。

kait78

記事一覧へ >

この記事に関するキーワード