2023年12月8日に『Ship Vol.2』に参加してきました。

会場はサイボウズ社本社。前日のMOVED MeetUpも同じ場所だったので、二日連続の訪問です。

今回のShipへの参加は私にとって初めてです。4/21にVol.1が催された際は、私に参加する余裕がなかったため、弊社のメンバーに代わりに参加してもらいました。

あれから約8カ月近く経ち、弊社の状況にも変化が生じました。
そして私自身の考えも変化しました。

どう変わったかと言うと、kintoneシステム開発においてJavaScriptを主に使ったカスタマイズの限界を悟りました。

つまり、もう、案件の数が増えすぎて、JavaScriptだけで対応しきれなくなりました。
そもそもkintone自体が、容易に変化するお客様の仕様に柔軟に対応することを前提にしています。kintoneが変わるなら、カスタマイズ要件も頻繁に変わります。
どれだけ要件定義を入念に行ってもそれは変わりません。お客様自身が確定させたつもりの仕様も、社会情勢の変動によって変更を余儀なくされます。しかもその速度はますます速まっている昨今です。
kintoneシステム開発のやり方もアジャイル開発の考えが主流になっている今、いちど決まった要件が覆らないかつての常識は通用しません。
そして、JavaScript開発ではどうしてもその速度においてプラグインにかないません。つまり、JavaScript開発を続けていると、いつまでたっても生産性が上がりません。

弊社はJavaScriptで頑張ってやってきました。うちのメンバーもJavaScript開発では多層Promiseを扱った実装もこなしてくれるようになっています。
が、今年に入ってエンジニアの育成が必要になった途端、JavaScriptを書く前提の育成の速度ではプラグインに及ばない現実にやられました。
ということは、JavaScriptでやり切れるとすれば、最初からスキルのあるエンジニアを抱えている場合のみです。
この半年でその現実を痛感しました。

JavaScriptに成り代わり、kintoneのカスタマイズを行う手段はいろいろとあります。大きく分けるとプラグインか外部サービスでしょうか。
外部サービスは著名なところではgusuku Customineやトヨクモシリーズがあります。
一方、プラグインは有償無償を問わず、各社様から多種多様のプラグインが提供されています。

krewDataやkrewSheetは、一つのプラグインだけで、アプリ連携やデータ連携処理を何重にもつなげて行えることが特徴です。
と、偉そうなことを書いていますが、実は私がkrewDataを触り始めたのはつい最近です。この半年どころか、2カ月以内です。

gusuku Customineは5、6年ほど前から触っていたにもかかわらず、krewDataを触るのが遅れたのは、弊社のお客様が使っていらっしゃらなかったことが理由です。

ところが、今年になって二つの案件でkrewDataを扱うことになり、私も実際に触ることになりました。そして、その機能に舌を巻きました。

実際、krewDataはよくできていると思います。
フローをつなげていき、上流の設定値が変わったら、連結される下流のフローに一気に反映する点もなかなか魅力的です。
慣れてくると、JavaScriptよりもかなり簡単です。

正直にいうと、krewDataで実現できることはJavaScriptでも書けます。フローの連携もできます。
ところが、案件によっては、複雑な連携を何十にも連ねる実装をJavaScriptで書こうとするとかなりのコード量になるでしょう。
その中のどこか1カ所でもPromiseのReturnを置く位置を間違えれば、またはResolveやRejectの値を間違えれば、途端によくない結果を招きます。

また、せっかく実装してもお客様側の仕様が変更になると、その全てがやり直しになってしまいます。
krewDataは、そうしたコーディングにまつわるあらゆる手間を省いてくれます。私がkrewDataの機能に舌を巻いたのもそれが理由です。

上記のようないきさつをへて変化しつつあった私の心を待っていたかのように、今回、Ship開催のアナウンスがありました。
そして、私自身がまだグレープシティ、現在のメシウス社の文化や社風を十分に理解していません。
そこで、今回はShipに参加しようと思いました。
ところが、私の調整がなかなかつかずにいるうちに、ページからShipが申し込めなくなってしまいました。

