技術的な負債の返済をするためのモチベーション作り
こんにちわ。Retoryというアプリを開発している、shogo.yamadaです。
現在Retoryはリニューアルをしています。アプリの方向性、ターゲット層の変更をするために時間をかけてアプリの方向転換を行なっております。
そこで問題になったのは技術的負債でした。これをどう解消していこうか、どうやってモチベーションを作ろうか考えて行動してみたのでそれについて書きます。
不具合が多いとサイレントでユーザーはいなくなる
Retoryを開発していて、思ったのは「不具合が多いとユーザーはサイレントでいなくなる」ということです。
リリースしてすぐの頃はシンプルなチャットを好んで使ってくださった方が多かったです。
1日に流れるメッセージも2000通以上で毎日続いていましたが、不具合を連発して出してしまった週に急にみんないなくなりました。
不具合を報告してくださる方はとても優しい方で、大多数の人はレビューも何も書かずに消えていきます。
低評価すらも押してくれません。これが普通です。
なので、不具合は出さないと心に誓いました。
不具合を出さないように手動テストを繰り返すのは嫌
かといって、一人で開発しています。手動テストは毎回たくさんしたくありません。
そこでやることにしたのは、自動テストです。
手動テストをやりたくないで、自動テストを書く。そこでモチベーションがあがりました。
壮大なリファクタリング
現在のRetoryは設計も最初はちゃんとしてましたが、だんだん適当になっていきました。
今はほんとやばい状態。なので、不具合が頻発していた。
なので自動テストをやるには、リファクタリングからやらないといけません。そこで一画面ずつリファクタリングを行い、ユニットテストも書いています。
アプリからFirestoreの書き込みはCloud Funtionsを経由する
こちら賛否両論あるとは思いますが、Retoryの新機能の書き込みは極力Cloud Functionsを経由することにしました。
そうすれば、不具合が出た時ならサーバー側の修正だけでなんとかなる可能性があるからです。
もちろんCloud Functionsのテストも書いてます。
既存コードについても段々と手をつけていく予定です。
終わりに
以上です。やりたくないことをやらないといけなくなったので、機械にやらせようというので、リファクタリングのモチベーションがあがりました。
ここまで読んでくださってありがとうございました。
P.S ゲーム好きの方、自分方に連絡ください。色々ヒアリングしたいです。
ここから先は
shogo.yamadaサービス開発研究所
shogo.yamadaがサービス開発についていろいろな考えや、アイデア、サービスを開発を継続させるための仕組み化の話をします。 現在SN…
投げ銭はいりません。それより無料でできる拡散をしてください!! 感想をツイートしていただけることが一番嬉しいです!!