多国籍Androidエンジニアチームで保育をHACK!!
by
aiba
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
多国籍Androidチームで 保育をHACK!! 2021/11/4 Mai Aiba ユニファ株式会社
Slide 2
Slide 2 text
自己紹介 ● Mai Aiba ● Android エンジニア ● 新卒でナビゲーションサービスを開発する企業に入社 ● 2016年5月ユニファ入社 ● 2017年6月産休&育休取得 ● 2018年5月時短で復帰 ● 現在はフルタイム&リモートで勤務 ● 多国籍チームで云々とありますが、 最後に取った英語資格は1X年前の英検2級です! 2
Slide 3
Slide 3 text
ユニファのモバイルチーム 3
Slide 4
Slide 4 text
4
Slide 5
Slide 5 text
外国籍メンバーと プロダクトを開発するにあたって どのような取り組みをしてるか 5
Slide 6
Slide 6 text
アーキテクチャを選定する前に ● 開発期間 約6ヶ月 ● 開発メンバー (プロジェクト開始時) ○ & ● 役割 ○ コードベース作成 ○ 既存サービスの運用 他 ● コミュニケーション ○ だいたい英語 6
Slide 7
Slide 7 text
公式にならうが吉!を基本方針に ● MVVM, Clean Architecture ● Kotlin ● Kotlin Coroutines ● Kotlin Flow ● Retrofit2(OkHttp3) ● Room ● ViewBinding ● Material Design Components ● Dagger Hilt ● Test : Mockito / Robolectric / JUnit 7
Slide 8
Slide 8 text
その他の整備 ● detekt ● Bitrise ● Firebase App Distribution ● git-flow 8 開発者 Bitbucket Bitrise テスター
Slide 9
Slide 9 text
議論になったポイント ● どこまで制限を強くするか ○ e.g. KMMまで想定したClean Architectureにする? ■ Room、Retrofitなど、Android特有のFrameworkの扱い ■ データレイヤでのデータ構造 ● OffsetDateTime ● String ● Local DB のリレーションについて ○ サーバーサイドのER図や仕様書から解決できるが ドメイン知識がないと難しい 9
Slide 10
Slide 10 text
失敗談 コミュニケーション問題で議論が先送りに ● 機能をドロップする判断 ○ e.g. ■ ローカルDBを利用したキャッシュの実装 ■ ダークテーマ ■ Unitテスト ● 地味にきつい負担 ○ PRレビューがタスクを逼迫 10
Slide 11
Slide 11 text
失敗談 英語が話せる上長に助けてもらいました 🙏 ● 機能のドロップとPRテンプレートの運用を決定 ● 週次MTGを設置 ○ 目的 ■ リカバリープランの効果確認 ■ 不要なタスク、ブロッカーを取り除く ■ 良いメソッドの共有 ○ 成果 ■ 大幅工数減 & スケジュール調整しやすくなり なんとかスケジュールに納めることに成功 11
Slide 12
Slide 12 text
チーム外とのコミュニケーションにも課題 ● エンジニア同士は共通言語で補える ○ プラットフォーム周辺の知識 ○ UML等 ● チームの外に出ると難易度が上がる ○ メッセージに誤字があると翻訳が崩壊する ○ 日本語が話せるメンバーに相談しようとしてしまう ○ 仕様/デザインの検討で意図が伝わらない ■ Material Design Componentsを利用しやすくするための要望 ● カラー、タイポグラフィの定義 ● 適切なコンポーネントの利用 ■ 実装方法、ロジックの相談 12
Slide 13
Slide 13 text
MD workshop を実施 ● ねらい ○ 社内のUI設計に関する知識を増やす ○ 部署問わず知識レベルを揃えコミュニケーションを円滑にする ○ 感覚ではなくルールに基づいてUIを評価できるようになる ● メンバー ○ ディレクター、デザイナー、QA、エンジニアなど十数名 ● 内容 ○ ガイドラインのMaterial Foundationからテーマを選択 ○ 参加者は勉強会までにガイドラインを読み、勉強会で疑問を解決する。 ○ 担当者はメンバーが躓きそうな所、自身が分からない所を明確にしておき ファシリテーションする ○ 聞くだけの参加もOK 13
Slide 14
Slide 14 text
翻訳しながら質疑応答 14
Slide 15
Slide 15 text
参加メンバーからのFB ● ○ マテリアルデザインに興味を持ち学ぶ人が増えた ○ 議論ができる、参加のハードルが低い ○ 理解のある人が、知識のない人に説明してくれる ● ○ 同じ人ばかり話してしまう傾向があるので、座長になった人が みんなに話を振ってあげるとより良くなりそう ○ もっと実践的な例が欲しい ○ 二言語対応の難しさ(英語話者ともっと議論したい) 15
Slide 16
Slide 16 text
MD workshop をやってみて ● 実践的な内容が欲しいという要望 ○ 部署問わず知識の溝を埋めるための勉強会なので、 参加のハードルを下げる必要がありこれでよかったと考えている。 ● Workshop 開催後の変化 ○ デザインの変更、修正を提案する際に、 「ガイドラインのxxの部分によると〜」のような表現が増えた。 16
Slide 17
Slide 17 text
● 全員が同じ言語を話せるのがベスト ● 難しい場合 ○ 同じプラットフォームのエンジニア同士は意外と何とかなる ○ 共通の言語を増やす ■ モデリング言語 ■ プラットフォーム周辺知識 ■ ドメイン知識 ○ チームをまたがるMTGは話せる人がファシリテーションする ○ 後からでも正確に理解、議論できるようドキュメントに残す ○ 翻訳しやすい日本語を使う おわりに 17