「システム開発のスタートは要件定義って聞くけど、具体的には何をやるの」
「今度の要件定義は乗り切りたいな。ツールなどを使って、うまくできないかな」
システム開発はいきなり開発するのではなく、最初は要件定義から始まります。
要件定義はシステム開発において、まさに要とも呼べる存在です。
要件定義の出来栄えがプロジェクトの成否を左右するといっても過言ではありません。
そこで今回は、要件定義を失敗しないためのポイント、要件定義とは何かという基本的な情報からおすすめのツールまでを紹介します。
この記事を参考にしていただき、要件定義を成功させましょう。
要件定義とは「要求内容のまとめ・解決策の提示」
成果物である要件定義書は、クライアントの要求内容と解決策をまとめたものです。
この説明だけではわかりにくいので、簡単な具体例をあげて紹介します。
例えば、クライアントが現在使っているシステムが老朽化しており、業務に支障をきたしているとします。
システム開発側はクライアントが要求する内容を調査・ヒアリングを重ねて、解決策を提示します。
今回の例でいえば、以下のようになるでしょう。
クライアントの要求内容 |
システムの老朽化により、業務に支障をきたしている。業務に支障が発生しないようにしてもらいたい。 |
システム開発側が提示する解決策 | システムを載せるためのサーバを含めた環境の刷新 |
要求定義との違い
要件定義と似た言葉で、要求定義というものがあります。
どちらもシステム開発において使う言葉ですが、似て非なる言葉です。
要求定義とは、クライアントが要求する内容をまとめて、定義することになります。
先ほどご紹介した要件定義とは違い、あくまで要求する内容はまとめるところまでが要求定義です。
要求定義が事前にしっかりとできていると、スムーズに要件定義が進みます。
要件定義の重要性
システム開発において、要件定義は要とも呼べる存在です。
なぜなら、要件定義フェーズはプロジェクトの方向性を顧客と決めるからです。
客と料理人を例にして、紹介します。
例えばクライアントである客が、以下のような料理を作ってくれと要求したとします。
- 暖かい食べ物
- ご飯にかける食べ物
- 調味料で、味の調節がしやすい食べ物
- 野菜も肉も一緒にとれる食べ物
この要求に対して、料理人がシチューを出したら、どうなるでしょうか。
悪い選択ではありませんが、客は満足しないでしょう。
なぜなら、顧客が真に望んでいる食べ物はカレーライスだからです。
このようにクライアントからの要求に対して、クライアントの合意を得ないまま進むと、クライアントが望んだものはできあがりません。
クライアントとの打ち合わせを繰り返すのは、クライアントが望んだものを引き出すためでもあります。
要件定義はクライアントの要求内容をまとめ、解決策を提示するフェーズです。
提示した解決策をクライアントが合意するからこそ、重要なフェーズとなるのです。
料理であれば作り直しは難しくありませんが、システム開発は簡単にはいきません。
システム開発には膨大な時間とお金がかかります。
要件定義の流れ
この章では、要件定義の流れについて紹介します。
要件定義の流れを確認することで、スムーズに仕事に取り掛かれるようにしましょう。
関連する記事はこちら>>プロジェクトマネジメントとは一歩リードするための必須スキル
クライアントの要求をヒアリング
要件定義フェーズではまず、クライアントが要求する内容をヒアリングします。
この段階でクライアントから多くの要求が登場してくるでしょう。
例えば、システムの高速化やUIを刷新、新機能の追加、AI・人工知能などの最新技術を導入などです。
より業務を効率化したいという強い思いや流行物に興味があるほど、要求内容は多くなります。
システム開発側が要求内容の実現可否をジャッジしたくなりますが、一旦我慢です。
ヒアリングだけに留め、実現可能・不可能は次の段階で詰めていきましょう。
この段階では何より重視すべきは、クライアントが何を望んでいるか聞き出すことです。
要求を定義する
次はヒアリングした内容を基に、クライアントが要求する内容をまとめる作業です。
最終的にクライアントへ解決策を提示するためにも、しっかりと要求内容をまとめます。
要求がまとめられたら、次は解決策のまとめです。
基本的にはクライアントからヒアリングした内容を基に解決策を提示しますが、注意点があります。
注意点とは、クライアントに必要な本当の解決策がクライアントのイメージしている解決策とは異なるケースがあることです。
クライアント側は要求内容を伝えているときに、何らかの解決策をイメージしています。
例えばより業務の効率化を図りたい場合、システムの機能追加をイメージしているでしょう。
しかし、要求内容を分析するとクライアントに必要な本当の解決策が、システムの機能追加ではないとわかります。
本当の解決策は業務フローの見直しということもありえるでしょう。
クライアント側が要求する内容を基に解決策を練っていきますが、第三者の目線で冷静に解決策を考える必要もあります。
クライアントと要件をまとめる
クライアントの要求内容をまとめ、解決策が練られたなら、最後はクライアントとの話し合いです。
クライアントと要求内容に対して、解決策の実現可否を決めましょう。
わかりやすい例でいえば、要求内容をシステム化する・しないなどです。
提示した解決策がすべて実現できるわけではありません。
クライアントにも予算があるため、金銭面で実現できないケースがあります。
その場合は優先順位を設定して、今回のタイミングでは数個ほど実現するという手法を用いましょう。
残りは次のタイミングで実現というケースはよくある手法です。
要件定義をする上で欠かせない2つのポイント
単にクライアントからの要求をヒアリングするだけでは、十分とはいえません。
どのような点に気をつければよいか紹介します。
関連する記事はこちら>>課題管理表の見やすい書き方や項目は?おすすめのツールを紹介
①現行のシステム・現行の業務を調査
要件定義のポイント1つ目は、現行システム・業務の調査です。
今動いているシステムや実際の業務を確認することで、クライアントが何に問題を抱えているかわかります。
同時に現行システムのよい点もわかるでしょう。
例えば、現行システムのデザインを気に入っている方が多いと仮定します。
この場合、新システムは現行システムのレイアウトへ寄せた方が現場の抵抗感も少ないかもしれません。
②用語は統一する・クライアントに合わせる
要件定義のポイント2つ目は用語の統一、もしくはクライアントに合わせることです。
要件定義書に記載される用語は統一しておきましょう。
クライアントとシステム開発側で言葉の意味を取り違えていては、誤解が発生する可能性があるからです。
またクライアントが使っている用語で記載すると、クライアント側の誰もが理解できる要件定義書となります。
要件定義をおこなうプロジェクトの管理にはLychee Redmine
最後にこの章では、Lychee Redmineによるプロジェクト管理について紹介します。
ツールによって要件定義フェーズが管理できれば、より集中したい業務に力を入れられるでしょう。
フリープランは基本機能(ワークフロー・通知設定・ファイル共有・Wiki)とカンバン機能の限定された機能しか利用できませんが、有料プランはガントチャートをはじめさらに多くの機能が利用できます。
有料プランは30日間の無料トライアル期間を提供しているので、リスクなく始められ、その価値を実感できるはずです。ぜひ一度お試しで使い、操作性を確かめてみましょう。
プラン | 月額料金 | 利用機能 |
フリー | 無料 |
|
スタンダード | 900円 |
|
プレミアム[★一番人気] | 1,400円 |
|
ビジネス | 2,100円 |
|
要件定義中のタスク管理もカンバンなら簡単
Lychee Redmineではカンバンを使った、タスク管理が可能です。
カンバンを使う最大のメリットはタスクの見える化でしょう。
誰にタスクが割り当てられ、タスクがどの状態何かがひと目でわかります。
要件定義中に発生するタスクもカンバンであれば、問題なく管理できるでしょう。
Lychee Redmineなら、ドラッグ&ドロップでカンバンの整理も簡単です。
仮のスケジュールもガントチャートならスムーズに作成が可能
Lychee Redmineでは直感操作で、簡単にガントチャートを使ったスケジュール作成が可能です。
システム開発の一工程であるため、要件定義フェーズにそれほど時間はかかりません。
しかし、スケジュールを引かなくてはタスクの締め切りも設定ができないでしょう。
Lychee Redmineではガントチャートバーの変更も簡単にできるため、試行錯誤をしながらのスケジュール作成も容易です。
要件定義中のメンバー稼働状況もリソース管理なら簡単に可能
Lychee Redmineでは、メンバーの稼働状況をリソース管理で簡単にできます。
工数入力や空き状況の管理は簡単に思えて、難しい作業です。
工数を入力する煩雑さや稼働状況の分析がリソース管理を難しくしています。
Lychee Redmineのリソース管理なら、工数入力も直感的に操作が可能なため、効率的です。
また各メンバーの稼働状況や今後の予定も一目で把握できます。
クライアントの要求を明確化して効率のよい要件定義を
要件定義とは、クライアントが要求する内容をまとめて、解決策を提示することです。
提示した解決策をクライアントが合意するからこそ、重要なフェーズといえます。
要件定義をする上で欠かせないポイントはいくつかありますが、以下の2つが代表的な例です。
- 現行のシステム・現行の業務を調査
- 用語は統一する・クライアントに合わせる
要件定義フェーズにおけるタスク管理・スケジュール管理がLychee Redmineを使えば、効率的におこなえます。
タスクの見える化や直感的な操作でおこなえるスケジュール作成が忙しい要件定義フェーズに必ず役立ちます。
Lychee Redmineを活用して、効率のよい要件定義をおこないましょう。