要件定義の問題点

はじめに

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

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

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

要件定義の丸投げ

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

無理な受注

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

人材紹介会社の利益構造

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

エンジニアの責任範囲

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

発注側の保身

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

関連記事

生成AI活用術

生成AIと業務の未来

近年、ChatGPTをはじめとする生成AIが急速に普及し、ビジネスシーンでの活用が注目されている。文章作成、データ分析、アイデア創出など、これまで人間が時間をかけて行っていた業務を、AIが短時間で支援できるようになった。特に中小企業においても導入ハードルが下がり、生産性向上のための強力なツールとして認識されつつある。しかし、単にツールを導入するだけでは効果は限定的である。業務フローに適切に組み込み、活用方法を理解することが成功の鍵となる。

5つの活用法

生成AIは様々な業務シーンで活用できる。まず、メール文面や報告書などの文書作成では、下書きの自動生成により大幅な時間短縮が可能だ。次に、会議の議事録作成では、音声データから要点を抽出し整理できる。カスタマーサポートでは、よくある質問への回答案を即座に生成し、対応品質の向上と担当者の負担軽減を実現する。マーケティング分野では、SNS投稿文やキャッチコピーのアイデア出しに活用でき、クリエイティブな業務も効率化される。さらにデータ分析では、複雑なデータから傾向を読み取り、レポート作成まで支援してくれる。

注意点

一方で、生成AI導入には課題も存在する。最も多い問題は、社員のITリテラシーの差による活用格差である。一部の社員だけが使いこなし、組織全体の生産性向上につながらないケースが見られる。また、生成された内容の精度確認を怠り、誤った情報をそのまま使用してしまうリスクもある。セキュリティ面では、機密情報を不用意にAIに入力してしまう情報漏洩の懸念がある。さらに、AIに過度に依存することで、社員の思考力や創造性が低下する可能性も指摘されている。これらの課題に対しては、適切な社内ガイドラインの策定、定期的な研修の実施、そして人間の判断を最終確認として残す仕組みづくりが重要である。

活用の3原則

生成AIを効果的に活用するためには、いくつかのポイントがある。第一に、AIはあくまで「支援ツール」であり、最終的な判断は人間が行うという原則を徹底することである。第二に、段階的な導入を心がけ、小規模なプロジェクトから始めて成功体験を積み重ねることが大切だ。第三に、定期的な効果測定を行い、どの業務でどれだけの時間削減ができたかを可視化することで、改善点が明確になる。また、社内でベストプラクティスを共有し、ナレッジを蓄積することも重要である。AIと人間がそれぞれの強みを活かし、協働することで、単なる効率化を超えた価値創造が可能になる。

まとめ

生成AIは業務効率化の強力な武器だが、導入方法次第で効果は大きく変わる。適切な活用シーンの選定、社員教育、セキュリティ対策を行うことで、組織全体の生産性を飛躍的に向上させることができる。まずは小さく始めて、徐々に活用範囲を広げていくことが成功への近道である。

続きを見る >

開発費用値下げの危険性

開発手法の選択基準

大がかりなシステム開発においては、ウォーターフォールモデルという開発手法がとられ、設計書などのドキュメント類も整理してから、プログラミングへ着手する。逆に中小規模なシステム開発においては、アジャイル開発と呼ばれ、プログラミングをしながらシステム開発が進められたり、ドキュメント類は簡易にして、プログラミング工程へ着手するといった方法がとられる。状況に応じて開発手法は使い分ける必要がある。

設計書の必要と課題

建築では図面なく建物を建てることはないが、中小規模のシステムについては簡単な概要だけでシステムの開発ができてしまう。もちろん設計書をしっかりと書いて、要件を詰めてシステム開発を進めることができれば、トラブルもなくていいのではないかと言われる。しかし、設計書を作成するにはシステムをプログラミングすることと同じくらい費用が掛かる。

設計書の粒度と要因

中小規模のシステム開発において設計書が簡易になってしまう理由は、ユーザー側や発注側の予算が乏しいという理由がある。建築のパターンの場合は、法律によって作成しなければならない図面や、施主から同意をもらうべき書類などが決められている。システム開発には法的に作成しなければならない書類が明確にされているわけではないため、この粒度が各社・各エンジニアによりバラツキが発生する。

文書管理の現状

中小規模のシステム開発において、最悪の場合は設計書がないケースもある。小さなプロジェクトの場合は予算も少なく特にドキュメント類がないが多くある。あるいは、システムはアップデートされ続けているのにドキュメントはアップデートされていなかったり、ひどい場合にはシステム保守ベンダーが紛失している場合もある。

まとめ

システム開発に時間がかかる理由は、設計書から作成することでプログラミング作業の2倍以上の時間がかかると言われる。いわゆる動作検証の工程まで入れるとプログラミング作業の3倍程度は時間がかかる。また、システム開発はほとんどが人件費である場合が多く、かかる時間に応じて費用が上がる。つまり、非エンジニアが単純に開発費用を値切ると、プログラミング以外の重要な情報を削っていくことになる。

続きを見る >

開発遅延の打開策

システム開発の現状と課題

数名で開発した初期のシステム構築から、システム会社を変更して大がかりなリプレイスを行い、保守運用を実施しているが、月々の費用が高額であるわりに、開発スピードも遅い。開発スピードが遅いため、新しい機能を実装していけない。

不具合と開発の不透明性

リリースから何年も経っているのに不具合がなくならない。開発会社からの報告が曖昧で何にお金を支払っているのか謎のままであることが多い。

コスト削減と資源最適化

開発スピードを上げるには、システム開発コストの削減をしなければならない。コストを削減するということは、それで浮いたコストを開発に割り当てることができるため、結果的に開発スピードがあがることを意味する。

開発の透明性と妥当性

そのためにしなければならないことは、開発工程や開発過程の見える化および妥当性を担保することである。システムの比較検討ができないため、システム開発のコミュニケーションは一般的なものであると思い込んでいる。システム発注の担当者はシステムのことがわからないから、システム開発の進め方に違和感があったとしても技術者が言うことを信用するほかないと思っている。

まとめ

結果として、技術者の工数と称して月々の費用や、ひどいものでは言語のバージョンアップと称して、何もしていないことに費用を支払っていることもある。不明点はシステム発注の担当者が理解できるまで聞くべきである。

続きを見る >