ローコードの意義と事例(サカタのタネ)、製品例としてOutSystemsの概要とハンズオンで構成されています。
ローコードの一般論というよりは、OutSystemsの紹介本。OutSystemsの導入を検討されている方が主な対象ですかね?
OutSystems開発者にとって重要な点は、ようやく市販の印刷された本で、かつ日本語のチュートリアルが手に入るということです。
これまでは、OutSystemsの開発を体験するのに、動画と付属の英語資料を使うか、パートナーが開催するセミナーに参加する必要がありました。この本があれば、都合のいい時に日本語情報を参照しつつOutSystems開発を体験できます。
Table of Contents
シリーズ
以下、各章で気になったところをメモ。
第1章 ITシステムの課題を解決するローコード開発
なぜローコード開発が必要か、を説明する章。
DX対応が必要とか、レガシーシステムとバックログが積みあがっていて身動きが取れない、とかよく言われているやつです。
シチズンデベロッパーがシャドーIT対策に役立つという部分
シチズンデベロッパー(IT部門に所属しない非専門開発者)が、統制された自社開発を可能にすることで、イノベーションを加速するのです。(P17)
に出てくる「統制された自社開発」について。
OutSystems導入で解決とするなら、以下のような理由かな。
- ローカル開発ができず、ソースは常に中央管理。バージョン管理もされる
- 1つの基盤なので、全体の統制は常にIT部門が持てる
- 開発者の権限をコントロールして、勝手にオープンソース入れたりできないように、とか
- Architecture Dashboardとか、有償だけどソース解析ツールによる監視ができる(ベストプラクティス違反の検出)
- 全員が同じ開発基盤を使うことで、使用言語も共通化できる
第2章 事例から探る「ローコード」がもたらす価値とパフォーマンス
事例は、ほぼ「サカタのタネ」によるOutSystems開発の1件のみ。
要望のほとんどは標準機能ででき、残りは業務の方を変えるか、運用でカバーというのは小規模な開発チームでは有効そうです。
開発チームが2名体制ということなので、Extension(C#による拡張機能)を作らないのは効率的です。しかし、開発チームをもっと大きくできる企業であれば、部品提供チームを用意して、「標準機能」を拡張するのもありではないでしょうか。
以下の要素を「標準機能」として定義し、なるべくこの範囲に落とし、入らなければ業務変更・運用でカバー・部品作成のいずれかを選ぶという方針。
- OutSystemsの標準機能
- 信頼できるForge (OutSystemsのオープンソースレポジトリ)コンポーネント
- 部品提供チームが提供する社内標準機能」
もう1つ重要な指摘として、プログラミング能力は要るというものがあります。
保守性を考えるとシステムをコンポーネント化する能力、プログラミングを構造化する能力は欠かせません。その観点ではエンジニア経験がある人材で構成するのがよいでしょう。(P39)
言い換えると、プログラムを設計する能力+(言語は問わないが)プログラムを書く能力は要るということになります。OutSystemsはノーコードではないのでアプリケーションを作るのに(スキャフォールディングしたものをそのまま使わない限り)プログラムしなくてはいけません。
この意味で言うと、プログラム開発経験者がOutSystemsを学習するのは簡単ですが、OutSystemsでプログラミングを学習するのはそれ用の教材がないこともあり簡単ではないです。
OutSystemsで作られた実際の画面のサンプルがいくつか掲載されていますが、おそらくスタイルをかなり変更しています。例えば、この本の最後のハンズオンに従って作るとだいぶ違う見た目になるはず。
第3章 「ローコード」で実現できること OutSystemsの概要
OutSystemsの機能リスト。ほぼパンフレット。
習得に要する時間のところで、システム開発経験があれば1週間程度で戦力になるという記述があります。これはおそらく公式コースのGuided Pathをやりきったときの時間でしょうか。Traditional Webであれば40時間、Reactive Web App+Mobileであれば25時間が標準時間ですが実際にはもう少しかかるはず。Guided Pathをやり切った程度だと、OutSystemsの開発経験者による支援か指導がいると思います。
第4章 「ローコード開発」の圧倒的速度を体験する OutSystemsハンズオン
手順書レベルの細かい手順で、Reactive Web App (SPAのWebアプリケーション)とMobileのサンプルを作るチュートリアル。
スキャフォールディングで画面を作って微調整する手順になっています。