製品に最も詳しいのは本当に開発者?製品知識を広げるために開発チームで認定資格を受験して得た気づき

この記事は、CYBOZU SUMMER BLOG FES '25の記事です。

こんにちは、フロントエンドエンジニアのおぐえもん(@oguemon_com)です。

サイボウズでは、kintoneのフロントエンドをReactを用いた実装に書き換える大規模な脱レガシープロジェクトを進めています。

私のチームは、kintoneの中でも中心的機能である「アプリ」機能の刷新を進めています。刷新に際してUI/UXの改善を盛り込むことがありますが、仕様検討の負担軽減のために多くの場合は現状の挙動に沿った形で実装しています。

刷新にあたり直面した課題

刷新作業を進める中で、私たちは度々問題に直面しました。その中の1つが挙動の全貌を把握していないことによる実装の抜けが頻繁に発生していたことです。

  • ◯◯ボタンを追加するとき、◆◆権限がないときは表示されないことが抜けている
  • □□ダイアログの△△タブは「ゲストスペース」の中に作ったアプリでは表示されないことが抜けている
  • ××機能は設定画面を通じて無効化できることが抜けている
  • アプリの動作テスト環境では、◯◯操作のAPIは動作テスト環境専用のものを叩くが、××操作はそうでないことが抜けている などなど…

kintoneはサービス開始以来15年弱にわたってお客様のニーズを満たすために膨大な機能が追加されてきました。特にkintoneの主要機能であるアプリ機能においてはこうした機能が複雑に入り組んでいます。フロントエンドを刷新するにあたり、こうした機能が生み出す挙動と向き合う必要があります。

しかし、アプリ機能の刷新を手掛けているのは入社して数年のメンバーが中心で、長い歴史で築かれたkintoneの諸概念や膨大な機能群の全貌を把握している人はほとんどいませんでした。

製品の開発者はその製品のことを誰よりも詳しいと思われる方もいますが、実際は「自分が手がけた機能」に限定される話であり、そうでない範囲においては存在すら知らなかった機能があることすらザラなのが実情です😇

こうした背景から、ある機能を実装するとき、表面的な挙動は従来同様に実装できている一方で、実は考慮する必要がある条件が考慮できていない場合があり、実装後に手直しする必要が生じることが少なからずありました。

チームメンバーでkintone認定 アソシエイト試験を受験してみた

考慮漏れに起因する手戻りを防ぐ上で、kintoneの全体像を把握しkintoneの諸概念を一通り頭に入れておくことが一定の効果を発揮するのではないかと仮定した私たちは、チームでkintone認定 アソシエイト試験という認定資格の合格を目指す取り組みを始めました。

参加メンバーは、9人いたチームメンバーのうちkintone認定 アソシエイト試験を受けたことのない7人全員(ソフトウェアエンジニア5人、QA2人)です。

kintone認定 アソシエイト試験とは

kintone認定 アソシエイト試験は、kintoneの機能および設定方法に関する体系的な知識を持ち、kintoneを活用した業務改善スキルがあることを証明する認定資格です。50問の選択式問題に解答して、70%以上の正答率を獲得すると合格します。

出題範囲はkintone全体にわたるものの、アプリ機能に直結する範囲が半分程度を占め、間接的に関わる範囲も含めると大部分に及びます。これは刷新対象に繋がる知識がたくさん得られそうです。

計画始動〜全員合格までの流れ

ここでの流れは他の資格の受験や勉強会にも活用できると思いますので参考になれば幸いです。

1. 明確な期限を設定する

まず、(少なくとも私は)期限がないといつまでも勉強しないので、この日までに合格しないといけないという期限を設けました。

ネットでざっと調べたところ、kintone認定 アソシエイト試験の一般的な勉強時間は30時間とされているようでした。しかし、私たちはkintoneを社内で幾度となく触ってきた開発者なんで、より少ない20時間で可能だろうと見積もりました。そして、1日平均0.5時間の勉強×40営業日=2ヶ月という計算で、始動から2ヶ月後に期限を設定しました。

2. みんなで同じ教材を用意する

kintoneの機能はヘルプページで学べますが、体系的に全体像を手っ取り早く学ぶために公式の教本を全員で購入しました。

【特典付き!】kintone認定アソシエイト試験対策テキスト 第4版

教材を統一することで、後述する進捗報告会で進捗がわかりやすくなる他、分からないところの共有もスムーズにできます。

ちなみに、サイボウズ社員はこの教本の購入費用や受験費用を会社が負担してくれます。自社が出しているものを自社のお金で買うというまさに地産地消です。

当然、教本を用いた勉強をベースとしつつもそれ以外の媒体(YouTube練習問題など)を好きに用いることを認めており、後述する進捗報告会ではどの媒体にどういう利点・欠点があるのか意見交換することもよくありました。

3. 週次の進捗報告会を実施する

