QiitaやKobitoの開発フローと,それを支えるサービス一覧
こんにちは,yaottiです.
前回はQiitaやKobitoを作る開発チームの文化について書きましたが,今回は具体的にどういうツールを使いながら開発しているのか,また開発の雰囲気などを紹介します.
QiitaやKobito開発で利用しているツール,サービス一覧
開発
- Trello: 開発以外のタスクや仮説の管理
- Pivotal Tracker: 開発ストーリー管理
- GitHub: ソースコードのホスティング,レビュー,ディスカッション
- Circle CI: CI環境
- Sentry: エラーの補足&通知
- New Relic: パフォーマンス改善用の測定
- Amazon Web Services: インフラ(EC2, RDS, ElastiCache)
コミュニケーション
- Slack: チャット
- Qiita Team (& Kobito): テキスト共有&ディスカッション
その他
- Mixpanel: イベント計測
- Google Apps: カレンダー,メール,スプレッドシート, Analytics
- Optimizely: A/Bテスト
- ZenDesk: ユーザーサポート
- MailChimp: メールマガジン配信
実装フロー
実装フローは最近のWebサービス開発ではよくあるPull Requestベース(ソースコードはGit管理,masterからブランチを分岐させて開発し,完了したらGitHubでPull Requestを投げ,CIを走らせる&他のエンジニアにレビューしてもらい,問題なければmasterブランチにマージしてすぐデプロイする)で,この中では特別変わったことはしていません.(詳しくはWebサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー – naoyaのはてなダイアリーにわかりやすく書いていただいているのでそちらを).
しかしツールを組み合わせて開発することの弊害として,情報が分散し見にいくのが面倒という問題があります.そのため各種ツールのイベントをHipChatに集約して,そこを見れば何の開発が行われているのかがわかるようにしています.
GitHub, Pivotal Tracker, Circle CI, デプロイ,Qiita Teamの新着投稿情報など
開発フロー/仕事方法は日々改善
実装フローについてはほぼ問題なく回るところまで改善できていますが,より広い範囲での開発フローは日々色々試行錯誤しながら改善しています.例えば最近の改善は:
- 朝会の(仮)廃止
- オンライン(TrelloやPivotal Tracker)でやること&やったことは共有されている
- 問題はチャットやQiita Teamで積極的に共有されている
- 完全に撤廃するかどうかは様子見
- リモート勤務の試験運用
- 毎週月曜日は皆自由な場所で仕事している
- リモートの良い点悪い点が見えてきている(これについては別途記事作成予定)
- 仮説検証と実装の運用
- 利用者に大きな価値があるかわからないアイディアをどう管理し,優先付けして検証していくか?
- 現在は未検証のアイディアはTrelloで検証し,リリースすべきであることがわかったらPivotal Trackerで管理する,という流れ
こうした改善を早いスピードで行うために,弊社では毎週火曜日に振り返りMTG(スプリントレトロスペクティブ+α)を行い,その1週間の反省と次どう改善していくかをディスカッションしています.
Qiita Teamで共有されている振り返り内容例
We’re hiring!
前回の文化についての記事やこの記事に共感してもらえる方,楽しい開発環境で一緒にQiitaやQiita Teamを良くしていきたいと思う方は support@qiita.com までお気軽にご連絡ください :+1: