見出し画像

SaaS開発チームの「自発的なコミュニケーション文化」の秘訣とは?

こんにちは!株式会社Almondo 広報担当の池田です。
現在Almondoでは、AI機能を含んだSaaSの開発を行っています。
そこで、今回はソフトウェアエンジニアチーム(以下SWEチーム)でバックエンド/インフラ統括をしている依田さんにお話を伺ってきました!ぜひ最後までご覧ください。

【この記事は、以下の方におすすめです】

  • SWEチームのコミュニケーションのコツを知りたい方

  • チームでのプロダクト開発の進め方に興味がある方

  • SWEチームのマネジメントの考え方や仕事の仕方を知りたい方

Almondo初のプロダクト開発チーム。目指すは”非連続”な成長を生むSaaS!

ー今日はよろしくお願いします!まずは自己紹介をお願いします。

よろしくお願いします!SWEチームでバックエンド/インフラ統括をしている依田です。
元々は42tokyoや他社のインターンでエンジニアとして経験を積んでいたのですが、その際に偶然Almondoのメンバーと接点を持ったことがAlmondoとの出会いです。
その後、CEOの伊藤や他のメンバーと話してみる中で、ここなら自分が今求めている経験ができそうだと感じ、昨年11月にジョインしました。当時はちょうど別の会社でインターンをしようか検討している時期だったのですが、スタートアップならではのスピード感で成長経験が積みたいと思っていたので、当時のAlmondoの成長フェーズはとても魅力的でした。
入社後、始めはAIソリューション事業でアルゴリズムエンジニア、プロジェクトマネージャーを務め、その後SaaS事業に携わるようになりました。元々プロダクト開発に興味があったので、1on1などでその思いを伝えており、立ち上げ初期からSWEチームのメンバーとして事業に関わることができました。
現在は、「AIソリューション事業のメンター」と「SaaS事業のバックエンド/インフラ統括」の2つを兼任しています。バックエンド/インフラ統括としては、

  • バックエンドエンジニアのマネージメント

  • バックエンドのコーディング

  • インフラエンジニアのマネージメント

  • インフラの構築

  • 要件定義

などの業務を担当しています。

ーでは、AlmondoのAI SaaSと、SWEチームについて教えてください!

チームが発足したのは2月ごろですが、本格的に今の形で動くようになったのは6月末からですね。現在のようなチーム体制を作り、目指す先をしっかりと全員で共有できるようにするまでには様々な試行錯誤がありました。*
(*この話は後日別のnoteで公開します!)

現在Almondoが手掛けているSaaSは、AIで問い合わせ対応の自動化を行うものです。
チームが掲げているビジョンは、
「お問い合わせ対応の第一歩であるFAQというやり方で、困りごとの自己解決をあらゆる意味でAIで圧倒的に効率化する」
さらに、チーム内部では必要に応じて、より詳細な定義や具体的な目標を立てて取り組んでいます

▶︎AlmondoのSaaSについてはこちら

SaaS事業のチームは、エンジニアとbizメンバーから構成されています。エンジニアはさらにフロントエンド、バックエンド、インフラ、AIの4チームに分かれ、それぞれ数人ずつで合わせて9名が所属しています。各チームに統括がいて、さらに全体統括がいる形です。私はその中で、バックエンド/インフラ統括を担当しています。

効率的な情報共有と意思疎通のコツ。ツールをフル活用したAlmondoのチーム開発!

ーSWEチームでは、どのような形でコミュニケーションを取っているのですか?

メンバー同士の意思疎通や情報共有の方法は、チームで開発を進める上で非常に重要なポイントだと思っています。
基本的なタスクの進め方については、週1回チームごとに定例MTGを開催し、1週間の進捗確認とNA(次の1週間のアクション)の明確化を意識しています。並行してNotionのタスクボード運用によるタスク管理を徹底することで、必要なMTG数を週1回まで減らし、効率的に仕事を進められる仕組みになっています。また、NotionのタスクボードとGitHubと連携させることで、エンジニアがやりやすい仕組みづくりも心がけています。

それに加え、週1回SaaS全体のMTGも行い、いつまでに何の機能を作るか、想定通り進んでいるかなど開発の大枠についてbizメンバー含め全員で確認しています。また、企業のニーズなど、bizメンバーからの情報共有もこの場で行われます。

【MTG一覧】

  • チーム定例(フロントエンド/バックエンド/インフラ/AIチームそれぞれで実施):週1

  • 全体定例:週1

  • その他必要に応じMTG設定

    • タスクを進めていくうちに詰まった点などの解消

他に、テキスト上のコミュニケーションは主にslackで行っています。
全体に関わること・重要な情報を共有する「saas-dev チャンネル」と疑問点・詰まっている点・進めているうちに気づいた点・質問・タスク用スレッドなどなんでも自由につぶやける「saas-dev-times チャンネル」の2つを使っています。誰でも気軽にコミュニケーションを取れるような環境を用意しておくことで、普段から自発的に意見を発信できるような雰囲気が作られると思います。