各自に任せっきりにすると(少なくとも私は)直前まで勉強しないため、週1で30分ほど集まってお互いの進捗を確認しました。

週次の進捗報告会の記録
週次の進捗報告会の記録

各メンバーの報告内容は次の3点としました。

  1. 今週やったこと
  2. へ〜と思った機能
  3. よく分からない機能

単にやったことを報告するのみでなく、個人的に興味深かった点やよく分からない点も合わせて共有することにしました。これは、勉強した内容をみんなでワイワイ深掘りするキッカケを狙ったもので、実際にここを起点に話が盛り上がることがしばしばありました。

また、理解をさらに深めるため、報告で上がった機能は実際にkintoneの画面を共有してみんなで確認しました。

4. 各自の好きなタイミングで受験する

kintone認定 アソシエイト試験はCBT方式(Computer Based Testing)で実施されており、テストセンターか自宅でいつでも受験できます。

メンバーの都合を考慮して、各自が「いけるな」と思ったタイミングに受験することにしました。

そして、受験したらその結果を進捗報告会で報告してもらいました。

受験結果の報告
受験結果の報告

5. 全員合格する🌸

上述の取り組みの結果、期限より1週間遅れであるものの、参加者全員が無事試験に合格することができました!

最後の報告記録
最後の報告記録

めでたしめでたし!

やってみて気づいたこと

今回の取り組みを通じて、いくつかのことに気づきました。

kintoneの全体像に加えて儲けのカラクリも見えた

まず、当初の狙い通りkintoneの全体像を把握できました。特に、当時入社1年目だったメンバーからは、今まで複雑な機能を実装するにあたって毎回その機能の概要を理解するところから始まっていたところ、今ではこれらを体系的に知っている状態から始められるので結果的に実装スピードが上がった感覚があるとの意見が寄せられました。

全体像に加え、kintoneの料金体系やプランによる違い、契約の流れなどビジネスに直結する部分に関する知識を得るキッカケにもなりました。

  • 契約とサービス利用を繋ぐ管理機能
  • ビジネスモデル
  • 料金体系やプランの違い(スタンダード/ライトコースの機能差など)

こうしたことを頭に入れておくことで、単に目の前の機能を実装するだけでなく、なぜその機能が必要なのか、どのような理屈で売上への貢献が見込めるのかを自ら考え、開発者としてビジネスを考慮に入れた最善の手段を講じることに繋がることが期待できると考えています。

試験の知識だけでは実装の抜けはゼロにできない

kintone認定 アソシエイト試験の知識はkintoneの全体像を把握するのに十分ですが、必要な実装を網羅するほどのものでないことも分かりました。

例えば、kintone認定 アソシエイト試験では、kintoneの各所で細かい権限設定を加えることができることが学べます。しかし、その制約が具体的にどの場面でどのように現れるのかは「権限がないと〇〇できない」という程度のことは示されている一方、それが製品上でどのように示されるのかまでは分かりません。さらに、権限設定の細かい方法がもたらす微妙な違いも触れられません。

フィールドのアクセス権がない時の表示の違い
フィールドのアクセス権がない時の表示が2パターン(左:フィールド非表示/右:権限がない旨の文言表示)あることは試験には(多分)出ない

しかし、そういうところにこそ実装の抜けが起きがちだったので、結果的に課題の解決にダイレクトに有効とは言い難いものでした。こうした問題を減らすには、試験の知識だけでは不十分で、実装の経験や現在の挙動を深掘りする経験の蓄積が物を言うようです。

とはいえ、kintoneの諸概念が頭に入っていることで、ある機能を実装するときに他の関連機能の影響を想定することができるようになったので、実装の抜けをゼロにはできないものの軽減には一定の寄与をしているように感じます。

結局直前にならないとやらない

前述の理屈で2ヶ月の勉強期間を設けましたが、実際のところ1ヶ月目から本腰を入れてフルスピードで勉強する人はほとんどおらず、期限の2〜4週間前から必死で勉強する人がほとんどでした。

それでもなんだかんだで全員受かっているので、実は期限を1ヶ月以内に抑えても十分成立した可能性があります。

参加メンバーに後で尋ねたところ、本気でやれば1〜2週間あればできるという意見が多く、中にはもっと期限を短くしても良いとの声もありました。集団受験の取り組みを実践するならば短期決戦で臨む手も十分考えられそうです。

おわりに

kintone認定 アソシエイト試験の集団受験は、その出題傾向からフロントエンド刷新におけるアプリ機能の実装漏れをゼロにする特効薬にはなりませんでしたが、チーム全体の製品理解は確実に深まり、実装時の考慮事項に対する強いアンテナを張ることに繋がりました。

今回の事例はkintone認定 アソシエイト試験の受験に関するものでしたが、この事例には他の試験受験にも共通する知見、転用できるノウハウがあると思います。

この記事がチームメンバーのスキル向上に向けた施策の参考になれば幸いです!