$30 off During Our Annual Pro Sale. View Details »

複業メンバーと共に創るカウシェ

Katsuya Kato
September 29, 2022

 複業メンバーと共に創るカウシェ

【 iOS祭り 】ヒットプロダクトを開発!iOSエンジニアが語る自社プロダクト開発の難しさ

Katsuya Kato

September 29, 2022
Tweet

More Decks by Katsuya Kato

Other Decks in Technology

Transcript

  1. © KAUCHE, Inc. 複業メンバーと共に創るカウシェ Katsuya Kato

  2. © KAUCHE, Inc. 2 目次 • 自己紹介 • カウシェのサービス、組織の特徴 •

    複業メンバーと共に創るときの課題 • 対策 • まとめ
  3. © KAUCHE, Inc. 自己紹介 • モバイルアプリエンジニア ◦ iOS/Androidともに黎明期からアプリ開発を行う ◦ 前職ではUnityでの開発も行う

    ◦ Flutterも少々 • 2022年9月に一人目の正社員iOSエンジニアとして入社 ◦ 入社エントリ ◦ 実装はもちろんのこと今まで他のメンバーに助けてもらっていたところ を徐々に整えていっている 3
  4. © KAUCHE, Inc. カウシェの紹介 4

  5. © KAUCHE, Inc. 5 カウシェの紹介

  6. © KAUCHE, Inc. カウシェの組織の特徴 • 複業メンバーが多い ◦ 自ら働く環境を楽しみ、熱量を最大化する「自律・自燃 型組織」を目指し、様々な雇用形態のメンバーが活躍 •

    創業当初からスピードを出すために 複業メンバーに助けてもらっている • 複業から正社員になるメンバーもいる • 先月(2022年8月)まで 正社員iOSエンジニアが一人もいなかった ※複業にはフリーランスも含む 6 ※2022年8月時点
  7. © KAUCHE, Inc. 7 複業メンバーと共に創るときの課題

  8. © KAUCHE, Inc. 8 複業メンバーと共に創るときの課題 • 複業メンバーの稼働時間が限られている • 非同期コミュニケーションが主体になってしまう

  9. © KAUCHE, Inc. 9 対策 • 複業メンバーのアウトプットを最大化できるよう環境を整える • 開発の助けになるドキュメントを用意する •

    開発効率を上げるDesignKit、MockKitを準備する
  10. © KAUCHE, Inc. 10 複業メンバーのアウトプットを最大化できるよう環境を整える

  11. © KAUCHE, Inc. 11 複業メンバーのアウトプットを最大化できるよう環境を整える • M1 MaxなMacを貸与 ◦ ただしフルタイムに近い稼働に限る

    ◦ ビルド時間、Xcodeのプレビュー表示などを少しでも速く、軽く • 複業でも自分事にしてもらえるよう会社の情報をオープンにする ◦ 自律・自燃を目指している ◦ 会社に関する情報は全て Notion上で公開されており 複業メンバーも閲覧可能
  12. © KAUCHE, Inc. 12 開発の助けになるドキュメントを用意する

  13. © KAUCHE, Inc. 13 開発の助けになるドキュメントを用意する • 些細なことでもNotionに記載する ◦ iOSチームとしての方針を周知する ◦

    PRで書いたTipsも他の人が気が付かないと勿体ない ◦ Slackでの議論で終わると流れてそのタイミングで居なかった人が見逃 してしまう ◦ 新規メンバーのオンボーディングにも役立つ
  14. © KAUCHE, Inc. 14 DesignKit / MockKit

  15. © KAUCHE, Inc. 15 カウシェのモジュール構成 ※一部UIKitもあるが大半がSwiftUIで作られている

  16. © KAUCHE, Inc. 16 カウシェのモジュール構成 ※一部UIKitもあるが大半がSwiftUIで作られている

  17. © KAUCHE, Inc. 17 DesignKit

  18. © KAUCHE, Inc. 18 DesignKit • DesignKitとは ◦ カウシェのデザインコンポーネントを保持 ◦

    Colors、Styles、UI Componentsを有する • 目的 ◦ 開発の効率化 ◦ プレビューでどのようなコンポーネントかすぐに分かる ▪ 何がすでにあるかというコミュニケーションが省ける ▪ DesignKitのコンポーネントの一覧を Notionなどに作成することや、 UIを確認するアプリを作ることも検討したが費用対効果を考えてプレビューだけ にした
  19. © KAUCHE, Inc. 19 DesignKit

  20. © KAUCHE, Inc. 20 MockKit

  21. © KAUCHE, Inc. 21 MockKit • MockKitとは ◦ カウシェのモックデータを定義する ◦

    APIのレスポンス等をモックする • 目的 ◦ モックデータをプレビュー、 UnitTestで共用して効率化 ◦ それぞれで用意すると似たようなデータが重複し、開発効率も悪くなる ◦ プロダクションコードから切り離す • 色んなパターンのモックデータを用意することでプレビューで 複数パターンの表示を確認できる ◦ UI仕様の把握をXcode上でプレビューで確認できる
  22. © KAUCHE, Inc. 22 MockKit

  23. © KAUCHE, Inc. 23 まとめ • 課題 ◦ 複業メンバーの稼働時間が限られている ◦

    非同期コミュニケーションが主体になってしまう • 対策 ◦ ドキュメントやXcodeのプレビューなどの仕組みを使って仕様把握やコミュニケーションの効率化 を図った
  24. © KAUCHE, Inc. 24 https://enjoy-working.kauche.com/product