ぼくたちのじゅたくかいはつ(と品質の話)
DESCRIPTION
日本CAWで取り組んでいる月額制受託開発の話と、その中でどのように品質を維持するか、という取り組みのお話。ソースコードレビュー、テスト自動化、CIなど。TRANSCRIPT
ぼくたちのじゅたくかいはつ
自己紹介
- 原田 敦 (@harada4atsushi)
- 日本シーエイダブリュウ株式会社
- WEB アプリケーションエンジニア
日本シーエイダブリュウ株式会社
- Ruby on Rails 専門
- 小規模 WEB アプリケーション専門
- 見積もらない受託開発
完全に一致!!
見積もらない受託開発
仕様書に書いてないぞ!追加費用だ!バグだ!!
即刻タダで直せ!
ムリです。出来ません。
ねぇメアリー?
ココこうしたら良く
なるを思わない?
3月5日 納品 厳守!
Shit!
間に合わねぇこれで出しちまうか…
それは本当に欲しかった
ソフトウェアか?
受託開発の問題
- 要件はプロジェクトが進行するとともに明らかになる
- だけど最初に決める要件と見積
- 仕様なの?バグなの?
月額制に変えました
品質管理どうしてる?
- TDD はたしなむ程度に
- ソースコードレビュー
- テスト自動化
Pull request
Code review
FeedbackDeveloped
!
NG?
OK?
merge
コードレビューの目的
- 常に一定の保守性を維持する
- メンバーのスキル向上
- 担当分以外の仕様の把握
Push Webhook
Developed!
Oops!!
Oops!!
テスト自動化のメリット
- 疎結合なコードになる ( 変更に強い )
- 困難が伴うテストを簡略化出来る
- テストがしやすいコードが良いコード
テストしづらいコード
テストしやすいコードController
テストしやすいコードModel
テスト自動化の誤解
- どうせ仕様が変わるから後でいい?
- 品質向上のためのテスト自動化?
- カバレッジ 100% なら安心?
テスト自動化のデメリット
- 導入コストは思ってるよりヤバい- テスト過多
- 理解不足のテストコードはむしろ害
テスト自動化で気をつけていること
- あえて書かない- むやみに全員に書かせない
- 理解不足のテストコードはむしろ害
テストはほどほどにね!
バーチャル CTO
バーチャル CTO と一緒に事業を考えようhttp://j-caw.co.jp/virtual_cto.php
Facebook でもいいよhttps://www.facebook.com/harada.at.sea4
ありがとうございました。