フルスクラッチは体力

開発手法の選択

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

SESのリスク

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

技術の総合力

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

表層の即効性

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

まとめ

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

関連記事

従来開発 vs ローコード開発比較

基本概念

企業のデジタル化が加速する中、システム開発手法の選択は事業成功の鍵を握る重要な決断となっている。従来開発は、プログラマーがコードを一から書き上げる伝統的な手法で、高い技術力と豊富な経験が求められる。一方、ローコード開発は視覚的なインターフェースを活用し、最小限のコーディングでアプリケーションを構築する革新的なアプローチである。両者の特徴を正しく理解することで、プロジェクトに最適な選択が可能になる。

費用対効果

従来開発では高度なスキルを持つエンジニアの確保が必要で、人件費が開発コストの大部分を占める。特に大規模プロジェクトでは、設計から実装、テストまで長期間の人的リソースが必要となり、総コストは数千万円規模に達することも珍しくない。対してローコード開発は、専門知識が少ない人材でも短期間でアプリケーション構築が可能で、初期投資を大幅に削減できる。しかし、プラットフォームのライセンス費用や将来的なカスタマイズ制約を考慮すると、長期的なコスト効率は慎重に検討する必要がある。

開発速度

開発期間において両手法の差は歴然としている。従来開発では要件定義から本格運用まで数ヶ月から数年を要するケースが一般的で、複雑な機能実装には綿密な設計と段階的な開発が必要である。一方、ローコード開発は既存のテンプレートやコンポーネントを活用することで、数日から数週間での迅速なプロトタイプ作成が可能である。特にビジネスアプリケーションや内部管理システムでは、従来開発の10分の1以下の期間で実装できる場合もある。ただし、複雑なロジックや高度な機能が必要な場合は、結果的に従来開発と同等の期間を要することもあるため、プロジェクトの性質を見極めることが重要である。

品質と制約

システムの品質面では、それぞれ異なる特徴がある。従来開発は細部まで制御可能で、パフォーマンス最適化や独自機能の実装において高い品質を実現できる。セキュリティ要件が厳格なシステムや大量データ処理が必要な基幹システムでは、従来開発の柔軟性が威力を発揮する。ローコード開発は標準化されたコンポーネントを使用するため、一定の品質は保証されるが、プラットフォーム依存による制約がある。また、複雑な業務ロジックの実装や外部システムとの高度な連携において、期待する品質レベルに到達できない可能性もある。品質要件と開発リソースのバランスを慎重に評価することが成功の鍵となる。

まとめ

最適な開発手法の選択は、プロジェクトの目的、予算、期間、品質要件を総合的に評価して決定すべきである。ローコード開発は迅速性とコスト効率に優れ、内部業務システムや簡易的なWebアプリケーション開発に適している。従来開発は高い技術的要求や独自性が必要なシステムに最適である。重要なのは、どちらか一方に固執するのではなく、各プロジェクトの特性に応じて柔軟に選択することである。

続きを見る >

野良アプリは排除すべきか?

「便利」の裏にある現場IT

シャドーITとは、企業の情報システム部門が認知・管理していない状態で、現場の判断によって導入・利用されるIT資源を指す。具体例としては、LINEやGoogleドライブ、Excelマクロなど、日常業務の中で自然発生的に使われるツールが挙げられる。これは企業としての統制外にある一方、現場の即応性や利便性を追求した工夫の結果でもあり、単なるルール違反と一括りにはできない。ゆえに、これを「排除すべき野良アプリ」として扱うことが妥当かどうか、慎重な見極めが必要である。

IT部門を飛び越える理由

現場がシャドーITを使う背景には、既存システムの使い勝手の悪さや、IT部門の対応の遅さといった事情がある。業務は待ってくれない以上、迅速な判断や情報共有のために、現場が自ら使いやすいツールを選ぶのは自然な流れである。たとえば、社内の共有フォルダではなくGoogleドライブを使ったり、煩雑な申請フローをExcelマクロで簡素化したりといった工夫は、業務効率の向上に寄与している。現場がスピードと柔軟性を求める限り、IT部門の枠組みに収まらないツール活用は今後も続くはずだ。

シャドーITのリスク

便利な一方で、シャドーITには深刻なリスクも存在する。まず、セキュリティが担保されていないツールの使用は、情報漏洩やマルウェア感染といったリスクを高める。また、IT部門の管理外にあるため、データの一元管理ができず、連携の取れないシステムが乱立することで、かえって非効率になることもある。最悪の場合、コンプライアンス違反や内部統制の崩壊を引き起こす可能性も否定できない。利便性の裏には常にリスクが潜んでいるという現実を直視する必要がある。

市民開発と再定義

ただし、シャドーITの存在は、現場が自らITを活用しようとする前向きな姿勢の表れでもある。近年ではDXの進展に伴い、「市民開発」や「ローコード開発」など、現場主導のIT活用が注目を集めている。従来は否定されてきたシャドーITも、企業変革の一端を担う可能性を秘めている。IT部門がすべてを統制するのではなく、現場と協力しつつガバナンスを効かせる視点に立てば、シャドーITは排除すべき“野良”ではなく、むしろ育てるべき“創造”として再定義できるはずだ。

まとめ

現場の柔軟性と全社最適を両立させるには、両者を理解した経営の舵取りが欠かせない。「排除」ではなく「共存」の設計に踏み出すことこそが、企業のDXを推進するための鍵となる。

続きを見る >

QCDの死角

失敗の正体

システムの失敗は見えないことがある。ブラックボックスであるがゆえに隠せてしまうからである。失敗かどうかの線引きができないところがシステム構築プロジェクトの難しいところである。

エンジニアの真実

もしかしたら、エンジニアが都合の悪いことは隠していることがあるかもしれない。しかし、決めつけてしまうとエンジニアはへそを曲げてしまう可能性がある。隠しているつもりはなくても隠れていることもある。

成功の境界

失敗の線引きは、納期が遅れることであろうか。バグが多いということであろうか。実は、状況によって一概に言えないのである。QCDという言葉があるが、品質と費用と納期のバランスを上手にとったとしても成功か失敗か、すぐにはわからないのがシステムという無形物である。

コスパの本質

コスパという言葉があるが、かけるコストに対して、どれだけのパフォーマンスが出せるかが問題となる。システム開発では、コストからやりたいことを計算するのではなく、やりたいことを明確にしたうえで、コスト内でリッチ度合いを調節することが重要である。

まとめ

システム開発においては、失敗が見えにくいため、失敗しないように見えるのかもしれない。失敗しないことは、成功であるということでもない。時間が経つにつれて失敗を感じることもあり得るのである。

続きを見る >