プロダクト開発の1年を振り返る

3年連続でファミマのケーキでクリスマスの夜を過ごす予定のCTO東川です。

東川の記事は長いともっぱらの噂ですが、今回も長いです!

1. はじめに

今年はアドベントカレンダーをやろうか悩んでいたのですが、プロダクト開発の現状からちょっと負担が大きいという判断から見送ったのもあり、折角なのでやっていたらファイナル投稿とするつもりでいた内容をお届けしたいと思います。

というわけで、今回は「Uniforceのプロダクト開発の1年振り返り」です。

2. 組織について

まずは組織のお話から。新入社員や変遷、組織構成、今後の展望について書いていきます。

2.1. 新入社員

2024年にUniforceに入社したメンバーについて振り返っていきます。

2024年での新規入社はポジション別で下記のとおりとなりました。

  • フロントエンドエンジニア:1名
  • バックエンドエンジニア:1名
  • プロダクトマネージャー:3名
  • デザイナー:2名
  • QA:1名

合計で8名を新たに迎え、19名体制となりました。

プロダクトマネージャーやデザイナーの増員が目立つように、プロダクト組織が大きく成長した1年となりました。

2.2. 社員数の変遷

各年の正社員の推移は下記のとおり順調に増えていて、プロダクト開発組織は創業以来1人の退職者も出さずにここまでこれました!

(これだけは自慢したいw)

  • 2021年:3名
    • エンジニア:2名
    • QA:1名
  • 2022年:5名
    • エンジニア:3名
    • プロダクトマネージャー:1名
    • QA:1名
  • 2023年:11名
    • エンジニア:8名
    • プロダクトマネージャー:1名
    • デザイナー:1名
    • QA:1名
  • 2024年:19名
    • エンジニア:10名
    • プロダクトマネージャー:4名
    • デザイナー:3名(うち1名はマーケティング専属デザイナー)
    • QA:2名

2.3. 組織構成

現在の組織構成は下記のとおりです。

部長と課長に兼務することなく配置できていて、安定した組織運営ができている一因だと思っています。

  • 開発部(東川)
    • フロントエンド開発課(根岸)
      • 課員4名
    • バックエンド開発課(伊藤)
      • 課員3名
  • プロダクト部(岩渕)
    • プロダクト課(風間)
      • 課員7名

各マネジメントメンバーはコーポレートサイトで紹介されていますのでご興味あればどうぞ!

3. プロダクトについて

プロダクトについては「IPO準備クラウド」が大きく成長し、更なる飛躍をするための土台が作れた一年だと思います。

特にVPoPの岩渕が加入してからの勢いはすごかったなと(逆に彼が育休中の間は…東川のせいです…)。

「クラウド決算開示管理サービス」も法改正対応や他社連携など一定の成長をしてきました。

それぞれのサービスの拡張についてもう少し深掘りしていきましょう!

3.1. IPO準備クラウド

「IPO準備クラウド」では多くのリリースをしてきました。

リリース回数:13回

新機能:13個

3.1.1. ナビゲーション機能

なんといっても11月にリリースしたナビゲーション機能が本年の目玉機能になり、社内では「IPO準備クラウド Version2.0」と言っているくらい大幅なリニューアルとなります。

本機能によって、ユーザーへの見せ方が大幅に変更されユーザー体験が大幅に改善したと自負していますし、この機能が今後の開発の中心になっていきます。

ここまでの大幅な変更の仕様を作りこんだプロダクトチームはもちろんのこと、DB設計までやり直すことになる大掛かりな変更を作り切った開発チームには感謝しかないです。プロダクト開発チーム全リソースを投入した機能ですので、今後の発展にもご期待ください。

3.1.2. セルフチェック機能

セルフチェック機能は実際に実務を行っている専門家と何回も打ち合わせを重ね、ご協力いただきながら作り上げた機能で、昨年末にリリースした資本政策表機能に匹敵するくらいの高評価をいただいています。

【ショートレビュー】

多くのIPO準備企業が最初に大きく躓くのが監査法人によるショートレビューになると思います。

ショートレビューで大量の指摘を受けて上場が延期になってしまうことも多々あります。

本機能は監査法人が実際にチェックする視点に基づいてチェック項目を用意していて、事前に自身で自社の状況をチェックをすることができます。

【人事労務】

IPO準備に入ったときにまず何をするのかというと人事労務面の整理になります。

なぜかというと多くの企業が人事労務面に課題を無意識に抱えていて、解消するのに時間を要するためです。

本機能は社労士の視点でIPO準備企業をチェックする項目を用意しているため、素早く自社の状況を理解することができます。

3.1.3. 困ったときの相談窓口

すぐに簡単にUniforceと関係性のある専門家にお繋ぎすることができる窓口機能です。

「業務内容」と「専門家」の2つの軸から選ぶことができ、お気軽に相談いただける機能となっています。

