見出し画像

クラウドとAIの混合チーム!アダコテックの開発組織の今とこれから

製造業×AIのアダコテックでCTOをしています、伊藤です。
この度、2022年4月にアダコテックはシリーズBで11億円の資金調達を実施したことを発表しました。

これまでアダコテックは多くの導入事例を実現しています。

今まで開発組織に関するテーマでnoteを書いて来ましたが、今回の資金調達の機会にどんな組織で導入を実現してきたか、そしてこれからの開発組織について紹介したいと思います。

開発組織

元々受託開発がメインだった開発組織を、プロダクトを開発する組織に変化させて行きたいと考えています。
ただ、闇雲にプロダクトアウトの視点で自社プロダクトを開発しても確実に失敗するので、マーケットのニーズを拾い上げる⇒スケール出来るオペレーションを確立⇒システム化して自社プロダクト化という流れで開発を進めています。

プロダクト開発を行うエンジニアの他にデータサイエンスに関わるエンジニアも在籍しており、アダコテックエンジニアの業務は主に次の4つに大別できます。
   ・WEBサービスや社内用研究クラウドの開発に関わるWEB系の業務
   ・エッジ側で動作するアプリケーションを開発するWinアプリ系の業務
   ・要素技術開発に関わる研究開発系の業務
   ・画像データを分析するデータサイエンス系の業務
これらの業務を、業務委託メンバーやインターンの学生さんも含め24名のメンバーで開発を進めています。

役割ごとにチームをわけてスクラム開発みたいな事も考えた方が良いのかもしれませんが、現状はチーム全体でスクラムを回しています。背景としては、役割を兼務しているメンバーが結構多いことと、役割ごとのチームというよりプロダクトごとに各役割のメンバーがそろったチームにしたいという個人的な思いがありこの体制にしています。

具体的には2週間を一つのsprintとして、
 ① スプリントプランニングを全体で実施
 ② その後各サブチームで、デイリーMTGや1週間経過時点の折り返しの
        進捗MTG、スプリントレビューを実施
 ③ 最後に全体でレトロスペクティブを実施
 ④ チームの全メンバーと2週間に1回の頻度で1on1を実施
といった流れでスクラムをまわしています。

このような取り組みにより、自身の職能と異なる分野への挑戦に対するハードルが低くなると考えています。
例えば、AIを専門とするエンジニアがWEB系の開発にチャレンジしteraformでインフラ管理を行なったりする事も可能です。

一方で職能で組織を分けた場合、チャレンジにあたって人の異動が生じるためチャレンジのハードルが上がってくると思います。

もちろん職能分けのメリットもあるので、どちらが良い・悪いという話ではないですが、プロダクト開発にあたって各職能のエンジニアが交わってPDCAをまわす必要がある弊社の場合、このような取り組みがあっていると感じています。

開発環境

下記はアダコテックの技術スタックです。

アダコテックの技術スタック

最初に業務ツールについて説明すると、タスク管理にはZenHubを利用しています。大枠のロードマップとタスクを見える化し、工数見積もりと実装の方針立てを行い、タスクがメンバーにちゃんと分散できる仕組みを実現しています。
開発にあたって必須となる仕様書や手順書などのドキュメントはnotionで作成してメンバー全員で共有し、Slack、Google meetでコミュニケーションを図っています。

WEBサービスの開発に関してはフロントエンドはReact、バックエンドはflaskを利用して開発を進めており、AWSをはじめとする各種インフラリソースはterraformを使っています。
開発プログラムのテストはgithub actionsやAutifyを活用して自動化しており、運用時収集した各種ログ情報やメトリクスはDATADOGやGrafanaを使って可視化しています。

機械学習系の開発に関しては、コアのHLAC処理はC/C++を利用し実装しています。サーバー上で動作する機械学習プログラムはC/C++で実装されたモジュール類をpybind11によりpythonから実行可能にして利用しています。
一方、運用時の検査処理はWindows上で実行する実行するケースが多く、.NET Frameworkのクラスライブラリとして利用可能になるように整備しています。
最新の開発状況として自社の学習基盤をargo workflow上で動作するように整備を進めています。

今後目指したい組織像

冒頭に記載しましたが、元々受託開発がメインだった開発組織をプロダクトを開発する組織に変化させて行く事を目指しています。
このため、

  1. エッジ側向けに提供する検査アプリケーションの開発

  2. 継続的な学習環境の整備

  3. 検査データの活用

等様々な開発が検討されています。
遂行するにあたってはエッジアプリ、ハードウェア、WEB、機械学習、データサイエンス等多くの技術が必要となり様々なエンジニアが開発に関わってきます。

これらのエンジニアを職能で組織をわけるのではなく、例えばプロダクトや事業といった単位で分けることで、様々なエンジニアで構成されるチーム組織を目指したいと考えています。
これにより自身の専門分野以外にもチャレンジできる組織を実現し、エンジニア一人ひとりが大きく成長できる組織を目指したいと考えています。

さいごに

今回の資金調達を機に、アダコテックではエンジニアの採用に一層力をいれていきます!
機械学習に興味のあるエンジニアのみなさん向けに、産総研の村川正弘先生をお呼びしてAIの社会実装についてお話しするミートアップを開催予定です。ぜひ覗いてみてください!

アダコテック採用情報はこちら


この記事が気に入ったらサポートをしてみませんか?