kintone(キントーン)を利用したシステム開発とは?

これまでのシステム開発の姿

ウォーターフォールシステム開発

あなたはこれまでどうやってシステム開発をしてきましたか?ウォーターフォール開発と言われる今までのシステム開発は一般的には以下のような流れで行われてきました。

  1. 要件整理:何を実現するかを箇条書きなどで整理する
  2. 基本設計:画面イメージやロジック等を整理し、システムがどう動くかを明確にする
  3. 詳細設計:基本設計で行った内容を、具体的にどう実現するかを実装レベルで設計する
  4. 開発:詳細設計に従ってシステムを開発する
  5. テスト:開発したものが設計どおりにできているかを確認する

ウォーターフォールは悪だという意見も多数ありますが、一概に悪ということはなく、作るべきものが明確にでき、上記各工程で責任を持った確認が可能であればストレートに進んで行くためそれほど悪いものではないと言えます。

ではなぜ、ウォーターフォール開発は悪と言われるのでしょうか?

それは、現代のシステム開発では不確定要素が多く、「作るべきものが明確にできない」ことが多いためです。ウォーターフォール開発では、例えばテスト段階で仕様の漏れが発覚するあるいは、それまでの時間経過によって状況が変化しており必要なシステムの姿が変わってしまっていた場合はどうなるでしょうか?最悪のケースでは1の要件整理まで戻ってやり直すことになります。これがウォーターフォールの弱点で、「手戻り」と言われる現象です。

ウォーターフォールの弊害を解消するためのアジャイル開発

ウォーターフォールでうまくいかない「不確実性への対処」を行うため、アジャイル開発という方法があります。様々なものがありますが、現在一番有名なのは「スクラム」と言われる手法だと思われますが、すべてのアジャイル開発に共通するのは「一気に大きく作るのではなく小さく作って試すことを繰り返す」ということです。

スクラムでは一般的に、1週間や2週間単位で実現する機能を決め、そのサイクルで作ったものをすぐに試し、仕様に問題がないかを使いながら確認していき、問題が見つかれば、その先のサイクルで修正していきます。

不確実性に対処するには、神様でもない限り前もってすべてを先読みすることはできないため、このように小さく作って、繰り返し改善するというスタンスがとても大切です。

キントーンが実現するシステム開発

キントーンでの開発速度

それでは、キントーンによるシステム開発は、どうなるのでしょうか?

キントーンを使うとブラウザ上でドラッグ&ドロップするだけでシステムを開発・変更することができます。つまり、非常に早く開発できることになります。

こうなると、アジャイル開発で使われるような1週間、2週間というサイクルはもっと短くなります。3日?1日?いや、キントーンを使うと、リアルタイムになります。

究極のアジャイル開発の対面開発

リアルタイムとはどういうことか?

キントーンでの開発では、よく「対面開発」という言葉が使われます。これは、実際にシステムを利用するユーザーを前にして、話を聞きながらその場でキントーンでシステムを作ってしまうスタイルの開発を指します。弊社でもハイスピードSIの中で実施しています。キントーンのパートナーの中では、ジョイゾーさんのシステム39が有名です。

対面開発の威力はものすごく、ユーザーさんも目の前でシステムがすぐできてしまうため、できたものを見てすぐに想像を膨らませ、さらに必要なものや、気づいていなかった点がどんどんでてきます。これは、紙を使って机上で議論していてもなかなか難しく、対面開発独特の現象と言えます。弊社のお客様事例でもこの対面開発の様子をいくつもご紹介していますので、ぜひご覧ください。

キントーンを用いた対面開発では、このようにリアルタイムで改善を繰り返すことでシステムを完成に近づけていく究極のアジャイル開発といえるようなスタイルを取ることができます。

対面開発はみんなのもの

「対面開発ができるのは、キントーンのパートナーだけでしょ?」

と思われる方もいらっしゃるかもしれませんが、そんなことはありません。

