🚀

ココナラの技術に対する取組方針について紹介します

2022/11/07に公開

株式会社ココナラ執行役員・開発担当の村上です。皆にはむーさんと呼ばれています。

最近、嬉しいことに頼もしいメンバーが増えてきて、技術施策もどんどん推進できるようになってきています。ただ、これまであまり対外的に弊社での技術的な取組方針などを公開できていなかったので、この場を借りて紹介させていただこうと思います。

結果だけ書いてもつまらないので、私達が日々どんな課題を感じていて、正解もわからない中でどのように試行錯誤し、今のスタイルにたどり着いたかということについて説明したいと思います。

2年前の状況と課題に感じていたこと

私達は、知識・スキル・経験を売り買いできるスキルマーケット「ココナラ」をかれこれ10年ほど運営しています。

スキルマーケットのココナラ
スキルマーケットのココナラ

今後、中長期的には、すべてがそろうサービスマーケットプレイスにしていきたいと考えていますが、そのためには、日々ユーザーの声に耳を傾け、ユーザー向けの機能開発を継続的に行っていくことが必要不可欠です。

創業以来、ユーザーに直接向き合いながらユーザードリブンなプロダクト開発を心がけていますが、特に今から2年前の2020年は上場直前の時期ということもあり、ユーザー向け施策に重点を置いて取り組んできました。
その結果サービスも着実にグロースし、無事2021年3月19日に東証マザーズ市場(現:グロース市場)に上場を果たしています。

ただ、どの会社でもよくあるように、開発の傍らで徐々にレガシー化やモノリス化が進んでおり、技術負債が溜まってきていました。その影響もあって、開発の現場では品質や開発スピードの面で少しずつ問題が出始めている状況でした。

また一方で、ユーザー数が右肩上がりで増え、都度サーバー台数を増やすなどのシステム増強対策を行っていました。しかし、今後数年間同じペースでユーザー数が増加した場合、スケール上の制約によって、これまでのように増強させ続けることができなくなるといった難易度の高い課題もみえてきている状況でした。

この1年で取り組んできたこと

そのような状況の中、上場とほぼ同時期に私が執行役員に就任し、上記のような課題解決に向けて検討を開始しました。

といっても、大小さまざまな技術課題が数多くあり、それらが十分整理されているわけではありません。その上、要件や優先度なども曖昧で、どこから着手していけばいいかわからない状況でした。

まずはやれるところからということで、いきなり大きなことをやるのではなく、小さな技術課題に焦点を絞り、それらを定常的に解消していくことに取り組みました。

1. 運用ラインで小規模技術施策を推進

最初にやったのは課題の可視化です。部署毎に数日レベルで対応できる小さな技術課題をチケット化し、優先度をつけて並べる(バックログを作る)という対応を行いました。

バックログのイメージ
バックログのイメージ

バックログの運用は部署毎に行っているため、統一された管理方法があるわけではありません。ただ共通して言えることとしては、最終的な実施は優先度で判断していくため、登録時はあまり基準を気にする必要はありません。誰でも自由にチケット登録可能です。

次に、バックログを消化していくためには作業工数が必要なため、各人一定割合の工数を確保し、その範囲内で上記チケットを実施していくという体制を整備しました。
私達はこれを運用ラインと呼んでいます。

運用ラインのイメージ
運用ラインのイメージ

この運用ラインの導入により、小規模の技術施策については、部署ごとの判断により臨機応変に推進できるようになりました。

ちなみに運用ラインで実施しているタスクとしては、例えば以下の様なものがあります。

  • 軽微な不具合対応
  • 軽微な技術負債対応やリファクタリング
  • 軽微なパフォーマンスチューニング
  • 問い合わせベースの顧客対応
  • 社内からの調査依頼対応

2. 技術ロードマップで中規模技術施策を推進

運用ラインの導入により一定の技術施策が推進できるようになりました。ただし着手できるのは比較的小さな技術施策ばかりで、工数が大きくかかるものや難易度が高いものはなかなか進めにくい状況にありました。

そこで、この問題に関しても運用ラインのときと同様に、まずは可視化からはじめました。ただ運用ラインと違うのは、部署毎ではなく全社共通のものとしておよそ数日から数週間レベルの中規模の技術課題を集めてリストアップしたことです。
これを技術ロードマップと呼んでいます。

