kintone開発チームに聞いてみた ── Cybozu Tech Meetup #1 の質疑応答編

こんにちは、Yakumoチーム兼コネクト支援チームの@ueokandeです。 先日5月12日に、Cybozu Tech Meetup 『kintone開発チーム』を開催しました。

cybozu.connpass.com

当日はYouTube Liveで配信しました。 connpassでは300名近くの方にお申し込み頂き、当日の最大視聴者数も200人を超えました。 配信の録画は以下から観ることができます。

www.youtube.com

質疑応答の時間も、運営が想定してたよりも多くの質問が寄せられて、とても盛り上がりました。 時間の都合上、当日にすべての質疑に答えられなかったので、この記事ではそれらの質問への回答を紹介したいと思います。

「kintone × リモートモブプログラミング」 by 西 大樹

Q: モブプロに選ぶタスクの基準、タイミングが知りたいです。

基本的にタスクはモブで実施します。一方で、誰がやっても同じ結果になるタスクはモブでしません。 たとえば定形作業などです。

Q: チーム構成はどうやって決められますか? 気を付けていることはありますか?

それぞれのチームに、ベテラン1名が割り振られるようにします。 それ以外のメンバーも知識が偏らないようにバランス良くチーム分けします。

Q: ソースの書き方・フォーマットについては、なにかルール化していますか?またはツールを使ってる?

チーム内でEclipse Formatterの設定ファイルで共有しています。 またspotlessというツールを使って、CI (Continuous Delivery) 上でフォーマットエラーを検知します。

Q: 共有VMの詳細を差し支えない範囲でお聞きしたいです

社内にUbuntuのサーバーを立てています。

Q: モブプロを教育の手段とする場合どれくらいモブプロは活用されていますか?

チームに人が入ったら、とりあえずモブに入ってもらいます。 モブでキャッチアップやオンボーディングを実施します。

Q: ドライバーとナビゲーターの交代時間ってどのくらいの間隔で交代してますか?

チームによりますが、25分の作業時間と5分休憩のサイクルを繰り返しています。 作業時間や残り時間を測るために、Cuckooというモブプロタイマーを使っています。

Q: モブプロしてる時の休憩ってどういう風に取っていますか?みんなで一緒に休憩する?適宜抜けたり入ったりする?

休憩時間も接続を維持したままにしていますが、メンバーは全員、音声・映像をオフにします。

「ひよっこ kintone 開発プログラマーの冒険譚」 by 中川 遼太郎

Q: フルリモートになったのはコロナの影響もありますか?

はい、そうです!

Q: 自動テスト、進んでますか?

試験設計をQAエンジニアが担当して、プログラマがそれを自動化しています。

「IT業界未経験者が kintone QA として1年間がんばった話」 by 川畑 ひとみ

Q: 回帰試験は自動化されていないんでしょうか?

自動化が技術的に難しい、不安定である等の理由がなければ、基本的には自動化しています。

Q: QAエンジニアは全て内製ですか??ニアショアオフショア等を利用されていますか??

kintone開発チームとしては社外に依頼することはほとんどありません。 セキュリティチームなどは外部監査を依頼することがあります。

Q: 海外の拠点からQAをしてもらうことはありますでしょうか?また、その際のコミュニケーションは何を使うのでしょうか?

上海とベトナムにも開発拠点があるので、海外拠点のQAがいるチームもあります。 今はいませんが、長い間kintoneチームにも上海のQAがいました。

コミュニケーションツールは拠点関係なくkintoneが主で、必要に応じてテレビ会議やチャットも使っています。 またその際の言語は、上海メンバーは全員日本語ができるので日本語で、ベトナムメンバーは英語でやり取りしています。 ベトナムにはコミュニケーターさんがいるので、テレビ会議の通訳やテキストの翻訳をお願いすることも可能です。

Q: 上司がいなくてどのようなことに困りましたか?
Q: メンターはいるが上司はいない、の具体的な苦労点が気になります

自分の進むべき方向や相談などができる人が、明確に決まっていない点です。

Q: 上流工程でQAが関与する具体例等をお聞かせ頂けますか??

要件定義からQAも交えて議論しています。 PMからの「こういう機能の追加・改善をしたい」という相談に対し PG・QAで「他の機能へ影響しそうだが問題ないか」「どういう挙動になる想定なのか」等のフィードバックを返しています。 また製品仕様書の作成・修正も、PGとQAで一緒に行っています。

Q: QAエンジニアはシステムテストや受入テスト、開発エンジニアはユニットテストや統合テストを担当、等の担当分けをされていますでしょうか??

各テストの定義が異なるかもしれませんが、以下kintoneチーム内の用語で回答します。 自動化しているテスト(受け入れ試験)については、テストケースをQAとPGで一緒に考えてPGが自動化しています。 ユニットテストについては、一部管理しているもの以外は、PGの裁量で作成してもらっています。 機能試験や自動化されていない受け入れ試験等、手動で実施するテストについてはQAがすべて担当します。

Q: バグなのか仕様なのかで、プログラマと喧嘩になりませんか?

喧嘩にはならず、PGとQAエンジニアが納得するまで議論を続けます。

Q: 実際に今の業務でイメージと違ったことや苦労していることはなんですか?

想像よりもミーティングが多いと感じました。 また自分の知識の無さに苦労しています。

Q: QAエンジニアに未経験で実際なってみて、ギャップ等はありますでしょうか??

思ってたよりも、Webアプリケーションの知識が必要だと感じました。

Q: 今後どの様なスキルがQAエンジニアに必要と考えてらっしゃいますか??

WebアプリケーションのQAエンジニアとしては、Web技術の知識が必要だと考えています。

Q: QAをやっていて楽しいことはありますか?

仕様検討のときに、QAエンジニアの立場として、考慮漏れなどを指摘できたときにやりがいを感じます。

Q: 現在、転職活動中なので、参考にさせて頂きたいのですが、現在のQAエンジニアを通して、最終的にこういうエンジニアになりたい、といったようなビジョンがもしありましたら、教えて頂けますでしょうか。

「kintoneの仕様は私に聞けばOK」という人になりたいです。

Q: これからkintoneをどうしていきたいですか?

もっと多くの人に使ってもらえるようなサービスを目指したいです。

おわりに

初めてのオンライン開催のMeetupでしたが、当日は質疑応答や実況が盛り上がりました。 ご参加いただいた皆様、本当にありがとうございました。 今後もCybozu Tech Meetupを定期的に開催します。

次回は6月中旬ごろに、『Garoon開発チーム』にフォーカスをあてたテーマで開催する予定です。 近いうちに改めてconnpassで告知するので、お楽しみください!