IGNITIONチームの開発フローについて話してきた #nanapi_study #hatenatech
こんにちは!だいぶ久々の投稿です。
今週は台風18号、来週は台風19号が来ていますが、そんな台風の合間を縫って東京と京都の勉強会で話してきました。
nanapi勉強会 vol4 - 【nanapi x はてな】はてなとnanapiの開発フロー - nanapi勉強会 | Doorkeeper
【nanapi x はてな】はてなとnanapiの開発フロー in Kyoto - connpass
ブログを書くまでが勉強会!既にこれらの勉強会についてのまとめはいくつかブログが上がっていましたので、このエントリでは懇親会で話したり聞かれたネタとか、スライドの補足とかを諸々書いてみます。
物理カンバン廃止について
最初は物理カンバンを使ってタスク管理してましたが、途中からIGNITIONチームでは物理カンバンを使わない、という選択肢を取りました。
理由としてはいくつかありますが、一番の理由は「管理が面倒&無駄が多い」っていうところです。 バーンダウンチャートを作るなりログに残すにしても結局別のタスク管理ツールとの二重管理が必須になってました。
あと、振り返りMTGをやるときにも物理カンバンを別の会議室まで引っ張って行くのも正直面倒というのもあります。日々の開発の中でだるいなーと思う箇所を排除したい(という意識を共有できるメンバーが多い)チームだったのでそういう選択を取りました。
もちろん物理カンバンの一覧性&視認性は捨てがたいところではあるんですが。 リモート開発をいつでも出来るような環境を想定した開発フロー選定、というのもちょっと意識しました。
Jenkinsを使わない
語弊がありそうなので最初に書いておきますが、Jenkins自体はとても良いツールだと思いますし、nanapi.jpや他サービスの方では一部では現在も使っています。
が、IGNITIONチームではJenkinsは使わない、という選択肢を取りました。 理由としてはいくつかあって
- メンテコストが非常に高い
- 属人性が高くなりすぎる
- 社内のメンテナが固定されがち
- 結果、各ジョブが秘伝のタレ化する
- 社内のJenkins職人(通称Jenkinsおじさん)しかメンテできない
というのを問題視しています。
個人的意見ですが、クックパッドさんのデベロッパープロダクティビティ のように、それらをミッションとした専属チームがメンテをし続けられるのであればJenkinsも良いのかなあと思っています。
nanapiの規模だと個人が管理し続けるのはとてもしんどいので、そういったジョブはすべてSaaSに寄せる方向で検討している、といった感じです。
PhpStormの話
とりあえず言いたいことはすべて去年のPhpStorm Advent Calendarに書きました!
IntelliJ IDEAとかRubyMineでもPHP周りの独自機能を除けば基本は同じなので、ショートカットとか便利機能とか参考にして頂ければと思います。 全部読むのだるい方は、とりあえず25日目の記事を見ると大体幸せになれます。
ちなみに今年はAdventCalendarは書かないです。(予定)
Mackerelチームについて
発表者の id:motemen さんの記事が参考になります!
開発フローに正解なんてないので、気に入った&チームに合いそうな部分を取り入れていけば良いのかなあと思います。
うちでは早速 Mackerelチームの 式次第 のやり方を振り返りMTGに取り入れてみました。
関連リンク
nanapi勉強会vol4でパネリストしてきた | おそらくはそれさえも平凡な日々
「nanapi勉強会 vol4」に参加してきました - 勉強会ログ