ーNotionとGitHubの連携ですか!具体的にはどういった使い方をしているのですか?

そうですね。SWEチームに限らず、Almondoでは、Notionのタスクボードでのタスク管理とドキュメントDBでの議事録/ドキュメントの整理で情報を統一してまとめています。
特にSaaS開発の際には、GitHubと連携することで2段階でわかりやすい開発フローを実現しています。
①Notionのタスクボードで情報をまとめ、2週間区切りでスプリントを開発
これにより、細かい範囲での進捗の可視化、明確なゴール設定、柔軟性(スプリントごとに、要件を見直すことができる)などのメリットがあります。
②作成されたタスクをGitHubのブランチで運用
NotionとGitHubの連携による最大のメリットは、手動だと手間のかかるステータス管理(進行中なのか完了しているのか、レビュー待ちなのかなど)がプルリクエストの状態をもとにNotionに自動反映されることです!他のタスクマネジメントツールでも可能ですが、無限のカスタマイズ性を持つNotionで行うことで、チーム全体の開発進捗の可視化をチームに合った形で行うことができます。
具体的には、こちらの株式会社HOKUTOさんのTech Blogを参照して作成しした!

ー開発環境に関して、他にこだわっているポイントはありますか?

チームの規模を考慮し、シンプルかつわかりやすいブランチ戦略であるGitHub Flowを用いています。開発者は、各機能や修正に対して独立したブランチを作成し、Pull Requestを使って他のメンバーにレビューを依頼する流れです。コードレビューを通じて品質を担保しつつ、素早いマージとデプロイを可能にしています!

さらに、TerraformとGitHub Actionsの連携でCI/CDを自動化し、シームレスな統合を実現しています。
まず、GitHub Actionsを利用して、コードの変更がマージされた際に自動的にテストやデプロイが行われるよう設定しています。そしてTerraformとGitHub Actionsの連携により、インフラの管理も自動化され、コードの更新に合わせてインフラの変更も即座に反映できるようになっているんです。

実際のNotionタスクボード
タスクボードの運用マニュアル

目指すは一人ひとりが「力を掛け合わせる」チームづくり

ーマネジメント業務の中で大切にしていることはありますか?

それぞれの開発経験や思想的な部分もあると思うので、上下関係なく、提案・FBを行い、良いものを積極的に取り入れていく姿勢はいつも意識しています。AlmondoのSWEチームは、それぞれのメンバーが主体的に提案・FBを行い工夫しながらタスクを進めていく雰囲気があり、自発的なコミニュケーションが活発なんです。こうした雰囲気づくりは統括としても特に意識している部分ですね。

また、一つひとつのFBの仕方も重要だと思います。Almondoでは全社的にFBのやり方/お願いの仕方に関するガイドラインがあり、マインドセットから具体的な要素まで丁寧に説明されています。マインドついては、MetaのCTOであるAndrew Bosworth氏の「Feedback Is A Gift」の記事が参考になると思います。

AlmondoのFBガイドラインでは、こうしたマインドに加え、Valueの1つである「力を掛け合わせる」が根本にあり、メンバーに対する尊敬やお互いの成長を考える姿勢が現れています。
ValueについてはCompany Deckでより詳しく説明しているので、興味を持ってくださった方はぜひこちらからご覧ください!


さらに、メンバーにタスクを振る時は、タスク自体は明確にする一方で、コードを書くという点だけに特化するのではなく、それぞれが考えて、タスクに対してFBやより良いタスクの落とし方などを提案して、良ければ採用し、柔軟に対応していけるような機会を作っています。
例えば、API作成のタスクにおいて、〇〇の方が良いのでは?という提案があったとして、それが良ければタスク変更 → 実装まで丸ごと本人に任せます。こうした機会によって、できる業務の幅が増え、本人の成長機会に繋がると嬉しいなと思っています。

Almondo FBガイドライン

ー最後に、今後のAlmondoのSW開発に向け、どんなチームにしていきたいですか?

チームとしては、先ほどお話ししたビジョンである
「お問い合わせ対応の第一歩であるFAQというやり方で、困りごとの自己解決をあらゆる意味でAIで圧倒的に効率化する」
を実現できるチームづくりを目指したいです。さらに具体化すると、各自がオーナーシップを持ち、振られたタスクをこなすだけではなく、各々がよりよいSaaSを作るために自発的に動くような体制が理想ですね。
私自身も、今はバックエンド/インフラ部分のマネジメントを担当していますが、ゆくゆくはプロダクト全体のマネジメントができるように成長していきたいと思います!

最後に

最後までご覧いただきありがとうございました!
AlmondoのSW開発やチームの仕事の様子についてもっと知りたい方、Almondoに興味を持ってくださった方は、ぜひお気軽にご連絡ください!
▶︎株式会社Almondoについて

▶︎採用について