はじめに
個人開発しようと考え、いざ着手しようとしたが何から手を付けたらよいか全く見当がつきませんでした。そんな中で下記の記事を読み、このロードマップに従って取り組んでいこうと考えました。
Pythonでゼロからでもサービス開発・公開できる学習ロードマップ
本記事は@Saku731さんのUdemy講座の50%受講完了時点での執筆です。(随時更新する)
■入門編:
上記講座は実際に要件定義書を作成しながら学んでいけるので、実務を想定しながら学んでいけます。私は自己のWebサービスを作ることを想定しながら取り組みました。
要件定義
目的
- ビジネスビジネス側とエンジニア側のゴールを明確にする
- 現状からゴールまでの道筋を明確にする
注意点
- ビジネスサイドとエンジニアサイドで目線が違うことを意識する。
エンジニア => 日々のメンテナンス性重視
ビジネス => 使いやすさなどユーザー目線重視
成果物
- 要件定義書 => Word
- 機能一覧 => Excel
進め方
①要望(ビジネスサイド)
②要求(ビジネスサイド)
③検討(エンジニアサイド)
④提案(エンジニアサイド)
要件(最終着地点)
「こんな機能を作ろう!」
【実践】①要件定義を作成 ~要望フェーズ~
①現状の洗い出し
- 業務プロセス
- 現状の問題点
②ゴール設定
- 目指す状態
③ギャップ分析
- 解決すべき課題の洗い出し
④ヒアリング(現場・ユーザー)
- システムに何を求めるか?
【実践】②機能一覧を作成 ~要求フェーズ~
項目
- 大項目
- 中項目
- 重要度
- 要求内容
以上を踏まえ、ゴールの達成に必要な要求を記述。
要件定義の④ヒアリング
内容を参考にすればよい。
【実践】②機能一覧を作成 ~検討フェーズ~
検討項目
- 課題解決できる
- 技術
- 予算
- 納期
以上を踏まえ、要求の実現性をIT目線で検討する。
実現性が低い機能の場合、代替案を提供
他の事例やトレンドをサーチして、企画の実現性を見極められるようにする。
【実践】②機能一覧を作成 ~提案フェーズ~
項目
- ビジネス要求へのフィードバック
- 実装する・しない機能
- 予算
エンジニアからの提案フェーズ。
【実践】②機能一覧を作成 ~要件フェーズ~
項目
- 開発する機能
- やらない事
- 最新の業務フロー図
- 簡単な画面イメージ
最終決定のフェーズ。
ユーザーのニーズを忘れないようにする。
必ず新しい業務フロー図に落とし込んで確認する。
おわりに
かつては「要件定義」はPMの仕事だから関係ないや、と思っていました。
でも自分でWebアプリを開発したいと思うようになって、ちゃんとしたシステムが開発できるよう、要件定義を学びました。
今回紹介させていただいた下記の講座を通して、改めて私は「システム」をよく知らないことを痛感しました。今回の要件定義書に沿って、最初のアプリケーション開発に着手します。(それもQiitaに投稿できるようにします)
もっと多くのアプリケーションの事例をインプットして、目を養いたいと思います。
個人開発でも、チーム開発でも、大事なことはゴールを達成できること。
よいシステムは、よい要件定義から。
閲覧ありがとうございました。