ソフトウエア開発ってどうしてそんなに大変なの?
前回のマガジンは「職場のコミュニケーションの難しさ」でした。全部で12回投稿しましたが、そろそろ話も煮詰まった感があるので、まったく新しくマガジンを作ってみようと思います。
新しいマガジンは「ソフトウエア開発」にします。
初回は、30年間ソフトウエア開発現場にいて、ソフトウエア開発にとって最大の課題は何かについてです。
環境や言語は時間とともにどんどん新しいものが出てきます。
しかし、時間が経過しても変わらずソフトウエア開発者にとって最大の課題があります。
それはズバリ、「何を作ればいいの?」です。
そんなことわかっているんじゃ無いの? って言われるかもしれませんが、実はこれが非常に難しいのです。
開発環境は時間の経過とともにどんどん良くなっていきますが、この「何を作ればいいの?」はどんどん悪化している印象です。
これは「要件獲得」という工程なのですが、プロジェクトマネジメントでは「スコープ定義」と言います。
簡単言うと、「何をやって何をやらないか」を明確にして、それに付随する成果物と作業を明確化することです。
職種、生活様式、価値観・・などなど、20世紀から比べると本当に様々なことが多様化し、そのためソフトウエア開発に対するお客様の要望も多様化するのは必然で、何をどこまでやるのかの定義がすご~く難しくなったということです。
しかも、プロジェクトマネジメント上の3つの制約、
1)コスト
2)時間
3)スコープ
の中で、品質を確保しなくてはなりません。
競争が激化すれば、できるだけ安く(コスト)、短納期で(時間)、お客様の要望を実現(スコープ)する、ことが求められるので、生産性も上げなければなりません。
ですので、何を作っていいのかよく分からないのにコストと納期の制約があって、だからソフトウエア開発は大変なんだということなんですけど、次回からプロジェクトマネジメントのプロセスに従って、少しずつ分解していき、何をどうすれば楽になるのかという話をしたいと思います。
次回は、「プロジェクトマネジメントとは」の予定です。
よろしければサポートをお願いします。また、何かコメントがあれば情報交換したいので是非お願いします。