SMARTCAMP Engineer Blog

スマートキャンプ株式会社(SMARTCAMP Co., Ltd.)のエンジニアブログです。業務で取り入れた新しい技術や試行錯誤を知見として共有していきます。

プロダクトチーム合宿レポート - 2021

こんにちは!スマートキャンプエンジニアの関口です!

12/1~12/2にかけて弊社のプロダクトチームで合宿に行ってきました!今回の記事では、合宿レポートをお届けします!

今回の合宿は以下の感染症対策を充分におこなったうえで実施しました。

  • 参加者全員のPCR検査、検温
  • 一定時間ごとに換気

合宿を開催した目的

今回の合宿を開催した目的は以下の2点です。

  • リモートワークで稀薄になっていた密度の高いコミュニケーションを取ること
  • 企画、開発メンバーがそれぞれの仕事内容の理解を深め、実務に活かせるようになること

業務がリモートワーク中心になったり、新しいメンバーが増えたことで部署間のコミュニケーションが稀薄になり、チームカルチャーが薄まっている懸念がありました。そのため合宿を通して普段よりも密度の高いコミュニケーションを取ることが目的の1つにありました。

またもう1つの目的は企画メンバーと開発メンバーの業務の相互理解を促進させるいうものです。

この目的を達成するために、企画サイドからは開発メンバー向けにプロダクトや機能のアイディアの煮詰め方についてや、計画や効果検証の方法など、企画サイドの業務について理解を深めることのできるコンテンツを用意しました。最終的には、開発メンバーから企画メンバーをサポートしたり自ら企画ができるようになることを理想としています。

反対に、開発サイドからは企画メンバー向けに、定義された要件に基づいてどのように開発が行われるかが分かるようなコンテンツを用意しました。企画メンバーが開発プロセスを理解することで、企画内容や計画の精度があがることを理想としています。

実施したコンテンツについての詳しい説明は後述します。 *弊社の企画職はデザイナー,プロダクトマネージャー,ディレクターの方々をさす。

宿舎紹介

今回開発合宿を行なわせていただいたのは、マホロバ・マインズ三浦というホテルです! 他社の開発合宿でも利用されており、合宿に必要な設備が充実していることが決め手となりました。Wi-Fiはもちろん、プロジェクターなどの備品の貸し出しも充実していました。 会議室の窓からはオーシャンビューの絶景が楽しめます!

昼休みにはメンバーみんなで海に行き写真を取りました。

コンテンツ紹介

今回の合宿の目的の1つが企画、開発メンバーがそれぞれの業務内容についての理解を深め、実務に活かせるようになることだったため、コンテンツもその目的が達成されるように設計しました。

具体的にはBOXILでユーザーがサービスを見つけやすくするためのアイデアソンをおこないました。企画プロセス、開発プロセスの要点を座学で学びながら、機能アイデアをグループで企画、設計するというものです。

それぞれの職種のメンバーが普段担当していないことを体験することで、相互理解を深めました。

企画パート

まず機能を企画するうえでの考え方を学びました。企画プロセス全体の流れから、機能を作成するうえで役に立つフレームワークの紹介がありました。今回の合宿ではダブルダイヤモンドとValue Proposition Canvasを利用して、機能の企画をおこないました。

ダブルダイヤモンドの説明の中で課題と解決策の2つのそれぞれで仮説を立て、検証することが大切だと説明がありました。

具体的には企画パートとして以下のことを実施しました。

  • 顧客セグメントの作成
  • ユーザーインタビュー
  • バリューマップ、プロトタイプの作成
  • ユーザーテスト

顧客セグメント検討

VPCは顧客セグメント(Customer segment)と顧客への提供価値(Value Proposition)にわかれるため、最初に顧客セグメントの作成をおこないました。 グループごとに、ペルソナを考えたり、ユーザーのペインやゲインを考えたりしながら、課題の仮説を立てました。

ユーザーインタビューの実施

続いておこなったのは解くべき課題が正しいかを検証するためのユーザーインタビューです。

ユーザーインタビューの際の注意点や意識したほうが良いことの座学を事前におこない、トークスクリプトを作成し、実際に他グループの企画職の方にインタビューをしました。

※ インタビューの良し悪し、スクリプトの例は実践的ジョブ理論テンプレート から引用しています。

