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

素人仕様と開発遅延

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

潜む技術的負債

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

「できます」の罠

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

持続可能な開発へ

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

まとめ

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

関連記事

フルスクラッチは体力

開発手法の選択

フルスクラッチかパッケージか、最近ではSaaSなどもシステム構築の検討に入る。実は開発手法やツールよりも、どのようなシステムで、どれくらいの規模のシステム開発会社が担当するかが重要である。

SESのリスク

人数が多い会社であればあるほど安心感があってよいと安易に考えることは適切ではない。なぜなら、SE派遣やSESと呼ばれる人月(人工)単位で売り上げの経つ会社には技術の総合力がないからである。

技術の総合力

技術の総合力とは、SE作業やプログラミング作業などの1人で対応できる技術力を差すのではなく、システム構築やシステムの運用全般における最適手段を考えることができる能力のことである。

表層の即効性

SE派遣やSESの付加価値はその人単体のプログラミング能力に偏るため、一見対応がよく、何も問題がないように思える。しかし、これが技術的負債を作ってしまうひとつの要因でもある。

まとめ

フルスクラッチを考えるなら、SESを中心としないシステム会社で且つ人数規模も多い方がよい。安価にフルスクラッチでシステムを構築してしまうと、メンテナンスや運用でしっぺ返しが待っている。時間が経つごとにシステム保守費用が高くなるのである。

続きを見る >

開発費用値下げの危険性

開発手法の選択基準

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

設計書の必要と課題

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

設計書の粒度と要因

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

文書管理の現状

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

まとめ

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

続きを見る >

Power Platform導入の注意点

業務変革の実現

Microsoft Power Platformは、Power BI、Power Apps、Power Automate、Power Pagesなどの複数のサービスで構成される統合プラットフォームである。ローコード・ノーコードでアプリ開発やデータ分析、業務自動化が可能になり、企業のDX推進において重要な役割を果たしている。専門的なプログラミング知識がなくても、業務担当者が直接システムを構築できる革新的なソリューションとして注目されている。

導入前の課題

Power Platform導入を成功させるには、事前の課題整理が不可欠である。まず組織内のITリテラシーレベルを把握し、適切な教育体制を構築する必要がある。また、既存システムとの連携方法や、データガバナンスの方針を明確にしておくことも重要である。さらに、開発したアプリやフローの管理・運用体制、セキュリティポリシーの策定、ライセンス管理の仕組みも事前に検討しておく必要がある。これらの準備不足は導入後の混乱を招く可能性がある。

セキュリティリスク

Power Platformの手軽さは、一方で「野良アプリ」や「シャドーIT」のリスクを生み出す。業務担当者が独自にアプリを開発し、適切な管理なしに運用されるケースが増加している。これにより、機密データの不適切な取り扱いや、セキュリティホールの発生、システム全体の統制が取れなくなる問題が生じる。また、外部サービスとの不適切な連携により、データ漏洩のリスクも高まる。組織全体でのガバナンス体制確立と、定期的な監査・レビューの仕組みが必要不可欠である。適切なアクセス権限管理とデータ分類も重要な対策となる。

成功の戦略

Power Platform導入を成功させるには、段階的なアプローチが効果的である。まず小規模なパイロットプロジェクトから始め、成功事例を積み重ねながら組織全体への展開を図る。この過程で、社内のベストプラクティスを蓄積し、標準化されたテンプレートやガイドラインを整備することが重要である。また、継続的な教育プログラムの実施、専門チームによるサポート体制の構築、定期的な効果測定と改善サイクルの確立も欠かせない。技術的な側面だけでなく、組織文化の変革も視野に入れた長期的な取り組みが成功の鍵となる。

まとめ

Power Platform導入は大きな可能性を秘めているが、適切な準備と計画なしには失敗のリスクも高まる。セキュリティとガバナンスの確立、段階的な導入アプローチ、継続的な教育と改善が成功の要件である。組織全体での取り組みが不可欠である。

続きを見る >