ReadingAgileSamuraiInDwango20110727 - agile-samurai-ja/support GitHub Wiki
2011年7月27日:アジャイルサムライ@ドワンゴ道場
進め方:
- 各節の要約を持ち回りで発表
- そのテーマでディスカッション
参加者:
- @lchin @kwappa @yamashiro @kusigahama @xga @skyguild @akitsukada @erukiti @tlync @meso(他に、ニコ生、ニコモバ開発者数人)
ゲスト:@skyguild
第1章:ざっくり分かるアジャイル開発
1.1 価値ある成果を毎週届ける
- 誰がお客さん?
- (とある社内システム) : テンプレートが走る
- テンプレを書く人 → 企画を立てる人
- 近いお客さんとは合意しやすい → 遠いお客さんとは合意しにくい
- 顧客の代理
- サービスを使うユーザからの直接のフィードバックではない
- 代理は正しく要求を伝えている?
- 会社としての期待
- コストとか
- 遠い偉い人の天の声
- 提案に穴を用意しておいてツッコミを待つ
- ドワンゴではどのくらいアジャイル開発が浸透している?
- カウボーイとアジャイル開発の間
- ドワンゴはXPに挑戦したわりと早い企業
- 「ニワンゴ部屋」(2003年、2004年くらいらしい)
- 全社的にスタンドアップミーティング、ふりかえり、trac、定期的なリリースが定着している
- やろうとしているチームは多い
- うまくいってるかどうかはまた別
- 意識を浸透させるのは難しい
1.2 アジャイルな計画づくりがうまくいく理由
- 「アジャイルな見積りと計画づくり」読んだ人?
- 最近読んだ本の中では一番役立ってる、という意見も挙がった
- プログラマの教育では、プログラミングは学べる(趣味、学校)、見積は学べない
- ベロシティによる測定が特に有効
- 理想日ベースでの導入チームがある
- 見積できるのが理想、外的要因によるタイムボックスがあることも
- 落とす機能を決める = 暗黙に見積もってるのでは?
- 属人性が大きくなりがち
- 無理矢理やらざるを得ない状況
- がんばりでカバーしてしまうことも
- 数字としては無茶な値
- うまくいかない理由になっちゃった
- うまくいく理由
- 相談の余地がある場合 (外部からの無茶な要求)
- オープンにする (ステークホルダーに対して)
- タスクリストを見せる
- アンチパターン(他社の経験)
- リーダーしか見積もらない → 見積どおりに進めることを強要される
- 全員で見積の合意を取るのがよい
- メンバーが多くなると見積のコストが大きくなりすぎる (9人とかおおすぎ)
- 分割するべき
- 無茶をして間に合わせることの弊害
- デフォルトにされてしまう
- チーム状況の悪化
- 長期的なデータ(ベロシティの推移など)を残すのが重要
- 説得材料になる
1.3 「完了」とは完了のことだ
- 「進捗95%」?なにそれ?
- 「だいたいできた」「もう少し」
- binaryにしろよ → リリースできないなら価値はない
- 「できました」の品質
- 人によるので難しい
- デザインはゴールがない
- 完成の定義も分割する
- 行程ではなく機能単位で
- 「デプロイできるのがゴール」
- デプロイを意識していないプロダクトはリスク
- 外部要因による待ち
- テンプレ、品質保証
- チームがひとつじゃない
- 品質保証に出すことがリリース、という定義もあり
- 「実践アジャイルテスト」
- 品質保証チームもチームに入るべき
- 実際は難しい (現在の組織では)
- 制度的な問題
- 「品質保証が混んでるので外注」
- 新たな「無茶なスケジュール」の発生原因
- 硬直した運用ルールによる問題
1.4 3つの真実
- 他のチームのことを知るのが大事
- 意識があって、いくつかのプラクティスを実行してれば「アジャイル」な開発
- どこのチームも「オレオレアジャイル」
- アジャイルはマーケティング用語
- 開発プロセスの改善もアジャイル
- TAOAD http://www.amazon.co.jp/dp/4873113954
- カスタマイズ重要
- 格闘技と一緒
- 「カラテ」「ニンジャ」「アイキドー」で分割する必要はない
- 守離破
- 総合で強いヤツが強い
- いろいろあるから難しい
- やってみる、改善してみる
第2章:アジャイルチームのご紹介
2.1 アジャイルなプロジェクトはどこが違うのか
- 「企画側」
- チーム内にいる感じはしない
- ウォーターフォールな世界観
- スケジュールありきの案件
- 「『側』禁止!」
- 無茶なスケジュールによるデメリットを説明せねば
- 彼らは普段なにやってるんだ?
- 計画に参加してもらう
- ストーリーの優先順位
- (とあるサービス)
- チーム間で縦割り感
- 機能でチーム編成できると理想的
- 縦の伝達が悪くなる?
- アーキテクチャによる分断
- 分かれざるを得ない
- 案件次第、状況次第
- アナリストって?
- 英語圏には「SE」という概念はない
- 役割分担はあるが上下はない
- ドワンゴでは「エンジニア力のある企画職」がやることが多い
2.2 チームをアジャイルにするためのコツ
- ドワンゴは距離が近い
- 在宅勤務のエンジニアとも距離感を感じない
- デブサミでヨシオリがその話してた http://d.hatena.ne.jp/Yoshiori/20100127/1264570722
- 週1社内を回ります
- キックオフミーティングには出ます
- フロアが違うだけでもコミュニケーションの障害に
- インフラチームと遠くなってコミュニケーションが滞っている
- 先日のレイアウト変更でどうなった?
- (とあるフロア)
- 「企画側」と近くなって、コミュニケーションは増えた
- (とあるチーム)
- テンプレは近くなったので効果はある
- 企画は遠いのでなかなか(10F / 11F)
- IRCによるコミュニケーション
- 企画職にもIRC参加してほしい
- 実施したチームは効果が出ている
- 深く関わる顧客
- 訳が難しい
- engaged customer
- SIではやる気のない客に出会った
- 向こうにやる気がないと巻き込みづらい
- 開発出身の企画職は深く関わってくれる
- 毎日ちょっとでも話せるとやりやすい
- 開発者だけの定例MTGはできるだけなくしたい
- 自己組織化
- ドワンゴは弱いような気がする
- 担当部分で閉じている
- しっかりリーダーが仕切っちゃう
- どうする?→ オープンにする、対話を作る
- 得意分野(キャラ)がかぶってると自己組織化しにくい
- チーム編成から
- 自分から関わる姿勢
- オーナーシップ→プロダクトへの目的意識の共有
- リーダーの横のつながりが重要だよね
- 見積をみんなでやるといいよね
- 関わってない人も見積もるために説明する必要がある→考えるきっかけになる
- 時間かかるんじゃない?→経験の蓄積でどんどん早くなる
- リーダーまでは権限委譲されている
- 責任を押し付けたいだけかも?
- 言われたことをやる人が多いチームだった
- リーダー経由のコミュニケーションを改める
- モチベーションあがる、という成果は出てると思う
- 「責任を押し付けられた」と感じる人の対応
- バランスだいじ
- 性格と能力を見つつ
- 委譲される→意味が分かる→楽しくなる
- 委譲が進むと俗人化するのでは? (企画と直接やりとりとか)
- コミュニケーション大事
- ペアプロのシャッフル
- 窓口を固定しても同じ問題が
- コミュニケーションによるタスクの発生がチームに共有されない問題
- コミュニケーションルートの問題?
- エンジニア:trac / IRC、企画:Excel
- ジェネラリストが望ましい
- お前らOS知らなすぎ
- インフラとの距離が原因?
- ジェネラリストチームは楽しい / 生産性が高い
次回は「2.3 よくある役割分担」からやります