導入したくてもできない場所で
ここのコラムの場で以前に書きましたが、私は個人的に Citizen Developer という考え方に賛同しています。通常の開発者だけではなく、誰でもがアプリケーションを作ることができるもので、ここ最近に登場している多くの NoCode/LowCode サービスを利用してアプリケーションを作るものです。
要件定義を行い設計を考え実装・試験を進めてリリースする、一般的な流れと行うことはそれほど変わらないのですが、利用者自身たちが主体となって作成するためスピード感は段違いに早いですし、なにより本当に必要なものが出来上がる可能性が高くなります。使う人と作る人が異なる通常の開発では、どうして場所ではも伝言ゲーム的な要素が発生しますので、意図していたものと違うものを作ってしまうことは避けられません。よく現場で利用されている簡単なツール群をイメージしてもらえれば、どの程度有用なものかがわかるかと思います。
このように NoCode/LowCode な開発にはメリットが多く、できるだけ導入していきたいと考えているのですが、最近どうしたものか困った場面に出会いました。
実際には NoCode/LowCode に限った話ではなく、外部サービス利用全般に関わるのですが、セキュリティルールが場所によっては非常に厳しく設定されていることがあります。例えば、利用する外部サービスはすべてシステム部に申請して許可されなくては利用できない、であったり、USB機器が利用できない、であったり、スマートフォンの持ち込みが不可であったりといった諸般の理由により厳しく制限が行われている場面です。このような要素が絡んでいる場所では、自分たちで NoCode/LowCode なサービスを利用してアプリケーションを作成しようとしても、そもそもサービスが利用できないことが多いです。
セキュリティ的にモバイルデバイスを絡めて MFA を設定することも今では普通になっていますが、スマートフォン持ち込み不可な場所の場合、サインインする都度毎回スマートフォンを確認するなど、認証時間の制限もありとうてい実施できるものではありません。このような場所ではサービスを利用したくとも利用できないのです。
かといってセキュリティレベルを下げる対応をとることは非常に難しい、というよりもほぼほぼ不可能です。色々な都合があり設定されているセキュリティレベルですので、サービスを利用したいためにそこを変更することは、本来の目的から外れてしまうことになり、非常にリスクを高めることになります。
このような場所では、どのようにすれば NoCode/LowCOde なサービスを利用して、現場の生産性を高めることができるようになるのでしょうか。あれこれ考えては見ているのですが、私の中では今のところこれといった方法が思い浮かびません。
気持ちとしては、特定の人物に限定して持ち込みを可能にする、外部サービスも利用できるようにするといった、人ごとに適応するルールを変えていくことですが、それを実現するためには多くの手間と時間が必要です。また、業務的な理由として全体的に厳しい制約をかけることで初めてセキュリティが担保されることもあり、一部の人を優遇する方法が実現できるかどうかもわかりません。
このように考えていくと、せっかく誰でもが開発できる土台が登場してきていても、その恩恵を受けられない場所はどうしても残ってしまうのだと感じています。これは仕方のないことだと理解はできるのですが、それと同じくらいもったいないことだとも感じます。
今、こういったサービス群はより多くの人に利用してもらうためにどうするか、その点を考えていく段階に移ってきたのかもしれません。セキュリティは確かに重要なのですが、そこを含めて今後どうしていくかを考えていかなければ、せっかく自分たちで改善が行えていくチャンスがあったにも関わらず、現状維持のまま過ごしていくことになってしまいます。それを良しとするかどうか、人によっても会社によっても考え方は様々ですが、このような部分を解決していくことが、自分の中でのかなり重要な課題になっています。
もしこのあたりですでに何かしらの対応を行って実現できているところがあれば、ぜひ教えていただきたいと思っています。厳しいセキュリティを満たしつつ、さらに現場の利便性を高めるためにはどうするのがよいか、一緒に考えていきたいところです。