業務効率化の救世主として注目されている「kintone(キントーン)」。自社でアプリを開発することもできますが、実装したい内容やリソースの制約によっては外注することも選択肢のひとつ。今回は開発成功の鍵を握る「要件定義」について解説します。
kintoneのアプリ開発をご検討でしたら、トライコーンにお任せください。トライコーンはサイボウズ社のオフィシャルパートナーであり、kintoneに関する豊富な知識・開発実績がございます。
こちらより、kintoneの導入支援やアプリ開発の概算費用を記載した弊社事例をダウンロードいただけます。ご検討時の資料としてご利用ください。
kintoneのアプリ開発とは?
kintoneは、サイボウズ株式会社が提供する、業務の効率化やシステム化に役立つ「アプリ」を作成できるプラットフォームです。データの蓄積や一覧化、検索などの機能が備わっており、データを簡単に管理、共有、分析できるように使いやすく設計されているのが特長です。
さらに、kintoneはプログラミングの知識やスキルがなくてもアプリを開発できる点も魅力で、現在では全国30,000社以上で導入されています。
例えば、kintoneでは以下のようなアプリを作成できます。
営業・セールス関連
- 案件管理アプリ: 受注の確度や金額、活動履歴を記録し、売上や案件数をグラフ化
- 顧客管理アプリ: 社内の顧客情報を集約して、一元管理
人事・総務関連
- 交通費申請アプリ: 交通費の申請と承認を管理
- 社内FAQ: 社内でよくある質問をFAQ形式で蓄積し、公開
プロジェクト管理関連
- プロジェクト管理アプリ: プロジェクトの内容、体制、スケジュール、費用などを管理
- 懸案管理アプリ: 業務やプロジェクトで発生する課題とその対応状況を記録
情報システム関連
- kintoneアプリ管理: 登録されているアプリを管理し、運用状況を把握
- 議事録管理: 打ち合わせの議事録や資料を共有
その他
- 作業依頼申請アプリ: 他部署やチームへの作業依頼を管理
- 毀損・紛失物管理アプリ: 自社資産の毀損・紛失を管理し、対策やコストを確認
このようにあらゆる情報を一元管理できるため、kintoneを導入することで情報検索やデータ入力の時間が大幅に削減され、業務の効率化や見える化、情報共有の促進が期待できます。
kintoneのアプリ開発は自社で行うべき?
kintoneのアプリ開発は、大きく分けると自社で開発する方法と外部の開発会社に外注(依頼)して進める方法があります。それでは、それぞれのメリットをみてみましょう。
自社で開発するメリット
- 自社社員が対応するため、開発コストが削減できる
- kintone開発に関するノウハウが社内に蓄積できる
- 業務内容に精通している自社社員が作るので、業務にフィットしたアプリが作りやすい
- 要件確認や修正などのコミュニケーションを迅速にできる
開発会社に外注するメリット
- 専門的な知識を要するカスタマイズにも対応できる
- ノウハウを活かしたスピード感のある開発が期待できる
- 自社の社員が本来の業務に集中できる
- 最新技術や他社事例をもとにした、使いやすいアプリ開発を依頼できる
kintoneは、プログラミング初心者でも直感的に使いこなせるように設計されており、管理画面から簡単なドラッグ&ドロップ操作でパーツを組み合わせるだけでアプリが作れます。そのため、複雑でないシステムであれば自社での開発も十分可能です。
ただ、そうは言っても、「アプリ開発なんて未経験だから難しいのでは…?」と感じるかもしれません。そんな時には、プロに外注するのもひとつの方法です。
特にアプリ開発をプロに頼むべきケースとしては、
- 開発を急いでいる場合
- JavaScriptを用いた高度なカスタマイズが必要な場合
- 外部のシステムと連携したい場合
- 自社で開発するリソースがない場合
- 他社の成功事例をもとにした最適な開発を望む場合
などが挙げられます。kintoneは使いやすいツールとはいえ、設計や操作を間違えてしまうと、セキュリティや品質の面で不具合が発生する可能性があります。自社の状況や開発の規模、複雑さを考慮しながら、必要に応じて専門家であるプロに依頼したほうがよいでしょう。
外注する際の費用については以下の記事で詳しくご紹介していますので、あわせてご覧ください。
プロに頼む場合には要件定義が重要!
kintoneのアプリ開発を外部に依頼する場合に欠かせないのが「要件定義」です。ここからは開発の効率やアプリの品質向上につながる、要件定義について解説します。
要件定義とは?
要件定義とは、アプリが満たすべき具体的な機能や仕様を明確にするプロセスを指します。どのような機能を持つべきか、開発にあたってどのような制約があるかを定義することで、自社(発注元)と開発チーム(外注先)の共通認識が得られ、開発の目的が明確になります。
要件を定義しないと、開発チームとの間で予算やスケジュールに齟齬が発生したり、途中で開発の方向性がブレてしまったりして、満足度の低いアプリが出来上がってしまう可能性があります。そのため、要件定義はアプリ開発の成功を確実にするために非常に重要なプロセスなのです。
要件定義の前に、要求定義を定めよう
要件定義を正確なものにするために、最初に行ってほしいのが「要求定義」です。
要求定義とは、発注側のアプリ開発の目的、現状の課題、要望を明確にするプロセスのことです。発注側がアプリで何をしたいのか、何が課題になっているのか、そしてアプリに求める要望を「要求」としてまとめることで、システムに対する期待を正確に開発チームに伝えることができます。
要件定義と要求定義の違い
要件定義と要求定義は、言葉は似ていますがその目的は大きく異なります。要求定義は、発注側の視点から「実現したいこと」を明確にするものです。一方で要件定義は、「それを実現するために必要な機能や仕様」を扱います。
要件定義と要求定義の手順
要求定義と要件定義は、目的も異なれば、策定に関わるべきメンバーも異なります。要求定義→要件定義の順番で工程を分けてしっかり準備していきましょう。 ここからは、それぞれどのようにしてまとめればいいかを解説します。
要求定義をまとめる手順
現状分析
まずはシステムを利用する関係者に対してそれぞれのニーズや要求を収集します。現状の業務における非効率な部分やボトルネック、リスクなどを整理して、現状の課題を明らかにします。
目標設定
いまある課題と理想とのギャップや関係者からの要求をもとに、システム導入によって達成したい具体的な目標を設定します。開発チームにも正しく伝わるよう、業界用語や曖昧な表現を避けましょう。
業務要件
「誰の・どの課題を・どうやって解決したいのか」を明らかにし、新たに実現するべき業務全体の流れや手順、担当者を洗い出します。
以上が要求定義のステップの一例です。要求定義は発注側がまとめることが多いとされていますが、普段IT業務に関わっていない人がまとめるのはなかなかハードルが高いもの。そのような場合は開発チームと一緒に要求定義の策定を実施するとよいでしょう。
要件定義をまとめる手順
システム要件
発注側の要求を踏まえて、システム化する範囲を決定します。予算や実現性を加味したうえで、優先順位をつけながら実装するべき機能のイメージを定めていきます。
機能要件
「システムが何をするべきか」を定義したうえで、システムに必ず搭載するべき機能を検討し、データの種類や構造、処理対象など具体的な内容かつ確実に満たすべき要件をまとめます。
非機能要件
「システムがどのように動作するべきか」を定義したうえで、機能面以外の要件全般を検討します。ユーザビリティやセキュリティ、信頼性など、システムの品質や使い勝手を確保するために必要な要素です。
以上が要件定義のステップの一例です。要件定義は一般的に自社(発注側)と開発チームが協力して行います。自社のニーズと開発チームの知見を組み合わせることで精度が高まり、より効果的な要件を定義することができます。
kintoneアプリ開発時の要求定義・要件定義のポイント
それでは、要求定義と要件定義の考え方を踏まえたうえで、kintoneのアプリ開発時ならではのポイントをご説明します。
要求定義のポイント
kintoneでアプリを作りたいと考えている場合、何かしらの業務のシステム化を目標としているはずです。そのため、まずは業務のボトルネックとなっている課題を明確にし、その後で実現したい内容を具体化し、システム設計の詳細を定める必要があります。
kintoneは簡単にアプリを作れるだけでなく、アプリの修正対応もタイムリーにできるので、「開発して終わり」ではなく、使い勝手をさらによくしていくための改善がしやすい点も魅力です。そのため、初期開発以降のサポート体制や機能拡張に関しても、要求定義に入れておくことをおすすめします。
要件定義のポイント
kintoneは、サイボウズ社が定期的にバージョンアップを行い、使いやすいプラットフォームを提供しています。しかし、プログラミングを多用したシステムを構築すると、バージョンアップのたびに動作確認が必要になる可能性があります。
そのため、非機能要件としてkintoneやプラグインのバージョンアップに柔軟に対応可能か、を確認しておいたほうがよいでしょう。特に、既存のシステムをkintoneに置き換える場合は、既存システムの挙動をプログラミングで完全に置き換えるよりはkintoneやkintoneプラグインの挙動を優先するような考え方が重要です。そのほうが、kintoneやプラグインのバージョンアップに追随しやすいからです。
また、kintoneは大量のデータを効率よく処理することは苦手です。そのため、大量データを扱うケースでは、開発チームと丁寧に要件を整理したほうがいいでしょう。
当社がkintoneアプリ開発の要件定義で気をつけていること
Kintoneのアプリ開発では、kintoneの良さを最大限活用できるように、できるだけkintoneの機能範囲内での実装を心がけます。そうすればプラグインなどの費用を抑えられるからです。
その上でkintoneの機能範囲で実現できない場合に、プラグインや外部の連携サービスを使います。もしそれでもご要望が実現できない場合は、お客様の運用方法の見直しとプログラム開発を天秤にかけて、お客様と相談の上、開発の方向性を決めてまいります。
実際にプログラム設計・開発を行う際は、kintoneの各種制限値を常に考慮して行います。
また、当社はkintoneと合わせて利用できる自社Saas(クライゼル)を持っています。特に、webフォーム、会員サイト、メールマーケティングが関連する業務改善に関しては長年の実績を持っておりますので、kintoneを使ってこれらの領域でのアプリ開発をする場合は、ぜひ当社にご相談ください。
まとめ
kintoneのアプリ開発における要求定義と要件定義の重要性について解説しました。kintoneの開発で困った時には、プロの開発チームに協力してもらうことでスムーズにアプリを開発することも検討しましょう。
また発注する際には、要求定義と要件定義を不足なくまとめることが成功への鍵となります。自社のニーズを確実に反映したkintoneアプリを開発するために、しっかりと準備をして臨みましょう。