ソフトウェア開発の流れを説明する前に、現実社会のイメージから考えます。友人から犬小屋を作ってほしいと依頼があったとします。
はじめに、友人が思い描く犬小屋を聞く必要がありますね(友人同士なら勝手に作ってもいいかもしれませんが)。例えば、「サイズは中型犬がゆったりできるぐらい大きくしたい」「中に餌を置ける棚が欲しい」「色はスカイブルーにしてほしい」などの具体的な要求事項を確認します。
作りたい犬小屋の概要が決まったら、犬小屋の設計図を作成します。設計図を描くことで、どんな材料をどれだけ買うか、どんな道具を使うか、コストはいくらかかるか、何日で完成するかが分かります(逆に、想定した予算の5倍かかるなどの問題点も明らかになります)。「柱をどのように立てるか」「板をどう組み合わせるか」のように、プラモデルの設計図をイメージすると分かりやすくなります。
設計図を描く場合のコツは、まとめて全部を描こうとせず、幾つかの塊に分割することです。犬小屋といえど、全体をまとめて考えようとすると、考慮すべきことが多く、大きく、複雑になります。そこで、骨組み、屋根、餌スペースなどのまとまりに分割します。
設計図を作った後、設計図に従って犬小屋を作成します。設計図通りに作ることは簡単ではなく、職人的なスキルが必要です。例えば、設計図通りに板がはまらなかったり、くぎを打ち間違ったりなんて問題点が発生します。
犬小屋が組み上がっても、まだ完成ではありません。再度、当初の要望通りにできているか確認します。例えば、「本当に犬が入れるスペースがあるのか」「色はスカイブルーになっているか」などです。いざ確認すると、色にムラがあったり、餌の棚の位置が高過ぎたりなどのミスがたくさん見つかります。その都度、修正せねばなりません。
自分で確認した後、友人と最終チェックをします。ここで悩ましいのは、いざ完成品を確認すると、友人が「やっぱ色は赤がよかったな」「あの時、言ってなかったんだけど、実はね……」なんて言い始めることです。こんな場合でも、友人の要望に応えるべく頑張って最終の修正を行います。
以上が、犬小屋を作る一連の流れですね。では、ソフトウェア開発ではどうでしょうか。
Copyright © ITmedia, Inc. All Rights Reserved.