「開発体制、開発環境」を中心にアウモ開発について紹介していきます!

アウモでは事業をさらに拡大させるため、開発組織を強化しています。そこで面談などを行う中でよく質問にあがる、アウモ開発の体制などについて紹介していきます。

最近、エンジニア向けのグリーグループウェビナーがあり、弊社の新卒の子と一緒に登壇をしました。初登壇にも関わらず、8割くらい任せてもそつなくこなしていて、アウモ開発チームの未来は明るいなと思った、サーバーサイドを中心に開発を担当している村田です。今回は「開発体制、開発環境、外部発信の取り組み」を紹介していきます。

開発体制

開発チームはエンジニアとデザイナーが所属しており、3つのラインに分かれています。サーバーサイド、フロントエンド、クライアントです。それぞれの役割は現時点で以下のようになっています。

ライン役割
サーバーサイド・APIの開発
・バックエンド処理
・フロントエンド開発
・インフラ面
フロントエンド
※デザイナーが主に所属
・UI、UXのデザイン
・ノーコードツールを利用したtoB向けのサイトの制作
クライアント・アプリの開発
※簡易な機能についてはAPIの開発も担当する

開発の進め方

開発の進め方は基本的に以下の流れになっており、全て内製で行っています。

順序内容責任元
1企画・要件定義PdM
2UI・UXデザインデザイナー
3見積・設計エンジニア
4実装エンジニア
5QA・テストエンジニア、デザイナー、PdM
6リリースエンジニア

プロジェクト制

開発チーム内のラインのほかにプロジェクトが存在し、プロジェクト制で開発しています。プロジェクトごとにPdMがいて、エンジニアを1名〜3名アサインしてプロジェクトを組成しています。

PdMが要件を決め、画面がある場合はデザイナーがデザインを起こし、エンジニアは設計、実装、テストを担当します。開発要件の検討段階でPdMからエンジニアへ相談されることも多く、機能によっては要件定義から携わる場合もあります。

また、エンジニアは設計、実装、テストを一気通貫して担当してもらうため、技術スタックの選定もプロジェクトにアサインされたエンジニアに任せるようにしています。

プロジェクトへのエンジニアのアサインについては定期的にローテーションするようにし、エンジニアそれぞれがアウモサービス全体のアーキテクチャの理解が進むように、かつ属人的にならないように気をつけています。

アウモでは「メディア事業」と「SaaS事業」の2つの軸で事業が存在し、それぞれにプロジェクトが存在し、現段階では以下の4つを走らせています。

その他

在宅勤務とオフィス出社の混合のワーキングスタイルを取り入れていて、エンジニア個々人の事情に対応できるように柔軟な形で働くことが可能な体制になっています。

開発環境

サーバーサイド

サーバーサイドの大部分で「Ruby on Rails」を採用しています。APIについてはRESTとGraphQLを採用しています。そのほかにアプリの記事推薦機能などで機械学習を導入していて、Pythonを使って数理処理を行なっている部分もあります。

フロントエンド

Vue.jsをメインにVue.jsのフレームワークとしてNuxt.jsを採用しています。現段階ではフロントエンド専任で開発するチームは存在せず、サーバーサイドエンジニアがフロントエンドの開発も担当するような体制になっています。

クライアント

iOSについてはSwiftを採用しています。アプリリリース当時はObjective-Cで書かれていたものを全てSwiftに変更しています。AndroidについてはKotlinを採用しています。こちらもアプリリース当時はJavaで書かれていたものを全てKotlinに変更しています。

インフラ

全てクラウド上で構成しています。AWSを中心にし、一部でGCPのサービスを導入している機能もあります。監視についてはインスタンスの状態監視をDATADOG、アプリケーションのログ監視をpapertrail、フロントエンドの監視をSENTRY、アラート管理をPagerDutyで行っています。

その他

デザイナーとエンジニア間でデザインを連携する際にはFigmaを利用しています。デザイナーがデザインからサイト制作まで一貫して担当する場合、ノーコードツールのSTUDIOを利用しています。

社内のコミュニケーションで利用しているものはSlack、Zoomがメインです。仕様書などのドキュメントについてはConfluence、Google Docsを使用し、エンジニアだけではなくビジネス側も含めて連携しています。

外部発信の取り組み

2021年5月からこのテックブログを始めて、月に1~3本程度の間隔で定期的に直近でどのような取り組みを行なっているのか発信するようにしています。

テックブログを通してoutputすることで、当人の技術への理解が深まることに加え、社外の方がアウモのことをinputする情報源の1つになるとの声があったりするなど、一定の効果があることがみえてきたので、引き続きテックブログでの発信は続けていこうと思っています。

その他に登壇活動も行なっていて、2021年は以下のものにアウモから登壇しています。登壇活動も2022年も引き続き行なっていこうと思っています。

おわりに

最近、Meetyをはじめました。アウモの開発について、またアウモのサービス自体に少しでも興味を持ってもらえたら、お気軽にMeetyよりご連絡ください。