API結合における優先度の付け方【プロジェクトマネージメント】

こんにちは、株式会社Pentagonの山本です。

今回は、API結合のフェーズでの優先度の付け方について解説していきます。

この記事は、アプリ開発をリードするエンジニア、スケジュール管理をするプロジェクトマネージャーに向けたものです。この記事を読むことで、プロジェクトの遅延を防ぐことができます。

結論から言うと、ログインを先に実装した後、POST処理の実装から着手します。その中でも、不確定要素が潜んでいそうな機能から開発を進めていきます。基本的には、編集/削除の処理は優先度が低いので後回しにしてOKです。

目次

前提・アプリ開発の流れ

まずウォーターフォール開発におけるアプリ開発の流れは、次の通りです。

  1. 画面設計
  2. UIの実装
  3. API結合
  4. 結合テスト

前提として、API結合の実装に入る前にUIの実装準備がされていることを確認しましょう。UIの実装漏れがあると、API結合時に想定より開発期間がかかってしまうからです。

API結合の実装に入るときに、チケットを切ってタスクをメンバーにアサインするわけですが、チケットの優先度とアサインの仕方にはポイントがあります。

API結合におけるチケットの優先度について

何はともあれ、ユーザー認証ができていないと、コールできないAPIもあると思うので、ログインを先に実装していきます。できればAPI結合のフェーズに入る1週間前くらいには、予め実装を済ませておきましょう。

POSTから実装を進める

ログインの実装が完了したら、アプリのコアとなる機能のPOST処理から優先的に実装を進めていきます。
POST処理から実装を進めることで、後のGET系のAPIをコールしたときに実際にPOSTしたデータを取得できるので開発がスムーズになります。

不確定要素が潜んでいそうな機能は先に着手

不確定要素がありそうな機能、もしくは今まで開発したことない機能を優先的に進めるようにスケジュールを組みます。これは納期間際に不確定要素が発見されプロジェクトが遅延することを防ぐためです。

開発の後半で残っているタスクが複雑なタスクだと、どうなるでしょうか?スキルレベルが高いエンジニアにタスクが集中し、メンバーを増員して開発スピードを上げることが困難となります。

逆に、開発の後半で残っているタスクが比較的簡単なタスクであれば、どうでしょう?多少の遅延があっても、一般的なレベルのエンジニアを増員することで開発スピードを上げることができます。

不確定要素が潜んでいそうな箇所を判断するには、ある程度の開発の経験が必要ですが、チームメンバーとしっかりとコミュニケーションをとって、不確実な機能は先に実装して潰しておきましょう。

アサインの仕方

当然かもしませんが、優先度の高いタスクは、十分な稼働時間を確保できるエンジニアにアサインします。優先度の高いタスクを副業エンジニアにアサインするとプロジェクトの進行が遅くなり、プロジェクト全体の遅延につながります。

副業エンジニアにアサインするタスクは、アプリのコア機能以外、もしくはそのタスクが遅れても他のエンジニアの進行に影響を与えないタスクとします。

編集や削除のAPI実装は後回しでOK

編集や削除の機能は最悪無くても、プロジェクトの進行に影響を与えないケースが多いです。
例えば、SNSの投稿の編集や削除機能がなくても、アプリ自体は全体を通して問題なく動作するはずです。

編集や削除処理は、アプリのコア機能でないケースが多いので、優先度を低めに設定します。したがって、編集や削除処理は、副業エンジニアにアサインしやすいですね。

注)ユーザーの退会処理は優先度を高く設定して早めに実装しましょう。ユーザーが退会することでアプリケーション全体に影響を及ぼす可能性があります。

まとめ

API実装の優先度についてまとめると、次の通りです。

  1. ログイン処理
  2. アプリのコア機能のPOST処理
  3. GET処理
  4. PUTやDELETE処理

繰り返しになりますが、アプリのコア機能を先に実装することと、不確定要素は先に潰すことを意識して、プロジェクトを管理していきましょう。

採用情報はこちら
目次