12月8日(金)にローコード開発フォーラム2023が開催されました。
現地とオンライン合わせて170名以上の方が参加し、大いに盛り上がりました。
特に注目されたのは「その場で決めた業務システムを即席で設計し、わずか1時間・1名で開発する」という大変スリリングなイベントでした。
このイベントへ参加した企業・ツールは以下の通りです。
ローコード開発ツール
・株式会社HOIPOI(TALON:タロン)
・MagicSoftwareJapan(Magix xpa)
・A-ZIP(SAAP)
・DB Concept(X-TEA Editor/Driver)
AI支援型開発ツール
・SCSK(GitHub Copilot)
当社はローコード開発ツール「TALON(タロン)」で参加しました。大変な緊張感の中、お題となった「タスク進捗管理システム」の全機能を開発する事が出来ました。本記事ではお題になった業務システムの概要と、TALONでどのような仕組みを構築したかをレポートします。
まず、イベントに参加してみての感想ですが、AIによる業務システム開発は可能性はあるが、TALONのような業務システム開発に特化したローコードツールの方がまだまだ強みがあると感じました。TALONで業務システムを開発する時もChatGPT-4を活用しています。JavaScriptのコード作成など、ローコードの開発部分に役立つので、今のところAIとローコード開発ツールは上手く共存していると感じています。特に新しいChatGPT-4はファイルを読み込めるので、TALONが生成した業務画面のHTMLファイルを読み込ませて、例えばGoogleのAPIから情報を取得して特定のエリアに表示する為のJavaScriptコードを生成してほしいといった指示を出せますのでとても便利です。
それではここからはどのような業務システムがお題になったのかを説明します。
当日参加頂いた方々から入場時に作って欲しいシステムをお題としてリクエストして頂き、その中からモデラーの渡辺幸三氏が1つをチョイスしました。生産管理や原価管理のようなお題が多めでしたが、今回はタスクの進捗を管理する仕組みが選ばれました。
先に渡辺氏が作成したモデルを記します。以下が当日作成されたデータモデルです。
何かプロジェクトを立ち上げて、そのプロジェクト内で実施する事をタスクという塊で管理していくイメージです。例えば新しい自動車を開発するのであれば、XX自動車開発プロジェクトを立ち上げ、その中で「市場調査」「技術検証」「外観デザイン」…などがタスクとして定義されます。それぞれのタスクに対して、作業実績が紐づきます。これにより誰が、どのプロジェクトのタスクをどの位、どのような内容で実施したのかというのを把握できます。さらに、作業を行う担当者ごとに賃率を持たせる事で書く作業実績の原価を導く事が出来るようになっています。それらの実績情報を月次集計するモデルも示されました(下記画像の「タスク別月次SUM」)。また、タスクには成果物を紐づけることが出来、これにより作成した物を管理する事が出来るように考えられています。ここで示されたモデルは非常にシンプルなものですが、色々とモデルに属性を追加していくことで実際に業務利用可能なモデルだと思います。今回は1時間という制限なので、成果物の管理と、担当者の管理機能については作成しなくても良いという事になりました。
作る必要があるのは、
- プロジェクトを管理する機能
- プロジェクトに紐づいたタスクを管理する機能
- 作業実績を入力する機能(プロジェクトに紐づく)
- 作業実績を月次集計した情報を表示する機能
上記の作成がお題として優先的に作る内容です。これらを全て作ることが出来た場合は以下も出来ればなお良い、という事になりました。
- 担当者を管理する仕組み
- 「作業実績」テーブルに「完了フラグ」を持たせて、これがチェックされた場合は、「タスク」テーブルにも「完了フラグ」を持ち、タスク単位に終了扱いにする
このモデルと指令に従い、1時間で各社が開発を実施しました。当レポートでは当社のツール「TALON」で開発した物だけを公表します。その他のツールなどについては各社様へお問い合わせください。
- TALONで扱った物理データベースの構造について
- 成果物管理の仕組みまで作るのは時間的に不可能だと判断し、テーブルも作成しなかった
- 担当者テーブルは管理する仕組みまで作れると判断し、テーブルも作成した
- タスク別月次SUMテーブルについては全て計算により導出可能な情報なのでテーブルとしては定義せず、SQLのSELECT文で作成する方針とした
- プロジェクトメンテナンス機能
- プロジェクトと、タスクを管理する機能です。1つのプロジェクトに対して、複数のタスクを登録出来る
- プロジェクトNOと、タスクIDは自動採番される
- プロジェクトNOを選択する為に、カーソルを当てるとサジェスト機能により候補が一覧で表示される
- プロジェクトNOを選択する為に、入力フィールド右側にあるボタンをクリックすると一覧表示する画面(プロジェクト検索子画面)が開き、選択出来る
- タスクを入力する行に「実績入力」ボタンを配置し、クリックすると実績入力画面に遷移し、実績の入力と確認を行う事が出来る
- 担当者メンテナンス機能
- 担当者情報をメンテナンスする事ができる
- 当マスタの情報を使う事で、次の作業実績入力で担当者を選択できる
- 作業実績入力機能
- 作業実績を入力する事が出来る
- 新規で実績を入力する場合、プロジェクトNOとタスクIDは自動でセットされる
- 担当者CDは担当者マスタの情報を使い、サジェスト機能によりカーソルを当てると候補が出る。文字を入力すると、その文字にヒットした候補だけに絞られていく
- 「完了」にチェックを入れると、タスクテーブルに存在する「完了フラグ」も更新する仕組みとなっている。これは、当画面で管理している「作業実績」テーブル以外のテーブルへの更新を行う必要があり、TALONでは「ルールエンジン」という仕組みでプログラミングせずに実現する為、当機能を使って開発した
- 本当は「コスト」は担当者の賃率と実績時間から計算したかったが時間が足りずに断念した
- タスク別月次サマリ機能
- プロジェクト+タスク+年月 という単位で作業実績を集計した情報を表示
- コスト合計と、実績時間合計をグラフで表示。(ただし、時間が無くラベル名やスケールの調整が出来ず、やや中途半端な物となっている)
- データモデルでは「タスク別月次SUM」テーブルとして表現されていたが、当情報については全て計算により導出できる物であった為、テーブルとしては定義せずに、SQLのSELECT文で作成した
以上が開発した画面及び機能になります。合計で画面数は6でした。作業実績の完了フラグを別のテーブルにも波及させて更新させるなどいわゆる業務ロジックなども盛り込むことが出来て、ローコードツールというのがどんな物なのかをイメージいただけたのではないかと思います。当日のイベントでは、この業務ロジック部分(TALONではルールエンジンと呼んでいます)について細かく説明することも出来て嬉しかったです。
今回開発した機能は実際に動きますので、確認してみたいという方がいらっしゃいましたら是非ご連絡下さい、ご確認いただけるようにします。
また、TALONについてもっと知りたいという方は、以下を是非ご覧ください
すぐにTALONを触っていただけるデモサイトや、体験版のご提供などもしておりますので「お問い合わせ」からご連絡下さい!
以上