【新卒技術研修】24卒メンバーでチーム開発に取り組みました(意識したこと&学んだこと)

こんにちは。エキサイト株式会社でデザイナーをしている齋藤です。 今回は、24卒技術職メンバーが新卒技術研修で約1ヶ月間チーム開発に取り組みましたので、各々が意識したことや学んだことを体験記として記したいと思います。

はじめに

冒頭、技術職メンバーの構成やチーム開発で取り組んだお題についてご紹介します。

メンバー構成

24卒技術職はエンジニア2名、デザイナー2名です。以下のように役割分担をしました。

役割分担の全体図

エンジニア陣は主にバックエンドを担当し、デザイナー陣はテストケース設計兼務やフロントエンド兼務など、UIデザインに加えてそれぞれの得意領域に合わせた領域を担当しました。

チーム開発で取り組んだお題

今回のチーム開発では、エキサイトグループの全社員のメンタル状況を定期的にアンケート形式で集計する社内システムを約1ヶ月間で作りあげることをお題として取り組みました。

具体的に以下の機能を開発しました。

  • 回答対象者向け機能
    • 回答フォーム
    • 過去の回答確認
    • ユーザーマニュアル
  • 管理者向け機能
    • 作成済みフォームを一覧で確認できるダッシュボード
    • フォームの新規作成
    • フォームごとの管理機能
      • 回答対象者一覧の閲覧(回答状況や部署などで絞り込み表示が可能)
      • フォームの公開 / 非公開 設定
      • フォームの削除
      • 回答結果サマリーのダウンロード(CSVファイル)
      • Slack通知(フォーム公開時に全社的なチャンネルに通知投稿&未回答者にリマインドのDM送信)

PHP(Laravel)を用いて開発を行いました。

チーム開発を通じて意識したこと

チーム内のメンバーがそれぞれ意識したことをご紹介します。

デザイナーA

私は常にユーザーの声を忘れないように意識しました。エンジニアリングの知識不足でチーム開発についていけるか不安に思うこともありましたが、その分、技術的な視点ではなくユーザー目線を重視してUXを検討することに注力しました。具体的には、定期的にユーザーと接点を作り、プロダクトへのフィードバックをもらいながら問題点を整理しました。これにより、チーム全体がユーザー視点を意識した開発を進めることができたと思います。

デザイナーB

私は「いつでも開発を引き継ぎできる状態にする」ことを意識しました。UIデザインとフロントエンドを兼務しましたが、開発の初期段階でデザインシステムをFigma・フロントエンドともに構築を行いました。デザインシステムとして、デザイン原則をトークンとして定義したり、汎用的なUIパーツをコンポーネントライブラリとして用意をすることにより、誰でもすぐに一貫性のあるデザインとフロントエンドの実装を行えるような環境を整備しました。結果として、もう一方のデザイナーがUIをデザインをする際にも一貫性のあるUIがスピーディーに仕上げることを可能にし、短い開発期間で完成させることができた一因にもなりました。

エンジニアC

私は、今回のプロジェクトを進めるにあたりバックエンドの業務を初めて行いました。そのため、わからないが多くプロジェクトを止めてしまわないか不安でした。そこで意識したこととしては、悩んだことがあればすぐに共有することです。自分が行き詰まってしまって抱え込んでプロジェクトを止めてしまわないようにすることで、自分ができることできないことをチームメンバーが把握しやすいようにして、フォローし合えるように意識しました。

エンジニアD

(これはチーム開発に限らず、ソフトウェアを開発する際は常に意識していることですが)最初に可能な限りしっかりと設計を行うことを意識しました。具体的には、DB設計やURL設計、画面遷移図の作成などを約2日かけて協力して行いました。最初に設計を行うことによって曖昧な部分を減らすことができ、手戻りの少なさにつながったと思います。

チーム開発を通じて学んだこと

チーム内のメンバーがそれぞれが学んだことをご紹介します。

デザイナーA

今回の研修で、私はテスト仕様書の作成からテスト実行までを担当しました。作成したプロダクトを様々なユースケースでテストするためです。初めての経験だったため、仕様書作成の際には自分が見逃している点や他のケースがないか、チームメンバーに何度もチェックしてもらいました。チームの助けを借りてテストを行ったことで、改善点を早期に発見し、期限内に修正することができました。このプロセスを通じて、メンバーと連携しながら細部まで注意を払う重要性を学ぶことができました。

デザイナーB

うまくいっている時だからこそ、立ち止まってプロジェクト全体を俯瞰して見つめ直すことの重要性を改めて学びました。人間の性でもあると思いますが、うまくいっている時には邁進してしまいたくなってしまいます。立ち止まらずに突き進んでしまうと、思わぬ盲点を見逃してしまうこともあるのだと思います。今回のプロジェクトでは、冷静な目がチーム内にあったため大きな問題は起こりませんでしたが、今後も「慢心は墓穴を掘る」が現実にならないように、うまくいっている時だからこそ、立ち止まる習慣を身につけていきたいと思います。

エンジニアC

共通認識を作ることがプロジェクトを進めるにあたりとても重要であるということを学びました。たとえばデザイナーさんとUIを作る時にエンジニア的に可能かどうか落とし所を考える時やフロントエンドとバックエンドのデータのやり取り、プロジェクトでの必要機能や期日などの認識のすり合わせなどです。共通認識を作ることで、開発の円滑さにつながるとともに、プロジェクトがどの程度進んでいてどのあたりに課題があるかを把握して完成に向けて行動することができました。

エンジニアD

(今回のような日数が限られている開発においては)何日までにこれをやるというスケジュールを決めるのに時間をかけすぎない方が良いと感じました。1つのコントローラには最大でも3日しかかけない程度の大まかなスケジュールだけ決め、すぐに開発に取り掛かったことにより、開発に使える時間が増えて結果としてより良いサービスを作ることができたと思います。

さいごに

今回のチーム開発を通じて、大きな学びを得て、これからの実務への足がかりになったと思います。

これはひとえに、新卒研修の運営メンバーの方々、メンターの方々、研修中に激励とアドバイスに足を運んでくださった方々などのすべての諸先輩方のおかげであると、新卒メンバー一同、改めて感謝をしています。

この経験を糧に、日々の業務に取り組んでいきたいと思います。

ご精読ありがとうございました。