Ace Every Stack — Voicy A.C.E.チームが目指す"越境し合うエンジニア組織"

はじめに

こんにちは、Voicyでテックリードをしているおはぎ(@a_key_bako)です。 この記事では、私たちのチーム「A.C.E.」の紹介と、チームとして取り組んでいるAI活用や"越境"の実践についてお話しします。

A.C.E. チームとは

A.C.E.チームは現在5名で構成されています。専任メンバーは2名で、残りはVPoE・EM・Featureチームのメンバーが兼任する形です。

Featureチームはチームトポロジーでいうストリームアラインドチームにあたり、プロダクト開発を主に担うチームです。

チームが現在の形で組成される昨期まではEnablingチームとして、各種プラットフォーム(バックエンド・モバイル・Web)のリードが開発案件外のタスクを主に担当していました。例えば、各種ライブラリのアップデートやエンジニア全体の目標として掲げていたテスタビリティ向上のためのテスト指針策定、新しいアーキテクチャへの刷新などです。

そこへ、昨年ごろからの生成AIの急速な進化がやってきました。我々のコーディング業務にも大きな影響を与えるこの波を受け、生成AIを活用した生産性の向上もチームの目標に加わりました。

チーム名の由来

「Enabling」と「AI」を掛け合わせたいくつかの候補の中から、メンバー投票で決めることにしました。最終候補に残ったのはこの5つです。

略称 正式名称 雰囲気
E.A.T. Enabling AI Team 親しみやすくてキャッチー
A.C.E. AI Coding Enablement ハイパフォーマンス、"最高峰"感
A.I.D. AI Implementation & Development サポート志向で頼れる印象
B.E.A.T. Boosting Engineering with AI Team エネルギッシュで推進力がある
P.A.C.E. Productivity via AI & Coding Enablement スピードと持続性にフォーカス

どれも個性があって悩ましかったのですが、投票の結果 A.C.E.(AI Coding Enablement) に決まりました。

正直なところ、「我々がエースである!」と豪語しているような印象を持たれそうで、ちょっと小っ恥ずかしさがあります。 でも、このチーム名も日々の中でなし崩し的に定着しつつあります。

スローガン「Ace Every Stack」

チームのスローガンは Ace Every Stack です。

あらゆる技術スタックをエースとして制する 全エンジニアが領域を越境し、フルサイクルでプロダクトをデリバリできる世界をつくる。

実はこのスローガンはチーム名を決めた後に付けたものです。「Ace」は耳馴染みのある英単語ですが、真面目に辞書を引いたことはありませんでした。試しに調べてみると、動詞としての意味があることがわかりました。

ace (verb): to perform very well on (a test or challenge) — Britannica Dictionary

テストや課題を見事にやり遂げる——まさに、あらゆる技術スタックという"挑戦"を制していくという私たちの姿勢にぴったりです。チーム名の A.C.E. とスローガンの "Ace" がつながって、個人的にはとてもしっくりきています。

昨期の取り組み — AI活用のEnabling

昨期(〜1月)は、AI活用をチーム全体にEnablingしてきた半年でした。

メンバー各々がClaudeやDevinをはじめとするコーディングAIを実際に業務で活用し始め、生産性の向上を実感できた期間でした。

AIがコードを書く部分をサポートしてくれることで、一人あたりのアウトプット量が底上げされた実感があります。

また、コードを書くだけでなく、AIが開発における議論の相手にもなるようになってきました。設計の壁打ちやアプローチの比較検討など、以前であれば一人で悩んでいた場面でAIと対話しながら進められるようになっています。

さらに、不具合の一次調査をAIに任せるといった活用も始まっています。

tech-blog.voicy.jp

今期の挑戦 — 越境とプロダクトエンジニア

今期(2月から)は、さらに一歩踏み込んで 越境 をミッションに据えています。

プロダクトエンジニアというロール

私たちは「プロダクトエンジニア」というロールを定義し、そこを目指して活動しています。

note.com

従来の「どうやって作るか」——つまり特定のプラットフォームや技術領域に専門性を置く働き方も大事にしつつ、「何を作るか」によりフォーカスを置いた職能へシフトしています。

エンジニアも 「どうすればユーザーが喜ぶか」という一段上の視点を持つべきだという考えのもと、ユーザーに届ける価値を起点に、必要な技術領域を横断して開発できるエンジニアを目指しています。

実際に起きている変化

この「越境」は単なる私たちのチームからの呼びかけだけにとどまらず、日々の開発の中で実際に形になり始めています。

全プラットフォームの環境構築

以前は、自分の専門領域のコードを最低限動かせる環境があれば十分でした。例えばバックエンドエンジニアはバックエンドの環境を、iOSエンジニアはiOSの環境を、という具合です。

越境の土台として、まず取り組んだのが各プラットフォームの 環境構築手順の整備 でした。README や、AI コーディングエージェントが参照する CLAUDE.md などのドキュメントを整え、誰でも・どのプラットフォームでも迷わずセットアップできる状態をつくることから始めています。

得意領域を超えたタスクの分担

ちょっとした改善タスクを、今まで得意としていた領域を超えて分け合うようになりました。 「これはバックエンドの仕事」「これはフロントの仕事」という線引きが薄れ、手が空いている人が領域を問わず拾っていくスタイルが自然に生まれています。 仕様や不具合についての問い合わせをいただいた時に、自身の専門領域でなくとも拾うことができるメンバーが増えてきました。

また、設計の議論にも変化が生まれています。以前は「バックエンドの話」「iOSの話」と技術スタックごとに分断されがちだった議論が、チームとして設計に関わるスタイルへと変わってきました。特定の領域の関心事に閉じず、プロダクト全体の視点で設計を考える場が増えています。

一人でフルスタック開発

そして今では、ちょっとした機能であれば一人のエンジニアがバックエンド、Webフロント、モバイルのすべてを開発することができるようになりました。一つの機能をユーザーに届けるまでの全行程を、一人で完結させられる。これはまさにプロダクトエンジニアとしての一つの到達点だと感じています。

こうした変化は肌感だけでなく、数字にも表れています。昨期、専門領域としている領域の外のタスクに関わって来なかったエンジニアも複数いました。今期はその様相が変わり、エンジニア全員が専門領域外のPRを最低4件以上(メインブランチへマージされたものを換算) 出しています。越境が特定の人の話ではなく、エンジニア組織全体の当たり前になってきています。

まとめ

昨期のAI活用による生産性向上の土台の上に、今期は「越境」という新たな挑戦を積み重ねています。

AIがコードを書く部分をサポートしてくれることで生まれた余力が、今度は専門領域を超えた挑戦へと向かっています。AI活用と越境は、私たちにとって切り離せない話です。

全員が越境PRを出すようになったことは、「越境しろ」と号令をかけた結果ではなく、環境を整え、文化を育てた結果が数字に表れてきたものだと感じています。

「Ace Every Stack」

あらゆる技術スタックをエースとして制する

このスローガンのもと、より広く大きな価値を出せるエンジニア組織を目指して、A.C.E.チームはこれからも越境し続けます。