全6819文字
PR

 現場での最先端のアジャイル活用について事例を交えながら紹介する「応用編」。第1回はアジャイル開発とウオーターフォール型開発のハイブリッド型開発を紹介した。

 第2回の今回は、アジャイル開発と相性がよい2つの技術との組み合わせ方を解説しよう。具体的にはノーコード/ローコード開発とSaaS(ソフトウエア・アズ・ア・サービス)である。進化し続けるテクノロジーを効果的に取り入れることは、価値実現のスピードアップに大きく寄与する。

時代の要請、ノーコード/ローコード開発を取り入れる

 まずノーコード/ローコード開発との組み合わせについて説明する。ノーコード/ローコード開発とは、プログラマーが記述するソースコードをゼロ、または最小限にすることで、プログラミングやテストの速度を大幅に向上させる手法である。多くのソフトウエア会社が開発プラットフォームや開発環境を提供している。

 開発者は開発画面上のアイコンを組み合わせるなど、GUI(グラフィカル・ユーザー・インターフェース)の直感的な操作だけで操作画面やロジックを作成できるようになる。プログラム言語をキーボードから打ち込む従来のプログラミングに比べ、単純な記述ミスがなくなるなど、コーディング工数を大幅に削減できる効率を期待できる。

 アジャイル開発にノーコード/ローコード開発を取り入れると2つのメリットがある。

 1つは詳細設計から単体テストまでの工数の削減である。ノーコード/ローコード開発を取り入れても、要件の整理や概要設計、結合テスト以降のテスト工程に関しては工数を削減できない。一方で詳細設計からコーディングを経て単体テストまでの工数は約半分に短縮できる。

 ノーコード/ローコード開発においては、詳細設計書として処理ごとに用意されたアイコンを配置し、ロジックを可視化する行為そのものがプログラミングであり、その後のコーディングが実質的に不要になるからだ。コーディングしないため単純な記述ミスはそもそもなくなり、開発ツールによっては条件分岐や繰り返しなどの処理フローで不整合が生じないように正す機能を備えるものもある。これらにより、単体テストそのものの工数も減らせるわけだ。

 もう1つのメリットは、プログラムを共有する工数の削減である。前述の通り、詳細設計としてアイコンを配置する行為がプログラミングになるので、当然、詳細設計書=プログラムコード=GUIとなり、文字や数字、記号から成る従来のプログラムコードと比べてロジックの可読性ははるかに高い。

 加えて、詳細設計書をつくり忘れたり、プログラムコードとかけ離れて陳腐化していったりすることもなくなる。つまり開発者は常に最新のロジックをGUIで確認できるわけだ。

 実践編第5回においてリファクタリング(保守性や拡張性の向上を目的として、複雑化したプログラムの内部構造を整理する作業)の項目で説明した通り、アジャイル開発ではプログラムをチームで共有し、チームメンバーであれば誰でもプログラムを修正できるように可読性を高めておく必要がある。ノーコード/ローコード開発の導入により詳細設計書=プログラムコードの可読性が高まることは、チームのプログラム共有に大きく貢献するだけでなく、複雑になりにくくなるためリファクタリングの頻度を下げる効果も見込める。

 ただ導入に際してはメリットを最大限に引き出すための注意点が3つもある。1つ目は、あまたあるノーコード/ローコードの開発プラットフォームにはそれぞれのルールやクセがある点だ。

 開発対象のシステムの特性やプロジェクトの規模に合わせて、何が適切かをしっかり見極める必要がある。例えば社内の承認システムやファイル共有、顧客管理との連携に強みを持つ製品や、パソコン/スマホ/タブレットなどマルチデバイス対応に強みを持つ製品など、自社がこれからどの領域でノーコード/ローコード開発を推進したいかによって選定する製品は異なる。

 また、ライセンス体系にも注意したい。開発者の人数で費用が決まる製品やユーザー数によって費用が決まる製品など、こちらも利用シーンを想定しておく必要がある。そして選んだ製品を開発者に習得してもらうコストと期間を確保することも欠かせない。