要件定義のアプローチ

要件定義の基本

すべてをシステムで解決してしまおうとする要件定義には注意が必要である。システムの成功の可否は要件定義にかかっていると言っても過言ではない。しかし、十分に要件定義の時間を使ったにも関わらず、ITプロジェクトが失敗することがある。

規模別の要件定義

システム構築の規模によって、要件定義の粒度が変わる。小さなITプロジェクトの場合は要件定義をせずにプロトタイプを作りながらシステム構築を進めるといった方法がある。これをアジャイル開発、プロトタイプ開発と呼ぶ。

要件定義の本質

要件定義の粒度は時間を掛ければ細かくなるわけではない。ユーザー側でも要件定義を進めるにつれて、想定している機能の矛盾点が出てくることがある。この矛盾点を解消していくこと自体を要件定義としてはならない。要件定義はあくまで本質的なコアとなる部分から膨らませることが重要である。

対話型要件定義

要件定義フェーズで失敗するパターンは、ユーザー側との対話ではなく、システム会社側がヒアリングに徹する場合である。ユーザー側はITを利用してどのようなことができるかを知らない可能性が高いため、システム専門家がそれを鵜呑みにした仕様で要件を固めてしまうと、製造工程で無駄な工数が発生し予算をオーバーしてしまうことがある。

まとめ

本質的な要件をコミュニケーションによって、はっきりさせていく作業こそが要件定義と言えるのである。さまざまな視点から何度も繰り返し要件をなぞることで粒度が落ちていき、適切な要件定義書となる。何でもかんでもシステム化せず、オペレーションとの関係性を見合わせながら進めることが望ましい。

関連記事

中小企業のローコード活用法

ローコードの重要性

中小企業の経営者は、システム開発に数百万円かかると諦めがちである。しかし実際は、ローコード・ノーコードツールの進歩により、従来の1/10のコストと時間でビジネスアプリケーションを構築できる時代となった。大企業のような潤沢なIT予算がなくても、スピーディーで柔軟なシステム開発が可能になったのだ。むしろ、意思決定が早く、組織がフラットな中小企業の方が、ローコードの恩恵を最大限に活用できる環境が整っているといえるだろう。

コスト削減効果

ローコード導入により、中小企業は複数の大きなメリットを享受できる。まず開発コストの大幅削減である。従来のスクラッチ開発では500万円かかっていたシステムが、ローコードなら50万円程度で実現可能となる。次に開発期間の短縮効果も見逃せない。半年かかっていたプロジェクトが1〜2ヶ月で完成し、市場投入スピードが格段に向上する。さらに、専門的なプログラミング知識がなくても、現場の業務を理解している社員が直接システム構築に参加できるため、真にビジネスニーズに合致したアプリケーションが生まれるのである。

成功のポイント

実際にローコード導入で成功を収めた中小企業には共通する特徴がある。第一に、経営層がデジタル変革の重要性を理解し、積極的にサポートしていることだ。トップダウンでの推進により、組織全体の協力を得やすくなる。第二に、小さく始めて段階的に拡大するアプローチを取っていることである。いきなり基幹システムを刷新するのではなく、顧客管理や在庫管理など特定の業務から始めて成功体験を積み重ねている。第三に、社内のキーパーソンをローコード開発の推進役として育成し、継続的な改善サイクルを構築していることが挙げられる。これらの要素が揃うことで、導入効果が最大化されるのだ。

競争優位の実現

ローコードは単なるツールではない。中小企業が大企業と対等に競争できる武器であり、むしろ機動力を活かして大企業を上回る成果を生み出せる可能性を秘めている。従来のシステム開発では不可能だった「現場主導のデジタル化」が実現し、真の意味でのDX推進が可能となる。重要なのは、完璧を求めすぎずに、まず一歩を踏み出すことだ。小さな成功体験から始めて、徐々に範囲を拡大していけば、必ず大きな成果につながる。

まとめ

中小企業にとってローコードは、限られた予算と人材でも効果的なシステム開発を実現できる革新的なソリューションである。コスト削減、開発期間短縮、現場主導の改善という三つの大きなメリットを活用し、段階的なアプローチで導入を進めることが成功の鍵となる。デジタル変革は大企業だけの特権ではないのだ。

続きを見る >

開発費用値下げの危険性

開発手法の選択基準

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

設計書の必要と課題

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

設計書の粒度と要因

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

文書管理の現状

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

まとめ

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

続きを見る >

SEのいうバッファとは

バッファの真意

見積りや作業スケジュールに際して、エンジニアやシステム会社から「バッファである」という回答を受けたことはないか。システム会社が言うバッファとは保険を意味していることがほとんどである。

不確実なバッファ

非エンジニアは見積りのバッファを聞いたときに、無駄なのではないかと感じる。「念のため」に必要なバッファは、裏を返すと知識がないから調べないと分からないので不安であるという意味である。知識があり、「念のため」が必要なければバッファはないと考えられる。

知識の不足

ほとんどのシステム構築プロジェクトは、バッファが多いほうが知識がないのに見積りが高くなるという矛盾が発生することになる。そう考えると「バッファ」とは「無駄」に聞こえるかもしれない。

本質のバッファ

さて、このバッファについて本来あるべき姿を説明する。本当にやってみなければ分からないといった高度な技術を使うときに、未知の領域に関するスケジュールの影響を勘案し、計画された期間のことをバッファと見るべきである。

まとめ

単なるシステム構築プロジェクトにおいて「無駄を削ればよい」というのは非エンジニアから見ると合理的でコストの軽減にもなる。しかし、研究開発分野において無駄を削ることは必ずしも合理的ではない。発想が乏しくなるからである。

続きを見る >