if-up 2019 a4 「進化し続けるプロダクトを作るための開発チーム」のまとめ

2019年2月14日に行われたif-up 2019のa4セッションの模様をまとめました。
2
akanuma CTO@UniFa @akanuma

開発スピード:APIを合意したら各オーナーが開発運用。サービス間はAPI/非同期メッセージで連携 属人的になることを恐れない:誰かが先に走って作る。その周りにチームを作る 疎結合で非同期な開発チーム運営の基盤 #ifup2019a #ifup2019

2019-02-14 17:12:54
もす🇹🇼 @mookura

組織とアーキテクチャは密接に関わる。 マイクロサービスを作るならマイクロサービスが作れる組織にしないとうまく回らないかも。 #ifup2019 #ifup2019a

2019-02-14 17:13:07
関 満徳@fullvirtue @fullvirtue

ソラコムは最初からマイクロサービスを採用していたが、各マイクロサービスの作り方としては、誰かが勝手に作り始めて後で共有、というのを基本方針にしている。(いわゆる、属人化排除の方向とは逆) #ifup2019 #ifup2019a if-up2019.soracom.jp pic.twitter.com/Ms0LtZ4SvO

2019-02-14 17:15:11
拡大
akanuma CTO@UniFa @akanuma

マイクロサービスに向いてる言語、向いてない言語は特にない。言語を分けられるというのもマイクロサービスの利点(成田さん) #ifup2019a #ifup2019

2019-02-14 17:15:44
akanuma CTO@UniFa @akanuma

向き不向きとしてはコミュニケーションプロトコル(ProtocolBuffer, gRPCなど)が重要。 Google で使われていて枯れているものが使いやすい(横路さん) #ifup2019 #ifup2019a

2019-02-14 17:17:46
はたぽん @hataponia

複数拠点感で開発速度を落とさないために、マイクロサービスを導入。 APIゲートウェイ周りはGO、ネットワーク関連部分はCとか、適材適所に言語を選べるメリットがある。 by安川さん #ifup2019

2019-02-14 17:17:50
akanuma CTO@UniFa @akanuma

チームのサイズが重要。少人数なら一つのサービスをみんなで触った方が良い。100人を超えてくるようなら分業のためにマイクロサービス化する #ifup2019 #ifup2019a

2019-02-14 17:20:05
はたぽん @hataponia

Q:マイクロサービスに向いてる言語は? A:gRPC、プロトコルバッファを使う前提で、ラッパーのOSSの質がよいのは、Go、Java、Pythonあたり。 #ifup2019

2019-02-14 17:20:28
akanuma CTO@UniFa @akanuma

ビジネスとのアラインメントができるか。そこができてないとマイクロサービスをよくしていこうというモチベーションがモテない。オーナー不在のサービスがあったり。 #ifup2019 #ifup2019a

2019-02-14 17:20:58
片山 暁雄 @c9katayama

継続的に開発できないとだめなのかなという気がする #ifup2019a #ifup2019

2019-02-14 17:22:40
akanuma CTO@UniFa @akanuma

オーナーが自分で正しい決断ができるかどうかが重要。それぞれのサービスを担当するチームが信頼できるなら向いている。APIだけ決めて外注というのは心配だが、信頼できるパートナーに頼めるようなら良いかも #ifup2019 #ifup2019a

2019-02-14 17:23:03
akanuma CTO@UniFa @akanuma

各サービスのKPIを設定して他のチームに対してコミットすることが重要。これができないとサービスが壊滅する #ifup2019 #ifup2019a

2019-02-14 17:23:55
はたぽん @hataponia

Q:マイクロサービスに向いてる・向いてないケース。 A:メンバー間の(人や技術面での)信頼感があるチームであれば向いてる。by安川さん #ifup2019

2019-02-14 17:24:56
はたぽん @hataponia

Q:マイクロサービスに向いてる・向いてないケース。 A:各サービス間で性能要件のKPIやエラーハンドリングを決められるPJT。by横路さん #ifup2019

2019-02-14 17:24:57
関 満徳@fullvirtue @fullvirtue

マイクロサービスを導入するか否かは組織の意志決定であって、メンバーがどうこういう話ではない。そのため、マイクロサービスの良さが伝わらないなどで悩んでいるのであれば、他の組織に行くしかないのでは。 #ifup2019 #ifup2019a if-up2019.soracom.jp

2019-02-14 17:26:10
tucci @tucci0403

マイクロサービスってソフトウェアのモジュール化の延長線上にあるので、個人的にはすごく自然な気がする。マイクロサービスの良さが伝わらないっていう問題は恐らく投資対効果が分からないことが原因なんだろうな。 #ifup2019

2019-02-14 17:30:22
f_prg @f_prg

マイクロサービス、モノシリック の葛藤。それからの先。 #ifup2019 #ifup2019a

2019-02-14 17:30:47
akanuma CTO@UniFa @akanuma

段階を踏まないといけないが、いかに段階をシームレスにするか。テスラのソフトウェアアップデートのようなイメージ #ifup2019a #ifup2019

2019-02-14 17:33:30
riekomiyamoto @riekomiyamoto

及川さんのモデレータースキル凄い! よいテンポでガンガンとパネラーから話を引き出してる #ifup2019

2019-02-14 17:34:23
akanuma CTO@UniFa @akanuma

分割しすぎにならないように気をつけるには、完全に分割するのではなく、ビジネスメリットがある部分だけ分割する。開発がアクティブな部分だけ。そうでない部分は放っておく #ifup2019a #ifup2019

2019-02-14 17:35:17
もす🇹🇼 @mookura

マイクロサービスを作ってても、機能追加の度に肥大化する。 分割するときはビジネスメリットのあるところにテコ入れすべき。 ふむふむ。 #ifup2019 #ifup2019a

2019-02-14 17:35:31
tucci @tucci0403

ソースコードサイズの話が出たけど、プロダクトのソースコードサイズがコンパクトだってことは、テストが高速に回せる。コレって開発者にとって大きなメリットだと自分は思う。 #ifup2019

2019-02-14 17:36:06