Upgrade to Pro — share decks privately, control downloads, hide ads and more …

インクリメンタルに 設計・テストする スクラム初心者が取り組んだ『中身』の話し

Yasushi Hagai
August 23, 2014
32

インクリメンタルに 設計・テストする スクラム初心者が取り組んだ『中身』の話し

DevLove甲子園2014西日本大会

Yasushi Hagai

August 23, 2014
Tweet

Transcript

  1. こうやってやることにした #1 • スクラムする – まずは“教義”を守る • スプリント計画(1,2) • デイリースクラム

    • スプリントレビュー • ふりかえり • タスクボード • バーンダウンチャート • ベロシティの計測 • Etc. 10
  2. こうやってやることにした #2 • 少⼈数でやりきる仕掛け – CI (Jenkins) – JavaScriptのUnit Testも⾃動化(PhantomJS)

    – 体裁より中⾝ • モデリングツールのファイルを成果物とする • 美しく紙にならなくてもいい 11
  3. ユースケースシナリオはもっと⼤事 • 実際の業務で使われている⾔葉でアクターと システムの振る舞いを記述 • 例外シナリオを抽出 • ユーザとシステムの対話の両側を記述 • 名詞

    ー 名詞 ー 動詞 のスタイルで記述 1. 担当者はアレをどうする 2. システムはソレをこうする • これが作る物の元ネタとなり、テストの元 ネタとなる 24
  4. ドメインモデル ⇔ 実装 • モデリングに時間をかけすぎない • 実装時にモデルのまずさに気づくことが ある – 実装が困難なモデル

    – 実装の都合に合わないモデル • そんなときはまたモデリングに戻る • モデルとコードの間を⾏ったり来たり • 実装できないモデルは無価値 29
  5. まずは普通にUnit Test • JavaのコードはJunitでテスト • Java ScriptはSiestaというフレームワーク • CI利⽤(Jenkins) •

    PhantomJSを使ってJSのテストもCI上で • プロジェクトが進んでゆけばテスト量が 増えるので実⾏時間も⻑くなる 35