超高速開発(ローコード開発)ツールは、開発コストの増加やプロジェクトの長期化、情報管理の困難さやその後の運用や変更管理の難しさなど、従来型の開発が抱える多くの問題点が解消されることを期待されて生まれてきました。
それでは従来型の開発はどのような問題点を含んでいるのでしょうか。
従来型開発における問題点について考えていきましょう。
構築スピードの遅さ
従来型の開発方法では、システム構築に時間がかかってしまう多くの要因を抱えていました。
たとえば各工程での成果物などはドキュメントベースでプロジェクト内の情報共有や認識合わせを行うため、単純にドキュメントの作成や整備、その後の管理などに手間や時間がかかり、また、プロジェクト内での認識をそろえるために頻繁な打ち合わせや会議が必要となり、プロジェクトの遅れを招く原因となります。
また、開発において最も多くの期間を占めるテスト工程は、長い期間をとられるだけでなく、多くの工数=人件費=コストがかかることになります。
ほかにも、実際に出来上がるシステムのイメージをユーザーが把握できるのが、かなり後半の工程になってしまうため、開発終盤での大幅な仕様変更なども発生しやすく、さらに仕様変更にあたっては、設計工程までさかのぼって手戻りが発生し、ドキュメントやソースコード、テストといった各工程をやり直すこととなるため、大幅な工程遅れを引き起こすことになります。また、SIerはこのようなリスクをあらかじめ見込んで見積ります。これが多重下請け構造では、下請け開発会社がそれぞれリスクを多重に上乗せするためコストが膨れ上がるという現象も起きています。
このような成果物(ドキュメント)ベースの開発方法は、単に工程の遅延やコストの増加を引き起こすだけでなく、情報管理を困難にし、情報の整合性を保てなくなったり、ドキュメントが陳腐化して、実際の情報が失われてしまったり、といった弊害を引き起こす場合があります。
こういった情報管理に起因するリスクは、開発期間のみならず、その後の運用や改修時の変更管理などにも悪影響を与える可能性もあるのです。
バージョンアップへの対応
一時的にしか利用しないシステムでない限り、ハードウェアやOS、ミドルウェアのバージョンアップに伴って、システム自体も対応するよう継続的にバージョンアップを行っていく必要が発生します。
従来型の開発では、OSなどのバージョンアップや、新しいデバイス・システムへの対応も独自に行わなければならないため、新しい技術への対応やそれに応じたバージョンアップが遅れるといったリスクが考えられます。
さらには、一から独自に作り上げたシステムの場合、バージョンアップするたびに、開発したシステムの全ての機能を検証しなくてはならないため、検証の工数や期間が長くなってしまうこともリスクとなりえます。
また、従来型の開発手法では、SIerなどのエンジニアが主体となって開発を進めるため、開発を行ったエンジニアが異動や退職などでいなくなる際に十分な引き継ぎを行っていないと、システムがブラックボックス化してしまうという問題を抱えてしまうことにもなりかねません。