技術ロードマップのイメージ
技術ロードマップのイメージ

技術ロードマップは、技術課題を全方位的に洗い出すためにも、おおよそ以下の分類で整理するようにしています。

  • 品質の維持・改善(Quality)
  • 開発スピードの維持・改善(Speed)
  • 可用性向上(Availability)
  • 性能・拡張性向上(Scalability)
  • 運用・保守性向上(Maintanability)
  • 機密性向上(Security)

2022年10月現在、約70個程度の技術課題がリストアップされている状況で、その半数近くを着手・進行しています。

そして、優先度の高い技術施策については、技術施策を推進するための工数も確保して着実に進めるようにしました。

技術施策ラインのイメージ
技術施策ラインのイメージ

ただ確保する工数(人数&期間)が運用ラインよりも大きいため、他施策よりもその施策を優先実施するメリットとデメリットをしっかり吟味した上で実施可否を検討しています。

これにより、中規模の技術施策も一定精査の上で推進できるようになってきました。

3. 開発委員会で大規模技術施策を推進

技術ロードマップの運用により、中規模の技術施策も推進できるようになりましたが、数日〜数週間レベルの施策が限界で、数ヶ月かかる施策はまだ難しい状況にありました。

数ヶ月レベルの施策の場合、そもそも課題や解決方針もまだ明確に定まっていない曖昧なものも多く、そのままでは着手すらできない状況でした。このように、単に工数だけの問題ではなく、やれる人も限られてしまうものであるため、しばらくは攻めあぐねている状況でした。

しかし、手をこまねいていても、技術負債は待ってくれません。
まずは、少数精鋭の有志を集めてMTGを実施し、その中で少しずつ議論を進めていくことにしました。議論をしていく中で、テーマによって参加者を変えたほうがいいということになり、先に上げた技術ロードマップの分類毎にMTGを分けて行うようになりました。
これらMTG主体の運用を、開発委員会と呼んでいます。

開発委員会の位置づけ
開発委員会の位置づけ

開発委員会はMTGが主ではありますが、 「大きな課題を丁寧に精査し、技術ロードマップに登録できるくらいの粒度に分解すること」 が目的です。
また、日頃課題として意識してないだけで実際に問題が起きているような場合もあるかと思いますが、FACTをもとに課題として抽出するということも大事な役割となっています。

各開発委員会は毎週or隔週30分程度で最小限の時間を使って実施しています。限られた時間のため、深堀り議論が必要な場合はテーマ毎に分科会を開きそこで詳細な議論を重ねています。
開発委員会でMTGを重ねていくたびに課題の解像度が高まり、あるべき姿も見えてくるため、施策としても推進しやすい状況に近づいていることを実感できます。

このようにして、これまで手が出せずにいた大きくかつ曖昧な技術課題についても、適切に課題抽出と分解を行った上で、技術施策を推進できるようになりました。

これからやっていきたいこと

たった1年ちょっとの期間ではありますが、運用ライン、技術ロードマップ、開発委員会といろんなチャレンジをしてきました。
もちろんこれらの運用はまだ整備したばかりで生煮えの状態なので問題点がないわけではありません。そのため、継続的に運用のアップデートを実施し、より最適な技術施策の推進を行っていきたいと思っています。

また、技術施策の運用とは別で大事だなと思っているのがエンジニア採用です。技術施策は一定推進できるようになったものの、やりたいと思っていることはまだたくさんあるので、それらを実施するためには手が足りない状況です。

エンジニアは、現在売り手市場で引く手あまたであり、各社採用には苦労していると思います。
これまで、面談・面接の場面でこういった技術的な内容を説明し、候補者の理解度を高めていました。
今後は候補者だけに限らず、広く社外に向けて発信していきたいと思っています。そしてココナラの開発組織について1人でも多くの人に興味を持ってもらい、一緒に施策推進していける仲間を見つけていきたいと思っています。

最後に

ココナラに興味をもっていただいた方やもっと詳細に話を聞いてみたい方がいましたら、以下カジュアル面談応募フォームよりご連絡ください。

https://open.talentio.com/r/1/c/coconala/pages/70417

また募集している求人については以下をご確認ください。

https://coconala.co.jp/recruit/engineer

Discussion