要件定義の問題点

はじめに

会社の雰囲気や要件定義の内容をみれば、おおよそそのプロジェクトが成功するか否かがわかる。うまくいかない場合のユーザー側とシステム会社側の原因の一例である。

・要件定義をシステム会社に任せてしまう
・元請けシステム会社が無理な要件でも受注する
・準委任契約の人材紹介会社がリスクなく利鞘を稼げる
・末端エンジニアの作業遂行以外の責任
・ユーザー側、発注側の担当者が保身する

今回はその背景を説明したい。

要件定義の丸投げ

要件定義をシステム会社に任せてしまう。
要件定義はシステム会社がユーザー企業をヒアリングして作るものではなく、ユーザーとシステム会社が議論を重ねることで答えを出していくものにしなくてはならない。ユーザーが目指すべき姿と、システム会社が実現すべき姿のすり合わせが重要である。

無理な受注

元請けシステム会社が無理な要件でも受注する。
無理な要件でも受注できるのは、発注側にもシステムの知識がないため、ゴールが曖昧なまま元請けシステム会社が請け負ってしまうからである。もし、発注側にITリテラシーがなければ、パワハラなども発生する可能性が高い。したがって、元請けシステム会社に精神的な課題を回避するため、要件定義を作る人でさえも二次受けシステム会社から集めてくることがある。

人材紹介会社の利益構造

準委任契約の人材紹介会社がリスクなく利鞘を稼げる。
システムの完成責任は負わず、作業だけ請け負うことになるため、人さえ集めてくれば、そこでリスクなく利鞘が稼げる。発注側のユーザー企業からすれば、契約は元請けシステム会社であるため、3次請け、4次請けを使おうが、完成さえすればいいと考えていることが多い。

エンジニアの責任範囲

末端エンジニアの作業遂行以外の責任。
末端のエンジニアには、クライアントとの調整や導入、一定品質や納期の遵守など、責任感や危機感がないこともある。プロジェクトの全貌が見えないことも原因である。また、言われたことをやるだけで報酬がそこそこあるのが、システムエンジニアの業界だったりするので、作業をした時間分だけ報酬を支払ってほしい、という話にもなる。

発注側の保身

ユーザー側、発注側の担当者が保身する。
システム開発がうまくいかなかったときに、発注側の担当者がシステム会社に責任を押し付けるといったことがある。これは信頼関係によるもので、共同でプロジェクトを成功させようという目標が作れなかった場合に発生する。システム会社を業者扱いして要件定義を丸投げしてしまわないようにしなければならない。

関連記事

業務可視化によるDX推進

真の業務改善への道筋

いきなり顕在化しているアナログをデジタル化するだけでは業務改善とは言えない。真の業務改善を実現するためには、表面的な問題解決ではなく、根本的な業務の見直しが必要である。業務を可視化して正しい業務分析を行うためには、ある程度のステップを踏む必要がある。単純なデジタル化は一時的な効率化にとどまり、長期的な競争力向上には繋がらない。

目的とゴール設定

まず、目的とゴールを明確にする必要がある。なぜ業務分析をするのか、何を達成したいのかを明文化することが重要である。例えば、「手戻りを3割減らす」「問い合わせ対応時間を半分にする」「余剰コストを1千万円削減する」などの具体的な数値目標を設定する。曖昧な目標設定では、後の分析や改善施策の効果測定が困難になってしまう。定量的で測定可能な目標を立てることで、分析の方向性が明確になり、成果を客観的に評価できるようになる。

業務の可視化技法

現在の作業タスクのすべてをまずは網羅的に洗い出して、分類を行う。複数担当者で付箋にタスクを書き出し、重要度マトリクスや緊急度マトリクスで整理する方法が非常に有効である。また、必ず用意しておきたいのが、業務フロー図と業務の分担表である。誰が、いつ、どこで、何をしているかを図式化することで、無駄や重複、ボトルネックが浮き彫りになる。このプロセスにより、今まで見えなかった非効率な作業や不要なプロセスを発見できるのである。

根本原因の探求

課題の本質がまとまったら、重要な事項と緊急の事項などを切り分けて、本質的ではない事項は思い切って削除や軽減を検討する。また、抽出した課題は小さな原因に分解していき、根本原因を探る(要因分析)。リソースが限られる場合には、ABC分析(例えば顧客ランク別)で、重要顧客に注力できるよう業務配分や訪問頻度などを見直す。定量データや日報などのログ、クレームデータの活用も効果的である。AIで課題を解決するより前に、膨大な過去データをAIに処理させるのも良いだろう。

まとめ

定量化・定性化できれば、効果検証につなげる改善策と実行計画を策定する。正しい業務分析とは、単なるデジタル化ではなく明確な目的に基づいて、ボトルネックを可視化し、データと構造化された分析を行うことなのである。継続的な改善こそが真のDXを実現する。

続きを見る >

モックアップの料金

要件定義の意義

ユーザーの要件を明確にすることで、開発の方向性がブレず、無駄な修正や手戻りを防ぐことができる。定期的なミーティングやレビューセッションを通じて、開発者はユーザーのニーズを正確に把握し、ドキュメント化やモックアップ化することが重要である。

試作品の価値

SEはユーザーに具体的なイメージを持ってもらうために、プロトタイプやモックアップを作成し、ユーザーに確認してもらうことで、誤解や認識のズレを減らす。これにより、実装後の大幅な変更を回避できる。

モックアップの功罪

モックアップの作成は有料であることが多いようである。また、非エンジニアがシステム技術を意識しないモックアップであれば、その後の開発が複雑になってしまうといったことも考えられる。

ユーザー主導開発

モックアップを用いてユーザーがシステムの機能や開発プロセスについて理解を深めることで、適切なフィードバックを提供することが大切である。開発チームとのコミュニケーションも円滑になり、無駄な手戻りや修正を減少する。

まとめ

システム開発におけるユーザーと開発チームのコミュニケーション改善が、システム開発コストを軽減する。そのためには視覚的にコミュニケーションできるモックアップは重要であろう。

続きを見る >

開発の相場

相場の不在

フルスクラッチでのシステム開発に相場はない。相場とは商品が一般的に流通している商品など数が多い場合は、競争原理も働き、金額がある一定の範囲に収まってくるものである。

建築との差異

たとえば、一戸建て建築であれば、建物の規模と資材、それに加えて職人の人工で金額が決まる。フルスクラッチのシステム開発は、つまり極めて特殊な特注品を作るようなものであるため、システム開発に相場という概念が基本的にはないのである。

人件費の実態

システム(ソフトウェア)は一戸建てのように、基本的には材料費はかからない。システム開発の費用のほとんどは人件費である。大工職人の人工と同じように人月単価と呼ばれるSE1人が1ヶ月働く金額で相場を知ることができるのである。

工期の変動

建物を建てることと比べるとシステムやソフトウェアは無形の物となるため、1ヶ月の労働力を推し量ることは困難である。個人のプログラミングの早さによって、納期が早くなったり遅くなったりするのである。

まとめ

SEは過去のプロジェクト参画実績から、同じようなプロジェクトに何度も参画していれば手練れでスキルが高いと評価される。システムに関わる人材の評価が困難な点は、プロジェクトに参画する経験値と、本当の意味でのスキルが比例するわけではないことである。本当の意味でのスキルとはプロジェクトを成功させられるかどうかを指すのである。

続きを見る >