以前、ソフトウェア開発は
要件定義設計プログラムテスト
の4つのステップに
分かれているというお話をしました。

今回はそのうちの
要件定義」について
お話したいと思います。

要件定義というのは、
ソフトウェア開発で
一番最初にやる事で、
要するに、

「ソフトウェアに何をさせるのか?」
「どの様なソフトウェアを作るのか?」

を決める工程になります。

「クライアントが依頼してきているのだから、
作りたいソフトウェアって既に
決まっているんじゃないの?」
と考えてしまうかもしれませんが、
実は、元請の時には
それは、ほとんど当てはまりません。

なぜなら、あなたが元請の場合は
通常、クライアントはソフトウェアのプロではなく、
その人が何らかの問題や課題を解決する為に
依頼しているのであって、
ソフトウェアを作る事、そのものが目的ではないからです。
つまり、ソフトウェアというのは手段にしか過ぎないのです。

中には、お客さんが
ばっちり、どの様なソフトウェアを作るか
決めてくる場合もあり、
下請の場合はそのケースが多いのですが、
元請の場合は、例外と言っても良いくらい少数です。

つまり、エンジニアが
ソフトウェアのプロとして
どの様なソフトウェアを作るかを
決めていかなければいけないのです。

ここが、狂うと
その後の工程でいくら頑張っても
取り戻しは効きません。

なぜなら、一番最初の
「何を作るか?」が違ってきてしまえば、
その後いくら、
設計をバッチリやって、
高度な技術を駆使してプログラムを行ない、
万全のテストをしたとしても、
それは「凄いソフトだけど、違うもの。」に
なってしまうからです。

ですから、一番最初の「要件定義」は
きちんとやって、
クライアントの課題や問題を解決できるものに
しておく必要があります。

お客さんの立場になって考える・・・

これは、いろいろな商売で言われている事ですが
ソフトウェア開発の技術者が
お客さんの立場になって考える場所は
まさに、ここです。

ここで、こけると
その後いくら頑張っても
お客さんの満足を得られる事はありません。

この後の工程に携わる人達の
努力を無題にしない為にも、
一番最初の要件定義は
クライアントとのコミュニケーションを密にして
しっかりとやっておく必要があります。