【ノーコード開発は簡単?】ノーコードは何が「ノー」なのか
「ノーコードツールを使えばプログラミング不要でアプリが作れる」とする広告やSNSの投稿を時々見かけるが、これは正確ではない。正しくは「ノーコードツールを使えばソースコードなしでアプリが作れる」である。ノーコードが「プログラミング不要」と同義であるというのは一般的な誤解である。
では、どのような違いがあるのか。
プログラミングとは
プログラミングとは、コンピュータに特定のタスクを実行させるために、主にプログラム言語を使用して指令を出すプロセスである。プログラム言語で書かれた指令は(ソース)コードと呼ばれ、コードを書くことで開発者はアプリの振る舞いを正確にコントロールし、複雑な問題を解決することが可能である。
初期のプログラミング
初期のコンピュータにはメモリがなく、現在のようにプログラムを格納することができなかった。そのため、穴をあけた厚紙(パンチカード)を読み込ませたり、プラグボードのプラグを差し替えたり、スイッチを手動で切り替えてプログラミングしていた。したがって、プログラミング(という行為)にコードは必須ではない。現在行われている、モニタを見ながらキーボードで直接コンピュータにプログラムを入力することが可能になったのは、1970年代以降のようだ。
プログラミングに必要な知識
現在の主流な方法でプログラミングするには、プログラミング言語の知識は必須である。また、チームでアプリを開発しようとすると、さらに以下のような広範な知識やスキルが必要になる。
- 技術
- プログラミング言語
- データベース管理
- APIの利用と開発
- セキュリティ対策
- パフォーマンス最適化
- テスト技法
- 内部構造の設計
- デザイン
- ユーザーインターフェース(UI)設計
- ユーザーエクスペリエンス(UX)設計
- ドメイン知識
- 業界知識
- 業務プロセス理解
- 要件定義の手法
- プロジェクト管理
- 変更管理
- プロジェクト計画と実行
- コミュニケーション
- チーム内外のコミュニケーション
上記の数字は、小さいほどコンピュータに近い知識やスキルになる。
ノーコード(ツール)とは
一方でノーコードツールは、GUI(グラフィカルユーザーインターフェース)を利用して、コードを書かずにアプリを開発することができる。多くのツールではドラッグアンドドロップで部品を配置したり、ロジックをビジュアルで組み立てたりできる。
つまり、ノーコードツールによるアプリ開発は、コードを書く代わりにGUIでプログラミングしていると言える。
コード以外の知識・スキルは変わらず重要
コードを書かなくていいと聞くと「誰でも簡単にできそう」と感じるかもしれない。しかし、当然ながら知識やスキルが全く不要になるわけではない。ノーコードツールは「プログラミングに必要な知識」であげた1の大半を代替してくれる。しかし、それ以外は一般的な開発とほぼ同じ知識やスキルが求められる。
中でも要件定義と設計は省略できない。要件定義は、何を作るのか、どのような機能が必要か、ユーザーはどのように使用するかを明確にする。また設計では、定義した要件を満たすために、どのようなデータ構造が必要で、アプリにどのような機能があれば良いかを決める。ノーコードツールを使用しても、これらのプロセスは省略できないだろう。
まとめ
ノーコードツールを活用した業務アプリ開発は、コードを書く必要がないという点で、従来の開発より簡単になる。ノーコードに限らず、技術は魔法ではない。
ノーコード開発は、技術的なハードルを下げながら、ユーザーが自ら創造的に問題解決する有力な手段になる。