※この記事は 2021年07月14日に Medium で公開されたものを、ブログ移行に伴い再掲載したものです。内容は当時のままですので、一部情報が古くなっている可能性があります。
ピナクルズの CTO をしている渋谷です。「現場向け動画 DX」を実現するための SaaS『tebiki』を開発しています。
今回は「プロダクト開発チームがプロダクトに集中できるように、専門性の高い技術課題を解決するチームを作りたい」という弊社の組織設計についてパブリックなところに公開してみたいと思います。
理想の組織とフルスタックの限界
会社組織が大きくなっても、プロダクト開発チームは**できる限り当事者のみで意思決定ができるように小さくしたい**と考えています。 そうすることで開発スピードが上がり、その結果ユーザーへの価値提供がより高められるという信念からです。
ですが、プロダクト開発チームを小さく保つということは、各人のスタックを広げる必要があることを意味します。担当を分業するとその分専門性は高まりますが、同時に関係者が増えてしまいますよね。
そして専門性がないと乗り越えられない技術の壁も存在します。片手間でやったフロントエンドでユーザーが納得できる UX を作るなんて無理難題なんじゃないかとか。
これがフルスタックの問題とその限界です。
小さなチームでやるべきこと・やるべきではないこと
ここでフルスタックと呼ばれるエンジニアが、実際にやっていることを並べてみるとこれだけあります。会社によってはもっとあるかもしれません。
この中でも小さなチームが自分たちでやるべきことと、やるべきではないことに分類できるはずです。
弊社の CEO である貴山さんは元食品工場長ということもあり、ユーザーへの解像度が異常に高いです。(こういうのを Product Founder Fit というらしい)なので、その解像度に向き合ってでも議論ができないと、エンジニアは単なる Feature Factory になってしまいます。
なのでプロダクト開発チームが一番やるべきことは「事業ドメインへの理解」だと私は考えています。
逆に言うと、開発をするときは事業ドメインとフロントエンド・バックエンドが実装できるくらいのスタックにし、専門性が高くスタックの限界を超えてしまうものは切り出すのが理想的です。
技術課題=Enabling team
ここまで考えてみると、弊社の技術課題は Team Topologies で言うところの Enabling team を作りたい、というのがどうやら近そうです。 Team Topologies | Atlassian The following questions should be asked to determine if you have a stream-aligned team: Does your team aim to produce a…www.atlassian.com
Enabling team というのは DevOps プラクティスの採用手法である Team Topologies にある役割の一つで、記事の一部を翻訳して引用すると、以下のようなことをするチームだそうです。
Enabling team は研究と実験に重点を置き、ツールスタックに影響を与えるツールやフレームワーク、エコシステムの選択について、情報に基づいた提案を行います。
イメージとしてはまさにこれで、なので弊社は小さなチームを保つために、その周りを取り巻く高度な専門性が必要なことをやるチームが必要だと考えています。
では、現在の弊社がこの Enabling team を構成するには、どういった専門性が必要なのか、内容は雑ですが例としていくつか書いてみます。
・デザインシステムの構築 課題)今所属しているエンジニアは全員デザイナーが作った UI をもとに CSS を自分たちで書いている。だが、これはプロダクト開発チームに求められるスタックとしては大きすぎる。
専門性)JavaScript フレームワークのコンポーネント設計能力に加えて CSS 設計の基本的なスキルが必要となる。
・設計の壁打ち 課題)相互にアドバイスを受けられる環境にはしようとしているが、自分も含め組織としてまだまだ設計力のあるエンジニアが少ない。プロダクト開発チームがやるべきことではあるが、一人で解決すべきものではないはず。
専門性)たとえば SIer などで培ってきたデータベース設計の経験などをバックグラウンドとして、壁打ち相手となってくれる能力が必要となる。
まとめ
繰り返しになりますが、ユーザーの課題を素早く解決するために小さなチームを保ちたいです。 そして、小さく保つための技術課題は専門性が高いので別のチームで解決しようと考えています、という話でした。
機会があれば半年後にどうなっているかをまた書きたいと思います!
ピナクルズ社では一緒に働く仲間を募集してます!
店舗/倉庫/工場などで働く「デスクレスワーカー」の教育課題のためのプロダクト開発に関しても、かなりチャレンジングな内容がたくさん控えています。具体的には書けない内容も多いので、ぜひカジュアル面談にてお話できればと思います! 3.エンジニア の求人一覧 - Tebiki株式会社 Tebiki株式会社が公開している、3.エンジニア の求人一覧ですherp.careers