電通総研 テックブログ

電通総研が運営する技術ブログ

エンタープライズアプリケーションプラットフォーム「aiuola」におけるアジャイル開発

はじめに

こんにちは。Xイノベーション本部の藤川です。
私は「aiuola(アイウォーラ)」というエンタープライズアプリケーションプラットフォームの開発において、プロダクトマネージャーをしています。まれにアーキテクト、デベロッパーなど別の帽子を被って開発プロセスに参加しています。

今回の記事では、aiuolaが採用しているアジャイル開発プロセスについて私たちの現在の着地点をスプリントイベントを中心に紹介します。

ちなみにaiuolaとは「エンタープライズアプリケーションでお客様に感動を」というキャッチフレーズで立ち上げた開発プロジェクトです。エンプラ系アプリってなんかあれじゃん、結局大したことないでしょという眉唾100%の皆様、ご安心ください。

私たちの想いを体現したエンタープライズアプリケーションは「Ci*X(サイクロス)」というブランドでリリースしております。
ご利用中のお客様からは「マニュアルを参照せずに使える業務アプリって初めて!」「経理部門に配属以来最も大きな感動体験です!」と評判です。
会計プロダクトの検討をされている方はぜひこちらをご覧ください。
グループ経営管理ソリューション サイクロスシリーズ
aiuolaの取り組み

aiuola とは

aiuolaは当社のエンタープライズアプリケーションの共通プラットフォームです。エンタープライズアプリで求められる認証・認可やUIライブラリを提供しています。
2023年現在、aiuolaを活用したいくつかのプロダクト群をリリースしご好評をいただいております。

プロダクトファミリー

体制

aiuolaの開発体制は初期からの変遷を経て、以下のような体制となっています。
本チームではサービス運用のミッションを持っていないためインフラチームは有していません。
(各プロダクト側にインフラチームがいて、我々と協力してお客様のサクセスを支えています)

開発チーム

初期の頃はフロントエンジニア4名、専任デザイナーが1名という体制でしたが、デザインシステムが固まってからは概ね上記の体制で活動しています。

当チームのバックエンドエンジニアは単一のユースケース(機能)の開発を担当し、機能単位のフロント実装も行います。
一方でフロントエンジニアはUIコンポーネントの開発やフロントエンド実装指針にフォーカスを当てて活動しています。

スプリントイベント

aiuolaの開発は2週間のスプリントで実施しています。
スプリント期間の過ごし方をスプリントイベントを中心に図にしてみました。

スプリントの過ごし方

ご覧いただくとお分かりかと思いますが、すごくオーソドックスなスクラム開発プロセスを採用しています。

なお、2020年以降、aiuolaの開発はリモートスタイルでの開発となっています。
スプリントイベントを含めて、すべての活動をリモート環境で実施しています。飲み会以外はね!😉。

デイリーミーティング

主に前日タスクでの課題とその日の活動予定を共有しますが、slackで簡単なワークレポートを投稿するルールにしているので、困りごとへの対応、レビュー担当者へのアサイン、QAメンバーへのテスト依頼などが目的になります。
大体、15分〜20分ぐらいの時間でその名の通り、毎日実施しています。

スプリントプランニング

スプリントで実施するタスクをバックログから決定します。
スプリントチームはQAチームを含めて4つのサブチームが存在するので、3段階のスプリントプランニングステージを設けています。

  1. プレスプリントプランニング
    各サブチームにて次スプリントタスクの選定とポーカー
  2. サブリーダーによるスプリントプランニング
    サブチーム間の作業すり合わせ
  3. 全員でのスプリントプランニング
    スプリントタスクの共有

従来は3だけですべてを実施していたのですが、チーム体制が大きくなるにつれ、全員を拘束してしまう時間が増えてしまいました。
貴重なエンジニアリング時間を十分に確保することを目的に3段階のフェーズを設けることにしました。

プロダクトリーダー会

プロダクトファミリーで紹介した通り、aiuolaを活用するプロダクトは複数あります。
各プロダクトも日々開発を進めています。プロダクト間で期待する要望、対応スケジュールのすり合わせは重要です。
プロダクトリーダー会ではそのようなプロダクトをまたがった調整を行います。

リリース内容発表会

リリース内容発表会ではスプリントにおいてリリースできる機能をチーム内で共有し、紹介し、功績を称える会となります。
私たちの開発対象はエンタープライズアプリケーションのため、単一の機能が有するフィーチャーは比較的大規模になります。そのためスプリントの中で1つの機能を完全に作り上げることができません。
リリース内容発表会ではそのリリースに含めることができた機能を対象とします。
それ以外にもQAチームから品質の取り組みに関する発表も含まれることがあります。

スプリントリリース

スプリントリリースはミーティングではなく、前スプリントの成果をリリースするタスクとなります。
aiuolaとしてのリリースはスプリントの成果物を各プロダクトチームに提供する作業です。

プロダクトファミリーの市場投入サイクルはaioulaを含めてすべて6ヶ月単位となります。そのため、スプリントリリースは開発ベータ版としてプロダクトチームに成果物を提供することを指します。

レトロスペクティブ

レトロスペクティブはその名の通り、スプリントの最後に行う振り返り会です。
開発の改善に役立つアイデアや課題を議論し、スプリントの中で挑戦すべきことを議論します。
従来はオフラインで実施していましたが、オンライン主体の開発プロセスに変わってからはMiroを活用しております。

終わりに

今回の記事では私たちが開発しているエンタープライズアプリケーションプラットフォーム「aiuola」の開発プロセスについて非常に簡単ですがその一端をご紹介しました。

プロダクトファミリーにて紹介したaiuolaプラットフォームを活用した各プロダクトも積極的な機能強化を行っています。

それぞれのプロダクトはここで紹介したプロセスをコピーして適用しているわけではなく、プロダクト特性やチーム体制に応じた開発スタイルを採用し、独自に発展を遂げています。もちろん私たちaiuolaチームも現状に満足しているわけではなく、より効果的な取り組みにチャレンジしています。

いずれのプロダクトでも、共に新たなチャレンジに挑んでくれる仲間を探していますので、ご興味を持っていただいた方は是非とも採用ページをご覧ください。

また、本チームの開発メンバーがアプリケーションアーキテクチャをテーマとしてTech Playに登壇します。
こちらも是非ご参加いただけると幸いです。
Tech Play URL

開発効率、運用性、保守性のカギは「アーキテクチャ」が握っていた!-技術的負債がないプロジェクトには「アーキテクト」がいる


執筆:@fujikawa.kenji、レビュー:@wakamoto.ryosuke
Shodoで執筆されました