# チーム作り
KPIに対して施策を行うが、見込みが足りてないにも関わらず施策が出せず全然目標達成できないチームでした。
が、キープMTGを導入して足りないなら施策を考えたりチューニングしたりきっちり目標を追うように自分が動きチームに働きかけてキャッチアップできるチームを作った。
動くようにしてからはチューニングを含めて10倍ほどの施策は行えるチームになった。
# アプリエンジニアのジョブローテ
エンジニア4人体制でサーバサイド、アプリの運用をしていたのですが
アプリができるエンジニアに偏りがあり業務分担があまりできていませんでした。
特にAndroidは一人しか書けなかったため、差し込み案件が発生すると作業が中断してしまい
フォローにも入れないといった状況になっていました。
そこで、上司に状況説明と改善案を提案し
iOSエンジニア→Android
PHPエンジニア→iOS
へ、ジョブローテができるように働きかけました。
そのなか、私はPHP,iOSが書けるため、PHP→iOSアプリへのコンバートの手伝いをしました。
PHPからアプリへのコンバートでは、スレッドやデリゲートの概念がないためとっつきにくいため
まずは苦手意識が出ないようにそのあたりが出ない、画面表示系のタスクから行い
なれてきたタイミングでペアプロを行い進めていきました。
また、Obj-cで書かれているページをSwift化することで復習する機会も用意しました。
それにより無事ウェブエンジニアをアプリエンジニアへとコンバートさせ
チームのリソースをフレキシブルに動けるようにしました。
# TwitterSDKの導入
古くから運用されていたり、アプリとウェブでエンジニアが分断されて運用されいたせいで
SDKが利用されずウェブビューでツイッターログインが動いていました。
このせいでTwitterアプリでTwitterにログインしているにもかかわらず
ウェブで再度ログインが必要になっていました。
チーム内では当たり前になっていましたがこれではSNSログインのメリットが全然享受できていないので
アプリとウェブに改修を行いTwitterSDKの実装を行いました。
これによりTwitterログインの利用が倍ほどになりました。
# 広告ライブラリ共通化
- 2012年から動いている
- Obj-CとSwiftが混在
- 広告SDKが数年前から更新されていない
- 広告の初期化処理がいろいろな箇所点在
- 使われてないコードが残ったまま
以上のような状況で、運用しており全然クリエイティブでない広告SDKの導入や
アップデートに時間を取られたり、広告SDK起因のクラッシュがよく出ていた。
- SDKの棚卸し、要らないSDKとコードの削除
- SDKのCocoapodsでの管理への移行
- 広告呼び出し部分の一元化
- 広告の先読み
以上を行い、SDK導入や更新時間を短くし本来やるべき業務への時間確保や
CFRの向上、収益の向上ができました。
# メモリリークによるクラッシュの改善
再現性のないクラッシュの問い合わせがユーザからよくきていたので
よく使われる画面のソースコードの読み込みを行いメモリリークの改善を行った。
ほとんどデリゲートの循環参照やblocksの中での強参照が原因だったので
プロジェクト内でデリゲートを宣言をすべて検索し適切に変更したり
blocksの記述を追って一通り変更しました。
これによりほぼ毎日着ていた原因不明のクラッシュの問い合わせは届かなくなりました。