3.1.4. wiki機能

各タスク上での記録ではなく、IPO準備全般の記録を残したいというご要望から作られた機能になります。

wiki記法で記述することができて、IPO準備に関する打ち合わせの記録や各資料へのリンク集など様々な用途で利用することができます。

3.1.5. 多言語対応(日英)

英語対応しましたことで、グローバルな企業様でも安心してご利用いただけるようになりました。

英語対応って結構手間がかかるんです。

すべての言葉の翻訳はもちろんのこと、日本語と英語では当然ながら文字の長さが変わってきますので表示崩れがないか、全ページをチェックする必要があります。

3.1.6. 各機能のバージョンアップ

細かいリリースも挙げていきます。ここでは社内では機能として扱っているものも含めます。

  • グロナビを刷新しました
  • 決算月が変更できるようになりました(決算月変更機能)
  • タスクのスケジュールを一括で移動できるようになりました(タスク一括移動機能)
  • 表示される会社情報が拡張されました
  • 利用者の質問をコメントでのメンションで受け付けられるようになりました
  • タスクの担当者を一括で変更できるようになりました(担当者一括変更機能)
  • 月次決算テンプレートを追加しました
  • ダッシュボードを改修しました
  • タスクの表示を改善しました
  • 関係するコメントの通知の一覧が表示されるようになりました(個別コメント通知機能)
  • タスクのインポートができるようになりました(タスクインポート機能)
  • 株主名簿を出力できるようになりました(株主名簿出力機能)
  • タスクのフィルタ項目を追加しました
  • 資本政策表がExcel出力できるようになりました(資本政策表出力機能)

3.2. クラウド決算開示管理

「クラウド決算開示管理サービス」のリリースは下記になります。

リリース回数:8回

新機能:2個

3.2.1. WizLaboステータス連携機能

宝印刷様が提供するWizLaboとのステータス連携が今年の一番のアップデートになります。

これまでUniforceが提供するスケジュールの他に、WizLaboベースで開示業務をするためのスケジュールを提供していましたが、今回はサービス間の連携まで踏み込んだ機能を提供することとなりました。

この機能により実務担当者はWizLabo、管理者はクラウド決算開示管理と利用するツールの住み分けが可能になります。

来年も更なる連携をしていければと思っていますのでご期待ください。

3.2.2. 法改正対応

四半期報告書の廃止対応を行いました。

安心してご利用いただけるよう、今後もきちんと法改正対応を続けていきます。

3.2.3. 各機能のバージョンアップ

各機能のバージョンアップなどの細かいものは下記になります。

  • タスクの表示を改善しました
  • 関係するコメントの通知の一覧が表示されるようになりました(個別コメント通知機能)

4. 開発について

「プロダクトを作り上げること」は開発組織として当然のことだと思っていて、そこにどんなエッセンスをつけていくかが価値につながってくると考えています。

今年は開発と改善、開発外の3つの業務のバランスを大事にやってきました。

何を作ってきたかはプロダクトの章で記述しましたので、ここでは改善と開発外にフォーカスを当てていきます。

4.1. バージョンアップ

開発言語のバージョンアップについて大小ありましたが対応しています。

4.1.1. Vue.js

Version2からVersion3へのバージョンアップを実施しました。

破壊的な変更だったことによる苦労話は色々なところで語られているので割愛します。

※テックブログのネタにとしては挙がっているのでそのうちアップされるかも?

空き時間を作りながら少しずつ進めていき、Vuetifyが未対応のところはアップデートを待ちながらやっとゴールといった感じです。

4.1.2. Python

Lambdaで動くランタイムをPython 3.8からPython 3.12にバージョンアップしました。

Uniforceでは従来よりKlayersさんのLambda Layerを利用させてもらいPythonのライブラリをimportしていたのですが、Python3.12で未対応のものがあったので、自前でLambda Layerをビルドする仕組みをつくりました。

これはブログでも紹介しているので、こちらを参考にしてください。

比較的大きなトラブルなく対応できた印象です。

4.2. インフラ改善

2024年はインフラ専属エンジニアを受け入れることができたこともあって、AWSインフラを中心に継続的に改善活動をしてきたので紹介します。

4.2.1. アカウント整理

AWSアカウントを整理して各部門別にAWSアカウントを分離しました。

これにより下記が実現しました。

  • 各組織での自走
    • 情報セキュリティの観点から作業は開発が実施していたが分散可能になりました
  • 各組織のコスト明確化
    • アカウント単位でコストが分かるためコストの振り分けが細かくできるようになりました

4.2.2. IaC化

ほぼすべてのインフラ構築およびデプロイをIaC化しました。

AWS CDKで記述しGitで管理しています。

これにより開発環境を一時的に増やした場合の対応工数が大幅に削減することでき、環境差分なども生まれにくい状況を作り出せています。