実際にインタビューをしてみると、良くないと分かっていながらも自分の欲しい回答を得ようと誘導尋問をしてしまいそうになったり、想定とは違った回答をもらい、スクリプト通りにインタビューができなかったりしました。しかし、自分たちでは想像もできなかったユーザーの課題を見つけることができました。

バリューマップ、プロトタイプを作成

ユーザーインタビューを元に解くべき課題を特定したら、続いて解決策の検証をおこないました。

課題を解決するための機能はどのようなものにしたら良いのかをバリューマップを作成しながら考えました。バリューマップを作成した後、figmaでプロトタイプを作成しました。このfigmaを使ったプロトタイプの作成に時間がかかるチームが多く、デザイナーが少し手伝うと一瞬でプロトが作れる場面が複数のチームでありました。デザイナーってすごいなぁとあらためて感じた瞬間でした。

あるチームのプロトタイプ

ユーザーテスト

プロトができたら、企画した機能をユーザーが想定通り使ってくれるかを確かめるためにユーザーテストを実施しました。機能を使ってユーザーにどんなアクションを起こしてほしいかをユーザー目線で設定し、よりリアルなテストにするため、サービス・機能を利用する理由や目的などのシナリオを作成しました。またユーザーテストの評価項目として以下の3つがあることを学びました。

  • 効果
  • 効率
  • 満足度

実際にユーザーテストをやってみると、想像以上にユーザーに自分たちが想定したとおりに使ってもらえませんでした。自分たちの想定だけで機能企画を進めてはいけないということをユーザーテストを通して学びました。ユーザーテスト後はユーザーテストで得られた情報を元にプロトタイプをブラッシュアップしました。

開発パート

開発パートではシステムを開発の全体像と重要となる点の座学を受けたあとに、 企画パートで作成した機能の設計をおこないました。

座学では以下の内容を学びました。

  • 開発プロセスの流れについて
  • クラウドについて
  • 技術選定について
  • 非機能要件について

座学

V字モデルを利用しながら企画職の方向けに開発プロセスの説明をおこないました。基本設計、詳細設計の概要、それぞれのプロセスを踏む大切さを学びました。

クラウドについての座学ではオンプレミスとクラウドの違い、AWS, GCPなどのそれぞれのクラウドコンピューティングの違いを学びました。

技術選定についての座学では、弊社の利用技術を紹介したのち、技術選定の観点について学びました。さまざまな選択肢の中で、自社の状況にあった技術を使うことが大切であるという説明があり、弊社の利用技術の理解が深まりました。

非機能要件については非機能要件とは何か?なぜ非機能要件が必要なのかについて学んだ後、BOXILの1つの機能を例にしてどのようなことが非機能要件に当たるのかの説明がありました。

クラウドから非機能要件まで、エンジニアが企画職に知ってもらいたいことを座学中心で学び、エンジニアリングの世界に入門してもらいました。

実践

開発パートでは企画パートで作成したアイデアを機能に落とし込むためにUML図の作成と DB設計をおこないました。

UML図はユースケース図とシーケンス図を扱いました。 それぞれの図がシステム設計の際にどのように使われるのか、具体的な書き方などを説明したのち、グループごとに2つのUML図を作成しました。

UML作成後データベース設計をおこないました。データベースの設計の重要性を学んだのち、 企画職の方々と既存のBOXILのデータ構造を確認しながらデータベース設計、ER図の作成をしました。

発表

ER図の作成を終えたあとは2日間で企画、設計した機能をグループごとに発表しました。 BOXILのプロダクトマネージャーにフィードバックと、実際に機能として乗せられるかどうかの判断をしてもらいました。 評価が一番高かった機能は「自社と同じような規模の会社がどのようなSaaSを開発しているのか可視化させることができる機能」を企画したチームでした!

合宿を終えて

合宿でアイデアソンをおこなったことで、企画職やデザイナーの方々の仕事内容や機能を企画するうえで考えていることが理解するきっかけになりましたし、あらためて企画職やデザイナーの方々に対してリスペクトの気持ちが強くなりました。またリモートワーク化で交流が少なくなっていた他のチームの方々と久しぶりにコミュニケーションが取ることができ、大変充実した2日間になりました。今後もこのような企画を続けていきたいです!