しょぼちむ Advent Calendar 2014 - Adventar の22日目のエントリーです。
チーム開発の話でもしようかと。せとさんが「まぁいいんじゃね?」って、テストファーストの話書いてるし、いいよね。 しょぼちむにテストファーストについて説明してみる - ふぃーるどのーつ
Role
社内開発前提で考えてみます。
開発チーム
ビジネス側と開発側で向き合ってるとこんな感じ?
でも、これだとビジネスと開発の距離がありすぎるね。
Producer
ってことで開発リードをチームから剥がして、真ん中に立たせてみよう。
んで、Producerというロールにしよう。
おし。これでビジネス側との距離が縮まった。
んでも、開発チームとの距離が遠くなっちゃったな。
ってか、このロール、仕事多くね?
DevLead
ってことで、やっぱり開発チーム側にリード立てよう。
これでチームのリードはプロデューサーから剥がすことができた。よかった。
Director
UI/UXを担当するチームが絡む場合はこんな感じかな。
Product Owner Team
この中心にいる人たちでProduct Owner Teamを組もう。
プロダクトの方向性を決める人たちね。
- BizLead: プロダクトはビジネス視点が中心になるんでビジネスのプロであるBizLeadがメインで引っ張ることになる。
- Producer: けど、開発が絡むので開発側の知識も持ったProducerが全体のバランスを見ながらBizLeadのサポートをする。
- DirectorはUI/UXの専門家として考える。
- DevLeadが実際の開発の難しさやかかる期間、技術的負債を返していく必要性を伝えたりする。
結局色んな視点が必要だよねって感じで。
開発の流れ
- PO TeamはEpicBacklogを作ってメンテする
- エピックってのは、大きめのビジョン的なものかな。2,3ヶ月以上かかるような。
- PO TeamはEpicBacklogを開発可能なサイズに分割して着手可能なバックログを作成する。
- このとき Feature Definition Doc をWikiとかに書くです。
- 「誰に、何を、何のために提供するか」とか「この開発の後にどのような指標がアップする予定か」などが明記されてると良いです。
- さらに、テストを書けるレベルのドキュメントになってると良いです。
- Dev Teamは着手可能なバックログの上からストーリーをとってきて、スプリントバックログを作ります。
- ストーリーは2,3日で終わる単位がいいな
- ストーリーをタスクに分割するんだけど、そのタスクは3,4時間で終わる単位がいいな
んで開発するます。
開発
- 基本的にはペア開発をします。色々良いよ。
- Feature Definition Docを中心に、2つのペアにわかれます。
- 1つのペアはFeature Definitionを元にして開発を担当。TDDとかするのはこっちね。
- もう一つのペアはFeature Definitionを元にしてテストを担当。メソッドレベルとかじゃなくて外部仕様レベルのテストね。
- 開発ペアが作ったものをテストペアがテストして通ったらおk。
ちな、DevLeadはScrumMaster的な仕事もしてしまえばいいと僕は思っています。
そんな感じ!