ちゃんとわかって書いてます?
2月の特集「楽々デブドックを書こう!」の最終目的は「手戻りを発生させずにシステム開発をスムーズに進める」こと。決して「見栄えのよい開発ドキュメントを書こう」というものではない。本連載「開発☆ドキュン」ではその視点に立ち、よりよい開発ドキュメントの作り方について「妖精さん」と一緒におさらいしている。
さてこの「妖精さん」たちは、デスマーチ一歩手前の状況にある開発現場で死屍累々になっている開発者の皆様を「そっ」とサポートしてくれている頼もしい存在だ。特に「開発☆ドキュン」に登場する「開発ドキュメントの妖精さん」たちは、あなたが意識を失っている間に開発ドキュメントを書いてくれているのである。
…とはいえ、開発ドキュメントの妖精さん自身に必要なスキルがなければ「手戻りだらけの開発ドキュメント」が出来上がりかねない。心配なのは新米妖精のA奈ちゃん。
「最近は、ちょっとは自信があるんですよ〜」
と頼もしい(?)台詞を口にするA奈ちゃんを横目に、「やれやれ」という顔をしているのが先輩妖精のB乃ちゃんだ。
「学校に戻る?(ぼそっ)」
「(がくがくぶるぶる)」
最初に記述するべき要求定義について解説した「第2回:要求分析するドキュよ」に引き続き、第3回となる今回は外部設計についてみていこう。
図1:要求定義から要件定義へ
第3話「要求定義はシステムのゴールを決める!」
「さて問題です。システム開発のゴールってなにかしら?」
「はい! システムが完璧に動作することです!」
「(※ためいき※)」
「え、え、違います?」
「…間違いといえない部分もあるのだけど、それでは正解とはいえないのよね」
「それはどういうことでしょう?」
「何をもって『完璧に動作しているか』とみるかが問題なのよ」
「確かに。でもその部分は要件定義をしたときに『何をしたいか』がわかっているわけですよね?」
「必要な要件は決まっていたとして、どうシステム化するかについては決まっているかしら?」
「だからそれをシステム化…」
「もう一度、学校?」
「(がくがくぶるぶる)」
「まぁいいわ。要件は要件。それをどのような環境やプログラムで実現するかを決めなければ、開発は進められないの。そこを考えないで開発をはじめてしまって、いざ納品のときに『いやーうちの会社の機材だと、それは動かせないんですよね』っていわれたら、最強の手戻りが発生するわよね?」
「恐怖のデスマーチですね!」
「そうならないためにも、どんな構成の環境で動作させるかといった要求を定義して、それを基にシステムを設計していく必要があるのよ」 次のページ