4.2.3. 外部システム連携

外部システム連携を考慮して自社サービスからの外部通信などを一元化するなどのネットワーク環境を変更しました。

ネットワーク環境の改善ポイントはまだあるので、来年も引き続き改善していければと思います。

4.3. テックブログ

今年の4月にテックブログを開設して以降、記事を上げる文化が根付いてきていて、今年度(2024年8月~)は月3本をノルマにテックブログをプロダクト部一丸となって執筆してきました。

結果、今年は24本のブログ記事を執筆することができました。

どの記事も一定のView数も稼いでいて、たまにテックブログ読んだよって言っていただけることも増えてきていてうれしい限りです。

記事の一覧を改めて下記に掲載します。

  1. Uniforceプロダクト開発組織紹介 ~ プロダクト部編 ~
  2. Uniforceプロダクト開発組織紹介 ~ 開発部編 ~
  3. SaaSプロダクトのインフラアーキテクチャ
  4. Uniforceのフロントエンド技術スタック紹介
  5. 'git status' がコード 128 で終了しました で詰まった件
  6. Uniforceのフロントエンド開発環境の紹介
  7. Uniforceに入社しました!ニシです
  8. tavernテストシナリオの一覧ドキュメント生成とYAMLのパースについて
  9. オンプレ&出社からサーバレス&フルリモートでの開発となった話
  10. データベースマイグレーションツールとしてsimple-db-migrateを選定した話
  11. Uniforceのフロントエンドエンジニアとして2年働いて感じたこと
  12. AWSをマルチアカウントで運用するときのコストを考えてみる
  13. CloudFormationでDynamoDB更新にハマった話
  14. 【徹底解説】SaaSプロダクトのセキュリティ
  15. Klayersを参考にAWS Lambda Layersのビルドシステムを内製化した話
  16. GoogleFormのパラメータ指定について
  17. AWSアカウントのリソースを色々なところから確認してみる
  18. Drag & Dropによるカンバンボードの実装について
  19. OrganizationsにあるAWSアカウントを組織から除外するときにAWSサポートに助けてもらった話
  20. PythonのLinter/Formatter設定
  21. GitHubのDependabotに再入門
  22. RESTとRPCとGraphQLについて
  23. 在宅環境を公開 (ニシの場合)
  24. プロダクト開発の1年を振り返る(本ブログ)

ちなみにUniforceのテックブログにおいて不動の一位のView数を誇る記事はこちらです。

'git status' がコード 128 で終了しました で詰まった件

アクセス数が他の記事と比べる一桁違います。

git statusコマンドでコード128で終了してハマってるエンジニアが多いこと多いこと…

5. まとめ

5.1. 2025年に向けて

5.1.1. 組織

改めて振り返ってみると規模はまだまだ小さいですが、今の体制にとても満足しています。

組織構成に記載の部課長のうち、岩渕は2024年3月入社で、伊藤は5月にマネジメント職に付いてくれました。

彼らがマネジメント層に入ってきて組織力が明らかに高まったのを感じています。

プロダクト開発の現場ではプレイヤーだけを増やしても崩壊しかしないと考えていて、これまでは土台をきちんと作り上げてきましたが、来年はさらなる組織拡大のフェーズにしたいと考えています。

とはいえ、まだまだ土台も道半ばでして、直近でいうとデザインマネージャーとかQAマネージャーとか探してます。どこかにいい人いませんか?笑

5.1.2. プロダクト

プロダクトは大きく前進した1年でした。

特にIPO準備クラウドのナビゲーション機能開発は今後の機能拡張のコアとなる機能となるので、開発のゴーサインが出てからはリソースを最優先で投入して開発を進めてきました。

こういった大きい開発もあるのに、新機能や細かい機能も織り交ぜて多くの機能リリースをしてきたプロダクトチーム(もちろん開発チーム)も素晴らしい仕事をした1年だったと思います。

ベースとなるナビゲーション機能の開発が完了し、来年も多くの機能開発をすべく準備が進んでいますのでご期待ください。

5.1.3. 開発

プロダクトが大きく進捗したということは、開発もプロダクトアウト面でかなりの成果を出した1年にということになります。

にも関わらず、開発言語のバージョンアップや開発環境の改善、インフラの改善と作るだけじゃない業務もかなりの量をこなしてくれて、本当に自慢の開発チームです。

来年は既に強力な戦力の加入も確定していて、引き続き開発を強力に進めていきますのでよろしくお願いいたします。

5.2. さいごに

今回は組織・プロダクト・開発と3方面から振り返りをしてきました。

すべての面できちんとした成長を果たせた1年でした。

とはいえ、今年やれなかったこともたくさんあったので来年はそれらを1つずつ実現できるような1年にしていきたいと思います。

最後まで読んでいただきありがとうございます。