はじめに
アンドパッドの土方です。
最近エンジニア採用に携わっております。
今回はアンドパッドの開発組織について紹介したいと思います。
開発組織のミッション
テクノロジーを武器に社会変革にチャレンジする
私たちの開発しているANDPADは、少しだけ便利に、というよりも革新的に仕事環境が変わったというインパクトを与える可能性を持っています。
プロダクトの開発を通して業界の働き方に変革を起こす、テクノロジーを武器にチャレンジすることが開発組織のミッションです。
ミッション実現のために、圧倒的ユーザー視点で結果を出す、個人の成長を下支えする体制、組織を定義しています。
- テックリード
- 技術成果物に責任を持ち、ANDPAD全体の事業成長を実現するために、テクノロジーを用いて何をするのか、実現するのかを考える役割です。
各プロジェクトにおけるCTOとしての役割を担います。
- 技術成果物に責任を持ち、ANDPAD全体の事業成長を実現するために、テクノロジーを用いて何をするのか、実現するのかを考える役割です。
- エンジニアリングマネージャー
- エンジニアメンバーのマネジメント業務に責任を持ちます。
メンバーの中長期的な成長や開発業務に集中するための環境整備、全社に関わる情報のインプットが責務です。
- エンジニアメンバーのマネジメント業務に責任を持ちます。
開発組織が取り組んでいること
3年後の世界ですべてを10倍にすることを実現するシステム構成に取り組んでいます。
現状ではANDPADの中心にモノリシックで巨大なRailsアプリケーションが稼働しており、新規プロダクト開発時には並列するような形で新たにシステムを構築する必要がありました。
既存サービスの資産とに連携させ多人数で多数のサービスを効率的に開発/リリースすることを実現するためのマイクロサービス基盤が取り組みの一つです。
マイクロサービス基盤を導入することで、システム面からビジネス成長を加速させることを実現させたいと考えています。
開発の進め方、チーム
プロダクト開発部門を中心に、QA,SRE,SETといったチームを横断した役割のメンバーを組み合わせプロジェクトチーム単位で開発を進めています。
サービスの中心となるプロダクトを担当する大規模チーム、スピード感を持ってMVP開発を担当する小規模チーム、0から1を生み出す新規プロダクトを担当するチームとプロダクトの性質や規模に応じて様々なチームが並行して稼働しています。
プロダクト、機能開発にあたっては関係者がコミュニケーション/検討し、ANDPAD DesignDocを作成します。
議論/意思決定の過程を残し適切なものを作るために、これから開発するソフトウェアの基本的な要を抑える、
またdeploys / a day / a developerによる開発組織のコンディションを健全に保ちつつ開発サイクルを向上させることを目的としています。
Goal | 達成したいこと |
Target | 対象ユーザー |
What | 何をユーザに提供するのか |
Profit | ユーザが得られる利益 |
Not Goal | 達成しないこと、対象外にしていること |
Background | 作成することになった背景 |
Overview | 概要およびシステム構成 |
Detailed Design | 仕様検討済みのシステム詳細 |
機能開発においては、1〜2週間スプリントでの短い開発サイクルで、品質を担保しながら小さな機能単位でのリリースサイクルを進めています。
※大きなプロダクト単位でのリリース、メンテナンスも定期的に実施しています。
またコロナ禍によるリモートワーク対応においては、デイリースクラムを開催しチームのスプリントゴールに向けてコミュニケーションを取っています。
技術顧問の参画
- Ruby on Railsコミッターである松田 明氏、株式会社ビットジャーニー 代表取締役 井原 正博氏をはじめとして5名のエンジニアに技術顧問としてお世話になっています。
- 勉強会の開催、コードレビュー依頼、技術相談、1on1と様々な形で開発組織の技術力向上に寄与していただいています。
- 技術顧問からエッセンスを吸収し、社員が別の会社の新たな技術顧問となり、アンドパッドで得た技術力や知見を広めていく、そんなサイクルの実現を目指しています。
継続的アウトプット
継続的なアウトプットを推奨しており、情報共有/学習の場を多数用意しています。
- Tech Blog
- 10minのクイックな勉強会を複数開催
- 振り返りKPTの公開
- LT会
開発における様々な改善活動を行っています
- ペアプロ(二人でプログラムを書くことで、理解を深める、暗黙知の認識)
- モブプロ(プログラムを書くシーンを見学しながらすすめることで、不具合防止、知見の共有)
- BugMash Day(技術負債、過去の非効率なコード、パフォーマンスが悪い箇所に向き合い、投資/改善活動)
エンジニア組織
ここからミッション、取り組みを実現するための各組織について紹介します。
プロダクト開発部門
ANDPADのプロダクト開発を担う部門です。
新規プロダクトの開発や、サービス提供中のプロダクトに対して機能の改善、機能追加開発を行っています。
バックエンド、フロントエンド、スマートフォンアプリといったプロダクト開発に関わるエンジニアが所属しており、職種による組織ではなくプロダクトを軸としています。
プロダクト軸で組織を定義することにより、各組織の注力プロダクト、役割を明確化し担当プロダクトへの深い理解を得ることを目的としています。
品質管理/保証部門
品質管理、品質保証からANDPADのプロダクト開発を支える部門です。
要件定義、概要設計といった上流工程段階で、お客様に適切に価値提供できる内容となっているか、後々リスクとなる要素はないか。
開発中からテストフェーズにおいての、詳細仕様のキャッチアップからテスト設計、テスト実施。
プロダクト開発の全行程に関わることで、プロダクトの品質を向上し、お客様に提供する価値を担保する部門です。
tech.andpad.co.jp
テクニカルサポート部門
主にCRE(Customer Reliability Engineering、顧客信頼性エンジニアリング)業務を担当しています。
カスタマーサポート部門やカスタマーサクセス部門が日々ユーザーから受けているお問合せに対して、技術的に答えていくことが主な仕事です。
SQLでDBからのデータ調査を行ったり、お問合せ頂いている事象の再現性確認、原因調査を行います。
不具合の場合は開発側にプログラムの修正対応を依頼し、運用しているプロダクトの品質向上に貢献する役割を担っています。
tech.andpad.co.jp
アプリケーション基盤部門
建築業界の中に存在する多種多様な業務・業態に合わせた多種多様なサービスを、スピード感を持ってより良いものとしてリリースするためのマイクロサービス基盤の構築を担っている部門です。
SRE/データ基盤部門
SRE、データ基盤といったプラットフォームに関わる部門です。
サービスの安定稼働、継続的デプロイを目的としてインフラ環境の構築/運用、CI/CD環境の整備、
アンドパッドのデータ分析プラットフォーム構築を担当しています。
DNS、ドメインやKubernetesの管理なども担当しています。
tech.andpad.co.jp
tech.andpad.co.jp
tech.andpad.co.jp
tech.andpad.co.jp
tech.andpad.co.jp
技術スタック
最新のテクノロジーを積極的に、かつ問題解決を目的として適切に採用しています。
終わりに
建築職人にとってのプラットフォームを目指すANDPADを支える開発組織を紹介しました。
3年後の世界ですべてを10倍にする、つまり開発組織のアウトプットも10倍を目指しています。
アーキテクトの力でサービスをグロースさせる、事業の成長を加速させる絶好のタイミングでもあります。
そんな変革、成長の真っ只中にあるアンドパッドのエンジニア組織に興味を持っていただいた方、カジュアル面談からでもご応募お待ちしております!