クックパッド社の 朝Lint活動の記事を見て、最高じゃん…!と思い自分も真似して運用してみることにしました。
とりあえず自分だけで勝手にやることにしたので 「Lint警告解消に限らずやりたいこと好き勝手やってやるぞ!」って感じで2週間くらいやってみました。わりと進捗よくて成果出てきた気がするので、どう考えて何をやったかを残しておこうと思います。
なぜやろうと思ったのか
普段の開発タスクに追われて細かいところに手がつかず歯がゆい思いをしていたからです。
今作っているTaptripはグロースフェーズにあり、新規ユーザーの流入やDAU・MAUの向上といった数字から逆算した施策を高速にこなすべく開発を進めています。
この方針自体には納得しているんですけど、直近で数字が出るかよくわからない細かい改善というのはやはり優先度が低くなってしまうんですよね。そしてそういう細かいところというのは、開発してる人からすると意外にすごく気になったりします。
自分自身も 「直したいところいっぱいあるのになかなか手がつけられない…けどグロースが優先度高いというのもわかる…」というぶつけようのない怒りみたいな感情があって、じゃあ勝手にやってやるぞ!って感じの勢いで始めてみたわけです。いわば怒り駆動開発です。
なぜ毎朝なのか
毎朝やるのが一番継続しやすそうだったからです。
以前 「週1は負債改善デーにしよう」「3ヶ月に1回はがっつり改善期間取ろう」みたいな施策を色々やってみたんですけど、どうもうまく継続できませんでした。
日にちや時間を決めて皆でやろうとすると、なんだか普通のタスクみたいになってしまいがちなんですよね。で、「なんかつまんないぞ?」とやる気がなくなって、だんだんと形骸化してしまうわけです。
これはどうしたらいいかなぁと思っていた時にクックパッド社の朝Lint活動の記事を読んで、ちょっとずつ毎日やる方が継続できそうだなと思い毎日やってみることにしました。
夜でもいいんですけど、弊社は夜型のメンバーが多いので夜は人がいっぱいいるんですよね。人がいると集中できないし、どうしても本業の方をやってしまいがちです。自分は朝の方が好きですし、1日の始めにエンジンをかける意味でも8〜9時くらいに自由にやりたい開発をするのはいいんじゃないかと思って、朝やることにしました。
2週間の進捗
Androidアプリの改善として、2週間でこんなことをやってました。
- Ripple Effect対応
- ActionBarをToolbarに変更
- CircleCIの時間を8分 → 4分に削減
- 画像ロードをUniversalImageLoaderからPicassoに移行
- ListenerをRetroLambdaでlambdaに書き換え
- 不要なResource、styleの削除
他にもちょっとしたコードの整理なんかもやりました。
思惑通り、普段できない改善をがっつりできたのでよかったです。朝1時間ずつだとあんまり広範囲な修正はできないんじゃないかなとも思っていましたが、2〜3日に分けてやれば十分可能でした。
楽しい開発をやろう
これはまだ自分1人で勝手にやってる取り組みですが、今のところいい感じに回っています。
続いているのはなんだか楽しいからです。楽しくない取り組みは大抵継続できないです。毎日小さなPullRequestを出すと、やってやった!という小さな達成感があって、それが心地よくて続いてる感じです。
UniversalImageLoaderからPicassoへの移行、朝1時間ずつ3日くらいやって終わらせたのでだいぶやってやった感ある
— こにふぁー (@konifar) 2015, 10月 22
朝の自由開発は、話だけ聞くと「え、それ大丈夫なの?」と思うこともあると思います。コンフリクトしたらめんどくさいよねとか、もしデグレ発生したらどうするの?とか、リスクを上げればいっぱい出てきます。
それはもちろん正論で、自分も同じように考えていたんですが、やってみると意外と大丈夫です。言っても朝1時間使うだけですし、色々考えるよりも手を動かして修正して見せた方が早い場合も多いです。
まだ数人の小さな開発チームだからかもしれませんが、自分は楽しいことやろうよって気持ちが強くて、たぶん大丈夫だけどリスクを考えて動けない空気になるのは嫌なんですよね。もしバグが発生したとしても、進んで改善した結果であれば速攻直せばいいだけだよねというスタンスで認識取れてればいいんじゃないかなと思っています。
おまえのバグはおれのバグ、おれのバグもおれのバグ
— こにふぁー (@konifar) 2015, 10月 14
今は自分一人しかやってないので完全に個人プレーなんですが、やるべきだと思ったことを衝動のままに楽しく改善できてる感じなので、しばらくこのまま続けてみようと思います。