今回は運営するメシウス様のご好意で、後から追加枠として入れていただけることになりました。感謝いたします。

さて、今回はサイボウズ社27Fに繁るシンボル「サイボウ樹」の前に集ってのセミナー形式。私にとってこの形式は久々です。


最初にメシウス社の佐藤さんと大江さんより開会の挨拶。


そして、株式会社ZOZOの新井さん(あーけん)からは「krewDataのすゝめ」。
ふむ、Char関数はVBAを扱う際にはよく使いますが、krewDataでも使えるんですね。
そして、膨大なデータチェック自体もkrewDataだけで完結できる可能性を見せてもらえたのは、まさにイベントならではの気づきです。あーけんさんに感謝です。


続いて、NPO法人チャリティーサンタの青山さんから「全国のサンタクロースを支えるkintone 開発」。
こちらは主にkrewSheetをお使いの事例でした。
krewSheetは、私も以前からお客様の案件によっては導入したりして使っていました。
Excelからkintoneにチャレンジしたお客様に、高いハードルを与えずにkintoneになじんでもらう際、krewSheetは最適なツールです。
krewSheetを使って運用を直観的にしながら、集計もkrewDataを効果的に使っていらっしゃる良い事例でした。
また、チーム応援ライセンスが適用できるユーザーはkrewシリーズが安価に使えるプランがあることを私はあまり認識していませんでした。この可能性を知った事も、ありがたい情報でした。青山さんに感謝です。


続いて、マルテー大塚の石井さんより「キントーンとアクセスの話」。
上に書いた通り、私はkrewDataを使っていて、kintoneではできなかったSQLを活用した可能性に驚きました。
kintoneではOUTER JOINもUNIONもできません。Group ByもHavingもそれを使ったデータ加工やアプリ連携をするにあたってはJavaScriptやAlaSQLなどのライブラリが必要です。
石井さんのセッションでは、こうしたSQLを起点としたさまざまな事例を取り上げてくださいました。
私もそうですが、RDBやSQLに慣れている者にとってkintoneの癖と呼べる点こそ、このSQL的なアプローチができない点です。
技術者にさらにkintoneを使っていただくうえで、石井さんのセッションは参考になるはずです。石井さん、ありがとうございました。


続いてメシウス社の佐藤さんより「krewのマーケチームではこうやって予実管理してます」。
これも、Excelでは直感的にできていたのに、kintoneでは直感的な操作ができないと考える人への好事例ですね。
こうした事例は、最終的なデータ加工や見せ方に関する部分なので、私もそこまで積極的にお客様に提案してこなかったのですが、より最後の一塩の意味をこめて、今後は提案していきたいと思いました。
佐藤さんには今回追加枠のご案内もいただきました。それも含めてありがとうございました。


さて、その後はkrewラベル付きのビールやジュースが配られ、交流タイムです。
5つほど属性ごとに分かれて集まってもらい、そこで輪になって語ってもらう趣旨がアナウンスされました。
さて、私の属性はkintone初心者ではないし、情シスでもありません。どちらかといえばkrewData初心者のようなもの。近くにたまたま近くにいたいた中尾さんと、どのグループに行きましょうかね~とのんきに話していたら、いつのまにかグループが定まっていました。なので、私は中尾さんに加え、同じようにはみ子になってしまったお二方と四人で話をしていました。


なるほど、こういう運営方法なのですね。理解できたところで、次の懇親会第二部の時間になりました。
ところが私はこの日の夜、横浜で忘年会の約束がありました。そのため、ここで辞去しました。

雰囲気も把握したし、また次の機会があれば参加したいと思います。メシウスさん、参加者の皆さん、ありがとうございました。


コメントを残して頂けると嬉しいです

Case Of Akvabitの全投稿一覧