組織のフェーズによって求められるものって変わっていくよなぁ

もう今の会社で10年目に突入してしまってた。こんなに長く働くと思ってなかったなぁ。しみじみ。この10年間でほんとに色んなことが毎年変わっていってて、幸せなことに僕はエンジニアとして色んなチームやサービスに関わらせてもらってきた。

そんな中で最近思うのは、組織のフェーズによって求められるものって変わっていくよなぁってこと。そこに、楽しさと、難しさがある。

特に、サービス立ち上げ期と、組織の拡大期では、求められるものが全然違うので、立ち上げ期のメンバーが組織の拡大期にマネージャーをやると悩みそう。だし、いい感じにやってる人たちはすごい。

以下、ふんいき。こんな感じする。全然まとまってなくてざざっと書くけど。

## サービス立ち上げ期

少数精鋭のメンバーが、持ってるスキルを存分に発揮してサービスの生き残りをかけて取り組むフェーズ。

寝ても覚めてもサービスのことを考えてるような人たちが、自分たちのやりたいことをできるだけはやく実現するためには何をしないといけないか、を自分で考えて自分で決断して前進する。そのために必要な技術があれば、自分で触りながら身につける。そんなフェーズ。

  • 全員が自分で考えて進めるので、すごいスピードで開発が進む。
  • サービスの開発や運用に対する当事者意識が高い。

そんな風にして全ての力をサービスの生き残りに注ぐため、削ぎ落とされているものも色々ある。

  • 人依存になってる。この部分はあの人が知ってる、この部分は別の人が知ってる。
  • ドキュメントは少ないか、なさそう。誰かの頭の中にしかないことが普通だろうな。
  • 機能の実現を最優先にするので、コードはあんまり綺麗じゃないことが多いと思う。

生き残らなければ意味がないので理解できる。

## サービスの成長期

立ち上げたサービスを成長させていくフェーズ。

人も増えてくる。立ち上げメンバーたちがリーダーになって、まだ手を動かしながら、新しく入ってきたメンバーを引っ張っていく。組織としての管理も始まる。

  • サービスは大きくなってるけど、まだまだスピード感はある。
  • リーダーが手を動かしながら指示を出して引っ張る。ので、そこにくらいついていくことで成長できる。
  • とがった人も入ってくる。立ち上げ期のメンバーよりスキルが高かったりして、システムがレベルアップしていく。
  • 技術的負債やクリーンコード、ドキュメンテーションをしっかり考えていこうよって話が出てくる。

その一方で、立ち上げ期と成長期のあいだのゆがみも出てくる。

  • 立ち上げ期のメンバーの考え方についていけないメンバーも出てくる。
  • 立ち上げ期よりは開発スピードが遅くなる。サービス規模や技術的負債や部署構成のために遅くなるのは当然のことだけど、立ち上げ期のメンバーがそれを理解できずに受け入れることができないでいたりすると良くない。「自分が開発してたころはもっとはやかった」みたいなの。
  • 自分で考えて行動することを求められるけど、指示はふわっとしてたりする。やった後に「そうじゃない」って言われるけど、それなら最初からそう言ってよ。って思ったりする。
  • とがった人たちがやっていることを周りが理解できなかったりする。中には、周りの人のことや、立ち上げ期のことを攻撃する人がいたりする。
  • 部署間の衝突も増えてくる。

このフェーズは、弱肉強食的に混沌としてるかもしれない。

## 組織の拡大期

サービスのさらなる拡大のために、組織を拡大していくフェーズ。

より多くの人が力を発揮していけるように変わっていく必要がある。立ち上げ期の文化からは完全に変わる。

  • 仕組みが整っていく。ドキュメント、プロジェクト管理、スキルアップ研修、ワークライフバランスなどなど。
  • 弱肉強食的なのは薄れて、スキルの高い人から、これから成長する人まで、色んな人が尊重されながら働けるようになる。
  • 技術的負債を計画的に返していく仕組みができてくる。

一方で

  • 開発スピードは遅くなる。でも、これが普通にあるべきスピードだったりする。
  • サービスに対する当事者意識は低くなる。
  • 触らないようにしてた立ち上げ期のシステムがそろそろ古くなってリプレースが必要になる。

組織としては安定してきて働きやすくなる。でも、その中でも挑戦をし続けるという文化を維持しないとすぐ組織もサービスも腐りそうで、それはそれでなかなか大変かもしれない。

## マネージャーの悩み

サービスの礎を築き上げた立ち上げ期のメンバーは、サービスの成長期でリーダーとして自分のやり方をメンバーに伝えながら結果も求められて、そこを乗り越えたと思ったら、組織の拡大期には自分と全く考え方の違うメンバーたちのことを尊重しながら同じ方向を向けるようなマネージメントを求められつつ、メンバーからは完璧を求められたりしてて、そりゃ悩むよね。という気持ちがある。

それと、成長期に入ってきたとがった人たちは、拡大期の「これから成長する人たち」を中心にした優しい文化は合わなくてやめていっちゃうかもしれない。

僕は、どのフェーズも良いところもあれば難しいところもあって、どれも面白いよなぁと思いながら見てる。

## そんなところも含めて

「成長していく組織の中でテックリードとして僕はどう動くか」についてお話したいなと思いました。ので、Regional Scrum Gathering Tokyo 2020にプロポーザルを出しました。もし、聞いてみたいなと思ってくれたらぜひ投票をお願いします!

confengine.com