どうも、kubellでiOSアプリ開発部マネージャーをしている福井( @tinpay )です。
私は最近ギターを始めたのですが、演奏会でソロパートをミスったことを1週間以上引きずっています。
それはさておき、来週はいよいよiOSDC Japan 2024ですね!kubellはスポンサーになっておりますし、ブースもだします!
是非現地に行かれた方はお立ち寄りください! ブースでは私が大好きな食べ物を準備しております。
#社名変更カレー
(理由あって私は大阪からオンライン参加です)
今回は、kubellのモバイルアプリ開発の体制が最近変わったので、そのことについて色々書こうと思います。
はじめに
2024年7月、私たちkubellはモバイル開発部門を再編し、以下の図のようにiOSアプリ開発部とAndroidアプリ開発部という2つの新しい部署を立ち上げました。
この決断は、単なる組織変更にとどまらず、各プラットフォームに特化した技術力をさらに深化させるための重要なステップでした。この記事では、この部署再編の理由や期待する効果についてご紹介します。
なぜ部署を分割したのか
部署を分割した背景には理由がいくつかあります。それぞれの要因が、私たちが目指す開発の質とスピードを向上させるための重要なポイントとなっています。
- 専門知識を持つマネージャーの重要性
- 部署再編前、iOSとAndroidの開発は一つのモバイルアプリケーション開発部が担当していましたが、マネージャーはさまざまなバックグラウンドを持つメンバーが担当していました。再編後、各プラットフォームに精通したマネージャーが配置されることで、私たちは技術的なリーダーシップを強化することができました。これにより、目標設定や評価フィードバック、1 on 1の質が向上し、エンジニア一人ひとりの成長をより効果的にサポートできるようになりました。
- 意思決定のスピードアップ
- 専門知識を持つマネージャーがいることで、技術的な課題や提案がより迅速に理解され、意思決定がスピーディーに行われるようになりました。これまで、異なるバックグラウンドを持つマネージャーに対して詳細な説明が必要だった場面も、今ではすぐに意思が通じ、プロジェクトの進行がスムーズになっています。これにより、開発のスピードが上がりました。
- 独立したチームによる効率的な基盤構築
現在、私たちのiOSチームとAndroidチームは職能チームであり、それぞれ独立して「開発基盤の構築」と「機能開発」に取り組んでいます。
私たちの役割の1つは、職能横断型の機能開発チームがより効率的に機能開発を行えるように、iOS/Androidアプリの開発基盤を整備することです。最近では、リアーキテクチャ、マルチモジュール化、品質向上に向けた施策、CI/CD整備、UIコンポーネントの作成など、さまざまな基盤構築作業が進行中です。これらの作業は職能チームがそれぞれ単独で行っており、必要な時にスポットで情報共有や相談を行う程度のコミュニケーションで十分です。
また、私たちは機能開発を行うこともあります。その時には職能チームからエンジニアをアサインしてバーチャルチームを編成してPdM,デザイナー,エンジニア間で密なコミュニケーションのもとで機能開発を進めています。
このように、基盤構築と機能開発の両方において、iOSチームとAndroidチームが同じ部署に所属する必要性がないことから、独立したチーム体制が最適と判断しました。
iOSアプリ開発部の現在の取り組み
部署再編後、私が所属してるiOSアプリ開発部では以下のような開発基盤構築に注力しています。
- マルチモジュール化
- アプリケーションを複数のモジュールに分割し、コードのメンテナビリティとスケーラビリティを向上させています。これにより、新機能の追加や既存機能の改修がより迅速に行えるようになりました。
- SwiftUI化
- 最新のUIフレームワークであるSwiftUIを導入することで、UI開発の効率を飛躍的に向上させています。これにより、UIの柔軟性と拡張性が高まり、私たちが目指すユーザーエクスペリエンスの向上に直結しています。
- UIコンポーネント作成
- 共通のUIコンポーネントを開発し、再利用性を高めることで、デザインの一貫性を保ちつつ、開発スピードの向上を実現しています。この取り組みは、日々の開発作業を効率化し、全体の生産性を高める重要なステップです。
他にも、機能開発も随時行っています。
まとめ
kubellの部署再編は、私たちがモバイル開発をさらに進化させるための大きな一歩でした。それぞれのプラットフォームに特化した新しい体制により、技術力を一層強化し、Chatworkというプロダクト、kubell全体の競争力を高めることができると感じています。これからも私たちは、技術の進化とユーザー体験の向上を追求し、さらに成長していくことを目指していきます!