開発の遅延「技術的にはできます」の罠

素人仕様と開発遅延

なぜ、システム開発の進捗が悪いのか?
それは、ずばり素人が考えた仕様を開発者に伝えてしまうからである。
すべての原因ではないが、もしシステムのユーザー側の現場担当者や営業担当者がシステム仕様を決めている場合は、ほとんどの場合で満足のいくスピード感はだせていない。

潜む技術的負債

システム仕様さえ伝えていれば、きちんと動くものを作ってくれるので、あとはスピードを上げるだけ。と考えているようであれば、技術的負債が溜まっていることに気付けていない。非エンジニアが決して理解できない技術的負債の怖さは、開発スピードが遅いということだけではない。開発者側から見てシステムが複雑になっていて、メンテナンス性も低い状態になっている。

「できます」の罠

非エンジニアには技術的負債は見えないし説明もわからないことと思う。しかし、技術力でカバーしてくれているから、きちんと動いているのだと思っているなら、それは実は技術力ではない。
「技術的にはできます」このような言葉を聞いたことはないか?
システムエンジニアは「できない」と言えない。「できないことはない」ということが価値なので、素人が考えたシステム仕様でも、言われた通りに作ってしまう。

持続可能な開発へ

システムエンジニアから「技術的にはできます」を聞いたときは、いったん立ち止まるべきである。
エンジニアには、様々な影響範囲や未来のメンテナンス性への懸念などが見えている。これを必要以上のコストだと考えるのか、必要コストと考えるのかで、技術的負債は変わる。

まとめ

自分の理解の範囲でしか人間は発想しないので、システムのことを知らない非エンジニアは、システム仕様を考えるべきではないと言える。また逆に、システムにおいてはシステムエンジニアの方が発想の幅は広いが、業務に関する知識は乏しい。
システムをよく知り業務のこともわかるシステムエンジニアがシステム仕様を考えるべきだが、そんな万能な人は多くはない。だから、その間を取り持つ人間が重要なのである。

関連記事

要件定義のアプローチ

要件定義の基本

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

規模別の要件定義

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

要件定義の本質

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

対話型要件定義

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

まとめ

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

続きを見る >

運用の昇華

開発現場の想定外

基幹システムの開発現場では、最初に想定した仕様とは異なる業務フローが後から発覚することが多い。

マネジメントの試金石

後から発覚した業務フローは、すでに構築が進んでいるシステムに組み込むことが難しいため、どのように対応するかがプロジェクトマネージャーの腕の見せ所である。

プロジェクトの舵取り

プロジェクトマネージャーとは何かと問われたときに、一言で言い表すならば、不測の事態にどのように対応できるか、ということではないかと考える。プロジェクトが何の問題もなく、完遂できることは少ない。したがって、イレギュラーケースが発生した時にどのような手立てを打てるか、迅速に行動できるかがプロジェクトマネージャーのレベルとなる。

パートナーシップの重要性

プロジェクトマネージャーがシステムの完成しか考えていなければ、途中から発覚した仕様は「運用でカバーせよ」とユーザー側に責任を押し付けてしまうことがある。しかし、より良いシステムを目指す、パートナーとしてであればこの回答は好ましくない。

まとめ

どのような事象がきっかけで、途中で使用漏れが発覚したのか、プロジェクトの進行状況を見ながら、ひも解くことが重要である。運用でカバーというユーザー側だけにだけ負担をさせるのではなく、運用をカバーするようなシステムを構築できるのが理想である。

続きを見る >

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

ローコードの重要性

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

コスト削減効果

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

成功のポイント

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

競争優位の実現

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

まとめ

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

続きを見る >