Chatwork Creator's Note

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

読者になる

Chatworkのリライトプロジェクトをやっている

こんにちは。藤井 ( @yoshiyoshifujii ) です。

時は、2019年2月から、3年が経ちました。

その頃から、 Chatworkのリライトプロジェクトをやっております。

本日は、この長期プロジェクトについて、紹介させていただきたいと思います。

ゴール

Chatworkをリライトできたとは、どういった状態なのかを明確にするため、次のようなゴールを定義しています。

2025年の事業計画に合わせて、生産性を維持・向上できるプロダクトと組織が構築できている

以下、このゴールを設定した背景を紹介いたします。

背景

Chatwork事業の現状 に対して、 今後の成長イメージ を達成していくための 事業課題 があります。

その課題は、 プロダクト組織 にあり、それらを解決することがゴールになると考えています。

以下、1つずつ取り上げます。

Chatwork事業

2022年03月01日で、Chatworkはリリース(2011年03月01日リリース)から11周年を迎えました 🎉

現状

以下、弊社IRライブラリ引用して説明いたします。

finance.logmi.jp

f:id:yoshiyoshifujii:20220304155551p:plain

2021年4Q末時点で、476.1万IDを突破しています。導入社数は34.3万社。 DAU(デイリー・アクティブ・ユーザー)は、最大値で97.8万ユーザーで、100万ユーザーに迫るところまで拡大しております。

f:id:yoshiyoshifujii:20220304155942p:plain

ビジネスチャットの市場環境においては、普及は進んできましたが、国内の普及率は15.6パーセントとなっています。 少ない状況ではありますが、裏を返せば8割強の方々がビジネスチャットを使っていないということですので、成長余地が極めて大きいマーケットだと捉えています。

Chatwork事業の成長イメージ

弊社は、2024年までにビジネスチャット市場を拡大させ、ビジネスコミュニケーションを当たり前に。 高成長を維持し、売上高100億円を達成するべく、事業の成長目標を提示しています。

さらに、2025年以降、プラットフォーム化を進め、新サービスによる収益拡大を目指す「ビジネス版スーパーアプリ」を構想しています。

f:id:yoshiyoshifujii:20220304154228p:plain

Chatwork事業の課題

中小企業市場における圧倒的なシェアを確立していくため、競合と比較すると当たり前のようにある機能が足りておらず、 抜本的な生産性向上 が必要と考えています。

生産性を向上しようにもプロダクト開発の多くを「保守・運用」に充てているという課題があります。

この課題の背景には、 プロダクト組織 の課題があります。

プロダクトの課題

プロダクトは、11年継ぎ足しで改良を加えてきた結果、返却困難な技術的負債を抱えています。

  • 技術的負債を定量化(循環的複雑度など複数の分析)すると、メンテナンス不可能なレベルと分かった
  • 仕様を把握している人がおらず、コードを読むしかないが、コードを読んでも分からないので、デバッグ実行で思いつく限りのパターンを試すしかない

これらの技術的負債は、保守・運用にかけるコストを増加させたり、新な機能を開発するときのコストを増加させる要因になっていると考えています。

組織の課題

コンウェイの法則 にある通り、プロダクトのアーキテクチャにより組織のコミュニケーションパスが形作られることとなります。 これまで、プロダクトのアーキテクチャを抜本的に変えることなく、組織の構成を変える取り組みをしてきましたが、抜本的な生産性向上につながる対策を取れておりません。

  • 職能型組織からプロジェクトに人を派遣しプロジェクト終了と共に解散、その領域を担当したメンバーは別のプロジェクトにアサインされるを繰り返しており、以前のプロジェクトで担当した領域に問題が起きた場合、現状のプロジェクトから一時的に離脱しタスクフォースを実施するといった対策を取ります。

このことは、チームビルディングのコスト、思い出すコスト、停止するコスト、調整するコスト、再開するコストといった、ムダを生じさせていると考えています。

まとめ

抜本的な生産性向上には、プロダクトの改善だけでなく、組織の改善も必要である、と考えてます。

このゴールを達成するためには、以下の定性目標を達成していくことが必要と考えています。

  1. プロダクトの健全性を維持・向上させること
  2. チームが独立して改善活動を行えること
  3. 大規模なアジャイル開発が実践できること
  4. いつでもレスポンスを返せる状態になっていること

なぜ、この4つが必要かの背景もあるのですが、それも書き出すと長くなりますので、当投稿では割愛させていただきます🙏

さらに、この定性目標を達成していくために、どういったアーキテクチャが必要で、どういったチーム構成が必要か、そこから実際にチームを立ち上げて、どのように取り組んできたのか。

このあたりは、別の投稿でお伝えしていければと思います。

引き続きよろしくお願いいたします。

Chatworkでは全方面で一緒に働いていただける仲間を募集いたしております!

hrmos.co

こちらのプロジェクトの話をもっと聞きたい!一緒にやりましょう!という方、カジュアルにお話するところからでも、ぜひぜひよろしくお願いいたします!!