見出し画像

ソフトウエアエンジニアの組織と文化

こんにちは、LayerX の suguru です。 LayerX に入社して6ヶ月が経ち、LayerX の文化を肌で感じながら、開発の現場に触れてきました。本日は LayerX の羅針盤のアドベントカレンダーということで、ソフトウエアエンジニアの組織と文化について最近個人的に感じていることを書こうと思います。

LayerXの羅針盤については、下記のスライドをご覧ください

LayerX の爆速文化について

LayerX に入社してまず感じたことが、何よりも開発の早さに強いこだわりがある、ということでした。社内の至るところで「爆速」という単語が飛び交い、ただ言葉だけでなく実際の開発も爆速に実行されています。この速度は、ある程度の規模の持った組織から見ると、驚異的であり、LayerX の大きな競争力になっていると感じます。

この爆速文化は、LayerX  の羅針盤にもあるように「まずプロダクトから始める」「実行と戦略をわけない」「NoじゃなきゃGo」などによって、価値提供に対する最短経路を追求する姿勢によって生み出されているのだと思うのです。まさに羅針盤にある方針が文化として定着し、結果として優位性のあるプロダクト開発が生み出されているのだなと実感しています。

LayerX のプロダクトと優位性

LayerX は行動指針である Bet Technology にある通り、全てのプロダクトにおいて技術を使った課題解決が主軸となっています。しかし、単純な技術力による優位性を目指しているというよりは、プロダクトを支える開発組織の文化によって優位性を生み出している状況だと感じています。

これは、前述した爆速開発もそうですが、「使われないものは作らない」「Wowを届ける」など、ただ高い技術力があれば良いというものではなく、価値のあるものをお客様に提供したいという方向にみんなの目線が向いていることで、実現できているのだと思うのです。
実際社内でもこの部分は徹底されていることを感じますし、ソフトウエアエンジニアが直接お客様の声を聞き、自ら解決していく、という場面が多々あります。
ソフトウエアエンジニアの開発が爆速すぎてPMがちょっとまって欲しいと言ってしまうような組織は、初めて見ました。

開発組織の課題は、技術力よりも文化によるところが大きい

今までいろいろな開発組織を見てきましたが、会社やプロダクトが抱える問題は、往々にして技術や個々の能力ではなく、プロダクト開発を行う組織の文化に依るところが大きいと考えるようになりました。

多くの組織が「社内のソフトウエアエンジニアの技術力をもっと高めたい」や「優秀なソフトウエアエンジニアを採用でできない」といった技術力に直結するような課題に目線が向いています。しかし、局所的な技術力の向上は、一時的に実現したとしても、組織の持つ文化によって平坦化し、いつしか元の状態に戻ってしまいます。

大事なのは、技術力という軸ではなく、文化を育むことができているか、ではないかと思います。組織の技術力というものは、多くの挑戦と経験を積み重ねることで年輪のように組織に培われていくようなものであり、一朝一夕で身につくようなものではありません。着実な積み重ねを実現するためにも、文化は大事な要素です。

技術が先か、文化が先か

開発組織の文化は、にわとりが先か、卵が先か問題と同じく、技術が先か、文化が先か、という問題があります。技術力が高いことによって生み出される文化もあるでしょうし、一定の技術力がなければ、そもそもどういった文化が良いのかを判断するのは難しいでしょう。一方で、文化がなければ技術力を受け入れるだけの器がなく、高い技術力が無駄になってしまいます。

どちらか先で上手くいくかの答えはありませんが、それでも開発組織は、文化にまず投資をし、技術力を育むことのできる土壌を作っていくべきだと思います。

開発組織にとって文化というのは、それぞれのソフトウエアエンジニアを繋ぐ糸のようなもので、この糸を柔軟で伸縮するゴムのようにし、ソフトウエアエンジニアが突出することを許容し、周囲が呼応して発展していくような状態を目指すことが、文化を培うことだと思うのです。

糸が張り詰めた組織
糸に柔軟性がある組織

この糸がピンと張りつめた状態で、一部分が突出したとしても、切れてしまうか、すぐに元に戻されてしまうように、文化のない組織の技術力というものは、一点が突き抜けても、なかなかうまくいかないのだと思います。

LayerX では、「Be Animal」の行動指針によって突出することを後押しし、「人を責めず、仕組みを疑う」「チャレンジを促進し、失敗を活かす組織の風土を大切に」によって糸が張りつめることがないように、柔軟性が担保されているため、各々の個性を活かす文化があります。

技術選定は、文化の向かうべき先を示す

LayerX では、Enabling Team が存在し、これからの技術の選択肢を増やすという役割を持っています。このチームでは、様々な技術選定をし、今後プロダクトが利用する技術の選択肢を増やし、開発チーム全体の能力や可能性の向上を目指しています。開発組織にとって、技術選定は非常に重要で、今後の文化を左右する重要な決断でもあります。技術選定をするときは、その技術によって文化にどういった影響があり、どういった変化を与えていきたいかを考え、自分たちの目指す文化との整合性を考える必要があります。

ソフトウエアエンジニアがコンテキストを理解しないと、文化が生まれない

組織文化は、意図的に生み出すこともできません。さらに、開発組織での文化となると、尚更難しいです。過去の経験や、LayerXの環境を見て断言できるのは、ソフトウエアエンジニアが、ビジネスやプロダクトのコンテキストを深く理解しない限りは、良い文化は生み出されない、ということです。

開発組織が社内受託化していたり、言われたものを作るだけ、というフィーチャーチーム(機能開発チーム)になっている場合は、文化が生まれることは難しいでしょう。求められたものをなんとか実現するのに精一杯で、期待以上のものを生み出す余地もなく、自分で意思決定をするチャンスがないからです。文化は、特に試行錯誤と意思決定をする際に強くにじみ出るようなもので、意思決定を必要としない組織では文化が育つこともないだろうと思います。

ソフトウエアエンジニアを大事にするとは

長くなってしまいましたが、結局のところ何が言いたいかというと、開発組織を強くするには、文化をまず培う土壌作りに着目するべきだということです。さらに、文化を生み出すためには、ソフトウエアエンジニアがビジネスやプロダクトの本質を理解し、自ら付加価値を生み出すための情報と裁量があることが大事だと考えています。

「弊社はソフトウエアエンジニアを大事にしています」という言葉はよく聞きますが、ソフトウエアエンジニアを大事にするということは、単に金銭的な待遇や、福利厚生的な待遇だけではありません。組織において、付加価値を生み出す要員となっているかが、がもっとも大事な要素だと思います。

LayerX では、定例でのコミュニケーション1つとっても、文化に非常に重きを置いていることが日々感じられる会社です。そのおかげか、開発組織にも良い文化が日々培われ、進歩しているように感じます。ソフトウエアエンジニアが所属するすべての組織で、良い文化が育まれることになれば良いなと思い、ブログ記事を書きました。