経営者のためのSDLC入門:発注前に知るべき開発6工程
SDLC(ソフトウェア開発ライフサイクル)を専門用語なしで解説。アプリ開発の6つの工程、発注側が準備すべきこと、妥当な成果物、プロジェクトが失敗しやすいポイントが分かります。
アプリ開発をベンダーに発注しようと考えているなら、契約書にサインする前に理解しておきたい概念が一つあります。SDLC(Software Development Life Cycle、ソフトウェア開発ライフサイクル)です。技術的に聞こえますが、本質はシンプルで、アプリがアイデアの段階から日々使われ、保守されるまでに通る一連の工程のことです。経営者がSDLCを理解するのは、プログラマーになるためではありません。何が妥当か、自社が何を準備すべきか、そしてどんなときに疑うべきかを知るためです。
Rancangin Aja(RAT)では、クライアントのプロジェクトでも、Cuplikin やKosProといった自社プロダクトでも、すべてのプロジェクトでこの工程を実践しています。本記事では、六つの工程を発注者である経営者の視点から解説します。
なぜSDLCは開発者だけでなく、経営者にとっても重要なのか
失敗するソフトウェアプロジェクトが、プログラマーのコーディング能力不足で失敗することはめったにありません。多くの場合、原因は次のようなものです。
- 要件が最後まで本当の意味で明確にならなかった。
- 発注者が成果物を見るのが最後になり、想像していたものと違っていた。
- テストが行われず、顧客が使い始めてからバグが見つかった。
- 完成後、誰も保守をしなかった。
これらはすべてプロセスの問題であり、SDLCはそれを防ぐために設計されたプロセスです。ベンダーが自社の開発工程を説明できないなら、それは注意すべき初期サインです。その他の警告サインについては、ソフトウェア開発会社選びのチェックリストで解説しています。
工程1:ディスカバリー(課題の理解)
何が行われるか: ベンダーがたくさんの質問をします。ユーザーは誰か。解決したい課題は何か。現在の業務はどう回っているか。どんなシステムがすでにあるか。何をもって成功とするか。
発注者が準備すべきこと:
- 現在の業務プロセスの説明。「見せたくない」部分や手作業の部分も含めて。
- 実際のデータのサンプル。Excelファイル、チャットのスクリーンショット、領収書の写真など。
- すでに使っているシステムの一覧(ECモール、POS、会計ソフトなど)。
- アプリを使う人と、その人たちのITへの慣れ具合。
- 制約条件。予算、期限、社内ルールなど。
妥当な成果物: 課題、目標、ユーザー、優先順位を付けた機能一覧、そして今回はあえて対象外とする事項をまとめた簡潔な文書。加えて、費用と期間の初期見積もり。
よくある失敗: 発注者が課題ではなく機能リストを持ってくることです。その結果、機能は多いのに何の課題も解決しないアプリができあがります。良いベンダーは、この段階で「なぜですか?」という質問を繰り返し、少し「うるさい」くらいに掘り下げてきます。
工程2:計画と設計
何が行われるか: 工程1で整理した要件を設計に落とし込みます。ユーザーフロー、ワイヤーフレーム(画面のラフスケッチ)、ビジュアルデザイン、そして技術アーキテクチャ(どの技術を使い、データをどう保存し、何と連携するか)です。
発注者が準備すべきこと:
- 設計をレビューしてフィードバックする時間。考えを変えるのに最もコストがかからないのがこの工程です。
- ロゴ、ブランドカラーなどのブランド素材(あれば)。
- 一部の機能を諦める必要がある場合の、優先順位の判断。
妥当な成果物: ワイヤーフレームまたはクリックできるプロトタイプ、主要画面のビジュアルデザイン、簡潔な技術文書。小規模なプロジェクトであれば、かなりシンプルなもので構いません。
よくある失敗: 設計をよく見ないまま承認し、アプリができあがってから「なぜこのボタンはここにあるのか」となることです。設計段階での変更は数分で済みますが、コードを書いた後の変更には数日かかります。
最初のバージョンのスコープを決めるのもこの段階です。私たちの経験では、リリースされない大きなバージョンよりも、きちんと動く小さな最初のバージョンのほうがはるかに優れています。決め方についてはMVPか完成版かで解説しています。
工程3:開発(構築)
何が行われるか: 開発者が設計に基づいてコードを書きます。優れたチームでは、これを スプリント と呼ばれる短い作業サイクル(通常1〜2週間)で進め、各スプリントの最後にデモを行います。
発注者が準備すべきこと:
- デモに参加すること。本当に、これが発注者としてできる最も重要なことです。
- 質問にすばやく答えること。開発者が回答を3日待てば、3日が失われます。
- 実際のコンテンツとデータ。商品写真、価格表、ページの文章など。
- 必要なアクセス権。ECモールのアカウント、決済代行サービス、WhatsApp Business(インドネシアで主流のビジネス向けチャット。日本でいうLINE公式アカウントに近い存在)など。
妥当な成果物: 各スプリントの終わりに試せるアプリ、簡潔な進捗報告、そして発注者がアクセスできるリポジトリ(GitHubなど)に保存されたコード。
よくある失敗: 定期的なデモがなく、最後になってから方向性がずれていたと分かることです。あるいは、スケジュールや費用への影響を意識しないまま、発注者が変更を求め続けることです。どちらも、週次デモのリズムと変更に関する明確なルールで防げます。
正直なところ: プロジェクト途中での変更はごく普通のことで、良いことも多くあります。実際のアプリを見て初めて、本当のニーズが分かるからです。問題は変更そのものではなく、時間と費用への影響がオープンに話し合われないことです。RATでは、変更依頼に対して「はい」と答えて黙って遅延させるのではなく、「対応できます。X日かかり、費用はYです。進めますか?」とお答えしています。
工程4:テストと品質保証(QA)
何が行われるか: さまざまな観点からアプリをテストします。機能は動くか、想定外の入力に対応できるか、さまざまなスマートフォンやブラウザで動くか、データは安全か、動作は速いか。
両方とも必要なテストが二種類あります。
- 開発者による 自動テスト:コードをテストするためのコードです。新しい変更で、すでに動いている部分が壊れないようにします。
- 発注者側のチームによる 手動テスト(UAT、ユーザー受け入れテストと呼ばれることが多い):経営者とチームが、日常業務と同じようにアプリを使ってみます。
発注者が準備すべきこと:
- 経営者だけでなく、実際にアプリを使うことになるチームのメンバー。
- 現実的なシナリオ。「チャットで受けた注文を発送まで処理してみる」など。
- 明確なバグ報告。何をしたか、何を期待したか、何が起きたか、スクリーンショット。
妥当な成果物: テスト済みシナリオの一覧、発見されたバグとその対応状況の一覧、そして「リリース可能」なバージョンのアプリ。
よくある失敗: 時間が足りなくなり、この工程が削られることです。その結果、バグを見つけるのは顧客になります。ベンダーの見積もりが極端に安い場合、削られているのはこの工程であることがよくあります。
工程5:デプロイ(リリース)
何が行われるか: アプリを本番サーバーに設置し、ドメインを向け、モバイルアプリをGoogle PlayとApp Storeに申請し(審査には数日かかることがあります)、旧データを移行し、チームへの研修を行います。
発注者が準備すべきこと:
- ホスティング、ドメイン、Google Play、Apple Developerのアカウントを、ベンダー名義ではなく 自社名義 で用意すること。
- 切り替え計画。一度にすべて切り替えるのか、一部から始めるのか。
- チーム研修の時間。
妥当な成果物: 稼働中のアプリ、利用者向けドキュメント、引き渡したアカウントと認証情報の一覧、そして問題が起きたときの対応手順をまとめた簡単なガイド。
よくある失敗: アカウントとコードをベンダーが握っていることです。関係が悪化すれば、手元には何も残りません。コードとアカウントの所有権が自社にあることを、ディスカバリーの段階から確認しておきましょう。
工程6:保守
何が行われるか: アプリを監視し、新たに見つかったバグを修正し、Android・iOS・ブラウザの変化に合わせてシステムを更新し、ユーザーのフィードバックに基づいて新機能を追加します。
発注者が準備すべきこと:
- 月額または年額の予算。契約内容にもよりますが、一般的な目安は年間で開発費の10〜20%程度です。
- 問題の報告やフィードバックの集約を担う、社内の窓口担当者一名。
妥当な成果物: 定期報告(稼働率、修正したバグ)、合意した時間内での対応、継続開発がある場合は機能のロードマップ。
よくある失敗: 保守は不要だと考えることです。保守されないアプリは、通常6〜12か月以内に問題が出始めます。ライブラリが古くなり、外部サービスのAPIが変わり、セキュリティ対策が遅れていきます。
各工程の費用やリリース後の月額費用については、インドネシアのアプリ開発費用の内訳をご覧ください。
まとめ:各工程で発注者が準備すべきこと
| 工程 | 発注者の主な役割 | 求めるべき妥当な成果物 |
|---|---|---|
| 1. ディスカバリー | 課題を説明し、実データを提供する | 要件文書+初期見積もり |
| 2. 設計 | レビューし、優先順位を決める | ワイヤーフレーム/プロトタイプ、デザイン、技術計画 |
| 3. 開発 | デモに参加し、すばやく回答し、コンテンツを提供する | スプリントごとのアプリ、リポジトリへのアクセス |
| 4. テスト | 現実的なシナリオでテストし、バグを報告する | テスト一覧、バグ一覧、リリース可能な版 |
| 5. デプロイ | 自社名義でアカウントを用意する | 稼働中のアプリ、ドキュメント、認証情報 |
| 6. 保守 | 予算と窓口担当者一名 | 定期報告、合意した時間内での対応 |
AIはSDLCをどう変えるのか
プロジェクトにAI(チャットボット、文書アシスタント、業務自動化など)が含まれる場合も、工程はほぼ同じですが、いくつか追加があります。
- ディスカバリーでは: データ監査を行います。AIはデータなしでは機能しないため、どんなデータがあるか、どれくらい整理されているか、誰が管理しているか、といった質問が加わります。
- 設計では: 「AIが間違えたらどうするか」を設計します。人へのエスカレーション経路は、後付けではなく最初から設計しておく必要があります。
- 開発では: プロンプトの反復と評価 と呼ばれるサイクルが加わります。AIへの指示を実データでテストし、精度を測定し、改善し、それを繰り返します。テストに似ていますが、開発期間を通じて継続的に行われます。
- テストでは: 機能のテストに加え、御社の業務で実際に寄せられる質問のセットを使って、AIの回答品質をテストします。
- 保守では: 顧客の質問の傾向は変わっていくため、API利用料と回答品質を継続的にモニタリングします。
すでに稼働しているアプリがあり、作り直さずにAIを追加したい場合は、プロセスが少し異なります。詳しくは既存アプリをAIに移行するためのロードマップで解説しています。
RATでのSDLCの進め方
簡単にまとめると次のとおりです。最初のディスカバリーは無料。コードを1行も書く前に、発注者にレビューしていただく設計。週次デモ付きのスプリント。自動テストと、御社チームとのUAT。すべてのアカウントを御社名義にしたうえでのリリース。そして、その後の保守はオプションです。すべての作業は当社のチームが自ら行い、実際に作業するエンジニアと直接やり取りしていただけます。サービスの詳細はこちらをご覧ください。
次のステップ
SDLCを理解していれば、より落ち着いてベンダーを評価できます。何が妥当か、何を準備すべきか、いつ質問すべきかが分かるからです。アプリのアイデアがあり、自社の場合はどんな工程になるのかを知りたい方は、無料相談を予約するか、WhatsAppまたはメール(hello@rancanginaja.com)でご連絡ください。工程の流れ、スケジュールの目安、準備していただくことをご説明します。
よくあるご質問
SDLCとは簡単に言うと何ですか?
SDLC(Software Development Life Cycle)とは、アプリを作るときの一連の工程のことです。課題の理解、設計、開発、テスト、リリース、保守までを含みます。目的は、プロジェクトが場当たり的に進むのを防ぐことです。
発注者としてSDLCを理解しておく必要はありますか?
技術的な詳細まで理解する必要はありませんが、工程の流れは知っておくべきです。そうすれば、ベンダーに何を求めるのが妥当か、自社が何を準備すべきか、どんなときに注意すべきかが分かります。
SDLCの各工程にはどれくらいの期間がかかりますか?
プロジェクトの規模によって大きく異なります。小規模なアプリなら、要件定義と設計で1〜2週間、開発で4〜8週間、テストに数週間が目安です。大規模なプロジェクトではその数倍かかることもあります。
AIプロジェクトも同じSDLCに沿って進めますか?
大部分は同じですが、データを準備する工程と、顧客が使う前に実データでAIの精度を検証する工程が加わります。