会社で導入したサイボウズ社のキントーンについて
この度、会社でサイボウズ社のキントーンを導入することになった。 導入部門より導入前にS社やND社のサービスをはじめ複数候補間での比較で何度か相談を受けたが、ある一つの明確な理由でキントーンを推してきた。
1. 軽量で素早い開発が可能
その明確な理由とは、キントーンでアプリを開発する際の環境にある。
キントーンは予め用意された機能以外の動作・アクションを実装する場合に、JavaScript言語を開発環境とする機能が用意され、公式にサポートされている。JavaScriptと言えば、短い記述で処理を実現でき、手軽に取り扱うことができる軽量なスクリプト言語として位置付けられる。対極には、JavaやCなどコンパイルを前提とし開発環境を作る時点でかなり煩わしい作業が発生するコンパイラ言語があり、一方同じ位置付けの言語としては、いま人気のPythonや昔ながらのRuby, PHPなどがあるが、これらはいずれもサーバ上で動く言語だ。それに対しJavaScriptはHTML・CSSと同様にブラウザ上で動くWebフロントエンドの言語として軽量さでは群を抜く。ブラウザ上で動くということは、つまりサーバーをセットアップして開発環境を用意せずとも、手軽に手持ちのPCでコードを書き、ブラウザで動作確認やデバッグがささっと行えてしまうのだ。
キントーン | S社サービス | ND社サービス | |
---|---|---|---|
軽量で素早い開発 | ◎ | × | × |
もちろん、JavaScriptはここ10年でWebフロントエンドの主要言語として確固たる地位を築いてきた経緯があり、いまや勉強したい言語の人気ランキングで必ず上位にきて裾野が広いメジャー言語である点が背景にはある。また、軽量であれば無条件に良いというわけでなく、案件に応じてはJavaやCのような使用するメモリ領域まで細かく管理する言語の方が向くものもある。(Javaからキャリアをスタートした当方も軽量な簡易言語に触れると、こんな端折った記述でいいのかと不安になることも・・。)しかしながら、OSや大規模システムを作るならいざしらず、業務アプリレベルの話であれば、殆どの案件で軽量プログラミング言語で事足りてしまうのが事実なのである。
そして、軽量な開発が行えるということは、IT導入によりデジタルトランスフォーメーションやコスト削減など何らかの成果を持続可能な状態で継続的に上げていこうとする場合、成功のカギを握る重大な要素であり、究極的にはその要素の有無が成否を分ける。
2. やりたかったのはアジャイル開発の実践
なぜ、ここまで「軽量で素早い開発」に拘るのかといえば、企業のIT導入とは、目的ではなく継続的なプロセスだという事実を認識しており、短いスパンで短期間で失敗を積み重ねることが最終的に成功に至るための強力なアプローチだと確信しているからだ。
このような考えに至ったのは、現在世界のITをリードする米国では主流となり日本でも導入企業が増えているアジャイル開発にかつてより関心を持ち、根底にある思想・概念を知ろうとしてその起源たる「アジャイルソフトウェア開発宣言」(2001年)を目にした時からだ。
私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、
価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。
アジャイルソフトウェア開発宣言より引用
現在、ソフトウェア開発では、機能駆動型開発(FDD)やスクラムなど優れた新手法が次々と生まれているが、これら手法の根底にはこの宣言がある。また、アジャイル開発でとるべき行動をより具体的に表したのが、この宣言に続いて出された「アジャイルソフトウェアの12の原則」である。
価値のあるソフトウェアを早く継続的に提供します。
要求の変更はたとえ開発の後期であっても歓迎します。
変化を味方につけることによって、お客様の競争力を引き上げます。
動くソフトウェアを、2-3週間から2-3ヶ月という
できるだけ短い時間間隔でリリースします。
ビジネス側の人と開発者は、プロジェクトを通して
日々一緒に働かなければなりません。
意欲に満ちた人々を集めてプロジェクトを構成します。
環境と支援を与え仕事が無事終わるまで彼らを信頼します。
情報を伝えるもっとも効率的で効果的な方法は
フェイス・トゥ・フェイスで話をすることです。
動くソフトウェアこそが進捗の最も重要な尺度です。
アジャイル・プロセスは持続可能な開発を促進します。
一定のペースを継続的に維持できるようにしなければなりません。
技術的卓越性と優れた設計に対する
不断の注意が機敏さを高めます。
シンプルさ(ムダなく作れる量を最大限にすること)が本質です。
最良のアーキテクチャ・要求・設計は、
自己組織的なチームから生み出されます。
チームがもっと効率を高めることができるかを定期的に振り返り、
それに基づいて自分たちのやり方を最適に調整します。
アジャイルソフトウェア宣言の背後にある原則より引用
初めて目にした日から10年以上経つ今読んでも実にいいことが書かれているわけだが、企業がアジャイル開発を実践するにはそれを実現できる環境の整備が求められ、願わくばソフトウェア開発を内製化できる環境の実現が望ましい。そしてそれは容易ではない。外注丸投げ文化が根付いてしまった典型的日本型企業であればなおのことそうであろう。
一方、キントーンは、前述のとおり「軽量で素早い開発が可能」なツールで、当初からこの要求に十分応えられる内容であった。仮に当初は当方一人で難易度の高い開発やカスタマイズを続けることになったとしても、感度が高く素養の高い仲間を身近集めて必要な知識を与えていけば、後に十分開発メンバとして迎え入れることができ、提供者側と利用者面の両面で規模を拡大していけると確信が持てるのだ。
3. あとはやるだけ
期せずしてキントーン導入で程良い環境が整ったのが、大事なのは実際にアジャイルをやってみせることで、要は日々実践のみ。先日、当方がメインとなって、導入後第一弾となるアプリをリリースした。もとより短納期であり、かつ現場の要求は緻密かつ多岐にわたるためリリースの前日まで仕様の変更が発生するような厳しい工程になったが、まずその変更が理にかなったものであったため、利用部門の変化を好意的に受け容れ、まさしくリリース直前まで再リリースとフィードバック、デプロイを繰り返した末に予定日当日に無事リリースした。そして、こういったアクションがとれるのも、軽量で素早い開発が可能なキントーンを選定したことによる恩恵である。
その後、利用部門の反応も上々で、既に当方が加わって開発着手がきまった案件が複数ある。今後もキントーン開発に拍車がかかると思うが、そこで得るアイディアやノウハウを【kintone カスタマイズ Tips】として、このブログで備忘録的に記録して発信していきたいと思う。