Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

© KAUCHE, Inc. 2 目次 ● 自己紹介 ● カウシェのサービス、組織の特徴 ● 複業メンバーと共に創るときの課題 ● 対策 ● まとめ

Slide 3

Slide 3 text

© KAUCHE, Inc. 自己紹介 ● モバイルアプリエンジニア ○ iOS/Androidともに黎明期からアプリ開発を行う ○ 前職ではUnityでの開発も行う ○ Flutterも少々 ● 2022年9月に一人目の正社員iOSエンジニアとして入社 ○ 入社エントリ ○ 実装はもちろんのこと今まで他のメンバーに助けてもらっていたところ を徐々に整えていっている 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

© KAUCHE, Inc. カウシェの組織の特徴 ● 複業メンバーが多い ○ 自ら働く環境を楽しみ、熱量を最大化する「自律・自燃 型組織」を目指し、様々な雇用形態のメンバーが活躍 ● 創業当初からスピードを出すために 複業メンバーに助けてもらっている ● 複業から正社員になるメンバーもいる ● 先月(2022年8月)まで 正社員iOSエンジニアが一人もいなかった ※複業にはフリーランスも含む 6 ※2022年8月時点

Slide 7

Slide 7 text

© KAUCHE, Inc. 7 複業メンバーと共に創るときの課題

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

© KAUCHE, Inc. 10 複業メンバーのアウトプットを最大化できるよう環境を整える

Slide 11

Slide 11 text

© KAUCHE, Inc. 11 複業メンバーのアウトプットを最大化できるよう環境を整える ● M1 MaxなMacを貸与 ○ ただしフルタイムに近い稼働に限る ○ ビルド時間、Xcodeのプレビュー表示などを少しでも速く、軽く ● 複業でも自分事にしてもらえるよう会社の情報をオープンにする ○ 自律・自燃を目指している ○ 会社に関する情報は全て Notion上で公開されており 複業メンバーも閲覧可能

Slide 12

Slide 12 text

© KAUCHE, Inc. 12 開発の助けになるドキュメントを用意する

Slide 13

Slide 13 text

© KAUCHE, Inc. 13 開発の助けになるドキュメントを用意する ● 些細なことでもNotionに記載する ○ iOSチームとしての方針を周知する ○ PRで書いたTipsも他の人が気が付かないと勿体ない ○ Slackでの議論で終わると流れてそのタイミングで居なかった人が見逃 してしまう ○ 新規メンバーのオンボーディングにも役立つ

Slide 14

Slide 14 text

© KAUCHE, Inc. 14 DesignKit / MockKit

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

© KAUCHE, Inc. 17 DesignKit

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

© KAUCHE, Inc. 19 DesignKit

Slide 20

Slide 20 text

© KAUCHE, Inc. 20 MockKit

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

© KAUCHE, Inc. 22 MockKit

Slide 23

Slide 23 text

© KAUCHE, Inc. 23 まとめ ● 課題 ○ 複業メンバーの稼働時間が限られている ○ 非同期コミュニケーションが主体になってしまう ● 対策 ○ ドキュメントやXcodeのプレビューなどの仕組みを使って仕様把握やコミュニケーションの効率化 を図った

Slide 24

Slide 24 text

© KAUCHE, Inc. 24 https://enjoy-working.kauche.com/product