要件定義の問題点

はじめに

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

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

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

要件定義の丸投げ

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

無理な受注

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

人材紹介会社の利益構造

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

エンジニアの責任範囲

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

発注側の保身

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

関連記事

賢いコスト削減

投資と競争力

バックヤードのシステム開発は収益と直接結びつかないため、できるだけケチりたいものである。にもかかわらず、バックヤードのデジタル化には大きなコストがかかる。しかし、新しいインフラに適切な投資ができない企業は競争力を失うのである。

要件定義の罠

バックヤードのシステムをできるだけ安く抑えようと思うと、要求定義や要件定義をしっかり作って依頼すればよいと考えがちである。もちろん、間違ってはいないが、入り口が安くなるわりに、システム開発の途中で追加工数が発生してしまい、結果としてシステムが高くなってしまうのである。

未来志向の要求

システム開発の途中で追加予算がかかってしまうのは、最初の要求定義や要件定義のときに想定される未来が見えていないことが原因である。これを見通すには要求定義や要件定義を行う背景や、未来の目指すところまでをエンジニア出身のアナリストに情報共有しなければならない。

投資の真価

導入時の金額だけをケチることは、保守運用などのランニングコストに跳ね返ってきてしまい、システムの寿命が短くなる。そうならないために、第三者のIT業者やITコンサルタントを入れるほうがよいと言われている。うまくDX化できれば生産性が上がり、投資を大きく回収できる。ことIT投資については、竹槍戦か空中戦かくらいの違いを生んでしまうのである。

まとめ

システム設計やプログラミング作業と同じようにITコンサルタントも1人の能力に偏りがちである。それゆえ、PMOと呼ばれるチームを形成することで、集合知を活用して、さらに未来を予測できるような体制を構築することが望ましい。

続きを見る >

効率化の誤解

目標設定の要諦

SESと呼ばれる派遣や準委任契約では、プロジェクトを完遂することが難しいとしている。これはゴールが未設定であったり、曖昧になってしまう場合が多くあるからである。ゴールの設定や未来像は非常に重要で、プロジェクトマネージャーなどリーダーが必ず持っておくべき指針である。

真のリーダー像

システム開発に参画するメンバーは一般的に経歴書やスキルシートによって決まる。プロジェクト経験数が多かったり、扱える言語が多かったりするだけでは、本当のスキルは推しはかれない。やはり、確認すべきは不測の事態が起きたときの対処方法を豊富に持つリーダーが必要となる。

アジャイルの本質

犬小屋を建てるときに設計書はいらないが、マンションを建てるには設計書がいる。アジャイル開発といっても、例えばマンションを設計図なしに建てるといったことを考えるとある程度は見通しや知見などを持つメンバーが方向性を決めていく必要がある。システム開発はその時その時の条件によっていい悪いの判断軸が変わる。さらに時間の経過でも判断軸が変化していくのである。

部分最適の罠

日本には「カイゼン」という高度経済成長期を支えた力強い言葉がある。しかし、時と状況によって判断軸が変わるソフトウェアという無形財産の前では、「善」に「改」めることができているのか、変化してしまう背景がある。職人気質である国民性も相まって、どうしても部分改善、部分最適を繰り返してしまうというプロジェクト現場が少なくない。

まとめ

システム運用や保守における部分最適は必ずしも全体最適になるわけではない。むしろ、この部分最適が全体を考えたときの労働生産性を下げていることすらある。小回りが利く人であればあるほど属人化してしまったりするため、誰が全体最適を見るのがベストなのか、改めて考える必要がある。

続きを見る >

ローコードとは何か

ローコード開発の基本

ローコード開発とは、従来のプログラミングで必要だった複雑なコード記述を大幅に削減し、視覚的なインターフェースを使ってアプリケーションを構築する開発手法である。ドラッグ&ドロップや設定画面を使って、まるでパズルのピースを組み合わせるように機能を実装できる。これにより、プログラミング経験が少ない人でも短期間でアプリケーションを作成することが可能になった。従来なら数か月かかっていた開発が、数週間で完成することも珍しくない。

注目される背景

現代企業が直面するデジタル変革(DX)の波により、業務システムの迅速な構築・改善が求められている。しかし、IT人材不足は深刻化しており、従来の開発手法では変化の速いビジネス要求に対応しきれない。また、コロナ禍を経てリモートワークが普及し、業務プロセスのデジタル化が急務となった。こうした背景から、非IT部門でもシステム開発に参加できるローコード開発が注目を集めている。市民開発者と呼ばれる現場担当者が直接システムを構築することで、真にビジネスニーズに合致したソリューションを素早く提供できるのである。

具体的なメリット

ローコード開発の最大のメリットは開発スピードの圧倒的な向上である。従来の開発では要件定義から運用まで半年以上かかっていたプロジェクトが、1〜2か月で完成する。また、専門的なプログラマーを雇用する必要がないため、人件費を大幅に削減できる。さらに、ビジネス要求の変化に応じて素早く修正・拡張が可能で、従来のシステムのように大規模な改修を必要としない。ユーザー自身が開発に関わることで、仕様の齟齬が生じにくく、より実用的なシステムが構築できる点も大きな魅力である。運用保守も簡単で、長期的なTCO削減にも貢献する。

導入時の注意点

ローコード開発を成功させるには、適切な用途の見極めが重要である。単純な業務アプリケーションや社内システムには最適だが、高度な処理や複雑なアルゴリズムが必要なシステムには向かない。また、開発者のスキルレベルに応じた段階的な導入が必要で、いきなり複雑なシステムから始めると失敗リスクが高まる。セキュリティやガバナンスの観点から、適切な開発ルールやレビュープロセスの確立も欠かせない。さらに、従来のIT部門との連携体制を構築し、技術的なサポート体制を整えることで、より効果的なローコード活用が実現できる。

まとめ

ローコード開発は、DX推進において極めて有効な手段である。開発スピードの向上、コスト削減、そして現場主導でのシステム構築を可能にする。ただし、適切な用途選択と段階的な導入アプローチが成功の鍵となる。企業の競争力向上のため、ローコード活用を検討してみてはいかがだろうか。

続きを見る >