松田 幸裕 記
以前の投稿「ITは社会に、企業に、人に貢献できているのか?
」の投稿で、使われていない機能の存在について触れました。
市販のパッケージ製品は幅広いユーザー向けに作られているため、あまり使われない機能があるというのは仕方ないですが、独自開発した業務システムなどで使われない機能が多いというのは問題です。
本投稿から数回に分けて、使われない機能がITに多く存在する理由を掘り下げていきたいと思います。
別の投稿でも触れていますが、使われない機能が多い主な原因の一つとして、システム開発プロセスの問題があると思います。
例えば、IT側の人間はプロジェクトの期日を守るために、上流フェーズの要件定義で仕様を確定し、あとはスケジュール通りに設計、開発、テストを粛々とこなしたいという思いを持っています。そして要件定義後にユーザー側から追加の要望が出ても、「追加費用がかかります」として拒みます。
このような事情もあり、ユーザー側は「必要な可能性のある機能」を要件定義フェーズ内でなんとか押し込もうとします。その結果、必要のない機能がふんだんに盛り込まれたシステムが出来上がります。
ここで「IT側の人間」と書いたのは、多くの場合SIerです。設計フェーズ以降は請負契約で進めることが多く、プロジェクトの遅延やプロジェクト途中の機能追加はSIer側の利益率に大きな悪影響を与えます。よって、請負契約前の上流フェーズで要件を確定したい気持ちもわかります。更にそのような状況で、ユーザー側が「必要な可能性のある機能」をなんとか押し込もうとする気持ちも理解できます。
このように、現状のウォーターフォールでの開発、請負での一括発注など、原因はいくつかあります。アジャイルの各種手法、BABOK、ユーザー中心設計、オルタナティブSIと呼ばれる考え方など、使われない機能の存在を少なくするためのノウハウは各所に存在するため、うまく活用してITの価値を上げていきたいですね。