もちろん、キントーンのパートナーはキントーンを熟知していますし、操作も慣れているため、キントーンでのシステム開発が速いですが、これはただ少し速度が速いというだけであって、誰にも速度の違いはあれども対面開発は可能です。

もし、あなたが社内でシステムを作る立場でいらっしゃる場合、ぜひ対面開発にトライしてみてください。 そして、もしあなたがシステムを作る立場でありかつ現場で業務を遂行する立場であれば1人対面開発?ができることになります!自分で少し作っては、ご自身も含めて現場で試し、どんどん改善していくことができます。

この 「継続的に業務を改善できる」 という特性は効果的に業務改善に非常に大切です。システム開発は業務を改善するために行うわけですが、その業務が新規であれ既存業務であれ、一発で答えにはたどり着けない上に、状況が変われば業務も変わるため、そもそもゴールは存在しないということになります。 このとき、継続的に業務を改善できるツールがないと、業務の変化にシステムが追いつかないという状況が生まれます。

キントーンのカスタマイズ開発

キントーンの標準機能であれば、対面開発を使ってリアルタイムで開発していけることがわかりました。 では、カスタマイズ開発の場合はどうでしょうか?

カスタマイズの様々な方法は別のコラム(kintone(キントーン)をカスタマイズする4つの方法)で書いていますので、そちらをご覧ください。

プラグイン・連携サービスの場合

プラグインや連携サービスは、キントーンにアップロードして設定やそのサービスで設定するだけで使えますので、対面開発でその場で設定してしまうことも可能です。ただ、そのためには、どういうプラグイン・連携サービスが存在しているかを把握し、そのプラグイン・連携サービスを入手しておく必要があります。そこまで急がないという場合は、あとからゆっくり探すこともできるので、それほど致命的というわけではありませんが、いずれにせよ、プラグインや連携サービスを数多く把握するのは結構大変なことではあります。

gusuku Customineの場合

弊社のgusuku Customineの場合はどうでしょうか?

gusuku Customineの重要なコンセプトの1つに「継続的業務改善をみんなのものに」というキャッチフレーズがります。カスタマイズも含めて、キントーンによるシステム開発を、誰でも、いつでも、すぐにできるようにすることが重要と考え、「継続的業務改善をみんなのものに」というキャッチフレーズを定めています。

gusuku Customineでは、ブラウザで「やること」と「条件」を設定していくだけでキントーンをカスタマイズすることができます。できることは画面のリストに出てくるため、その場で「できますかね〜」と話ながら作っていくことも可能です。弊社では実際に、gusuku Customineを使って対面開発を行っています。

gusuku Customineをご利用いただくと、カスタマイズを含めてスピーディに開発していくことが可能です。

JavaScript開発の場合

JavaScript開発は時間がかかります。対面開発でJavaScript開発をしようと思った場合、おそらくあらかじめできあがっているJavaScriptを数多く用意しておき、その場で入れるだけというくらいでしかできないと思いますが、キントーンのアプリの項目はアプリによって違ってくるため、いずれにせよ、その場でプログラムの修正が必要となり、すぐに使えるとうことにはならなさそうです。

また、JavaScriptを開発を行った場合、変更にも時間がかかることになります。そのため、継続的に業務を変更しようとしたときに、このプログラムの修正が足をひっぱる可能性が高くなります。

要件がきっちり決まっていて、変更されることがないというような場合は、JavaScript開発も悪くないと思いますが、上でも触れたように不確実性の高い現代のビジネスで「変更されることがない」といえるものは少ないんじゃないかと思います。

まとめ

現代のビジネスは「不確実性に対応できるか」がとても大切となっています。不確実性に対応するには、業務を支えるシステムについても迅速な変更ができないと困ります。

キントーンは、この不確実性に対応できるシステム基盤としてご利用いただけます。究極のアジャイル開発としての対面開発、gusuku Customineを用いたカスタマイズまで含めた対面開発で継続的業務改善をあなたのものにしてください。