🧑‍🏫

Part3 【課題定義・要件定義】 読書ログサービスの作成

2024/05/30に公開

こんにちは、テリスです!
今回からポートフォリオの作成を始めます。
作成するのはタイトルにもある通り、読書ログサービスです。
本パートでは課題定義・要件定義について書いていきます。

課題定義

課題定義とは

課題定義とは、何の課題を解決するのか、達成した時にどのような状態になっていれば良いのかを決めることです。
課題定義を間違えると期待されているものと違うものが出来上がり、作った意味がなくなってしまう可能性があるため課題定義はサービス作成にあたり一番重要と言っても過言ではありません。
課題定義では下記3項目について決めていきます。
またこのやり方は簡単なもので、もっとしっかりとやる場合は「インセプションデッキ」というものがあります。
ぜひ調べてみてください!

背景・目的

・解決したい課題
・なぜ解決したいのか
・本当にシステム化する必要があるのか※1

ゴール(達成状態)

・目標は?
・達成した時に、どのような状態になっていれば良いか

やらないこと

・スコープ※2の対象外は?
・制約条件は?

※1 エンジニアの考え方として、作る必要がないものは作らないというものがあるため、本当にシステムかする必要があるのか吟味する必要がある。
※2 今回行う範囲のこと

要件定義

要件定義とは

要件定義とは、システムを作る上で「必要な条件」を定義してシステムに落とせるようにすることです。
要件定義では下記4項目を決めていきます。

業務要件

・業務フロー

機能要件

・ページ遷移図
・WF(ワイヤーフレーム)【画面図】
・機能
・データ

非機能要件

・性能
・拡張性
・可用性
・セキュリティ

運用・保守要件

・運用体制
・保守体制
・障害時体制

タスクばらしをしよう

タスクばらしとは

タスクばらしはエンジニアとして自立して動くためには必須のスキルです。
仕事をタスクにばらすことです。
仕事の要素を分解して、進め方の道筋を立てることができたり、かかる時間やリスクなどの見通しを得ることができます。

タスクばらしができると、
・必要なタスクだけに取り組める
・最短経路を探せる
・自分の仕事を把握し、自立して仕事ができる

また、タスクばらしができないと、
・やらなくていいタスクをやってしまう
・最短経路を選べない
・仕事の進捗を自分で把握できない

上記のようにエンジニアに限らず、ビジネスパーソンの方は必ず行ったほうが良い内容となっております。

やってみよう【メモ帳アプリの課題定義・要件定義をしてみる】

課題定義

背景・目的

・軽量、検索性が良い、使いやすい、マークダウンでメモしたい
・使いやすいメモアプリでストレスなく記録をしたい
・既存のメモアプリがあるが、マークダウンでメモをしたいなどカスタマイズできるため

ゴール(達成状態)

・軽量かつ検索性が良く、マークダウンでメモができる使いやすいメモ帳になっていること

やらないこと

・軽量でなければいけないので、できる限りシンプルなメモ帳にする
・ページを極力少なくする

要件定義

業務要件

機能要件



最後に

アプリ開発の根幹でもある"課題定義"と"要件定義"について学びましたが、単語としての理解はできても実際に行ってみると難しいですね。

次回は本格的にPHPで読書ログサービスを書いていきますので、今後もよろしければご覧ください。
ご指摘やご教授いただけることがございましたらXやブログのコメントにお願いします!

https://x.com/telis382136

Discussion