dogfooding and agile development

63
ドッグフーディングと アジャイル開発 February 18, 2010 Shunsuke “Sean” Osawa Atlassian Developers Summit 2010

Upload: sean-osawa

Post on 14-Jan-2015

6.717 views

Category:

Technology


1 download

DESCRIPTION

アトラシアン、デブサミ 2010 にて講演したスライドです。 リリースサイクル(98日サイクル)の図の高解像度版はこちらです。 http://confluence.atlassian.co.jp/x/nYGZ

TRANSCRIPT

Page 1: Dogfooding and Agile Development

ドッグフーディングと

アジャイル開発

February 18, 2010

Shunsuke “Sean” Osawa

Atlassian

Developers Summit 2010

Page 2: Dogfooding and Agile Development

Picture Courtesy of Shunsuke Osawa / cc by

Sean OsawaPartner GroupAtlassian

Page 3: Dogfooding and Agile Development

アトラシアンとは?

Page 4: Dogfooding and Agile Development

オーストラリアのソフトウェア企業

2002年 創立

売上44Mドル(40億円)(2009年度)

社員数240名

本社:シドニー 

オフィス:サンフランシスコ、アムステルダム、グダニスク、東京

Page 5: Dogfooding and Agile Development

顧客: 138か国 15,600団体

Page 6: Dogfooding and Agile Development

MIKE & SCOTT

共同創業者兼 Co-CEO

大学卒業後22歳で起業

創業資金10,000ドル

Page 7: Dogfooding and Agile Development

コラボレーションツール

開発ツール

エンタープライズウィキ

バグ/課題管理システムアジャイルプロジェクト管理

コードレビューレポジトリブラウザーコードカバレッジシングルサインオン

CIサーバー

Page 8: Dogfooding and Agile Development

2002  アトラシアン創立

2003  JIRAリリース。売上1.3Mドル

2004  Confluenceリリース。社員数6人。アトラシアン顧客数1,000+

2005  US サンフランシスコオフィス設立

2006  Crowdリリース。 売上 10Mドル突破。

2007  Bambooリリース。Clover, Crucible, Fisheye 買収。 社員数100人。

2008  売上 35M ドル。顧客数 10,000+

2009  GreenHopper 買収。 売上 44M ドル。

Picture Courtesy of avlxyz

Page 9: Dogfooding and Agile Development

IDC 注目すべき10社革新的な

アプリケーション企業

2009 Crunchies テッククランチ

Page 10: Dogfooding and Agile Development

VC (ベンチャーキャピタル) からの投資無し

Page 11: Dogfooding and Agile Development

なぜ?

Picture Courtesy of Brian Hillegas / cc by

Page 12: Dogfooding and Agile Development

A DIFFERENT KIND OF

良い製品を手頃な価格 (affordable price) で提供

軽量なソフトウェア、just enoughな機能

伝統的なセールス部隊無し(製品自体が営業マン、クチコミ)

エコシステム(パートナー、デベロッパーの支援)

伝説的なサポート、課題管理システムの公開

オープンソースコミュニティ等に$12M以上のライセンス寄付

Page 13: Dogfooding and Agile Development

基本的価値観

Page 14: Dogfooding and Agile Development

アトラシアンのソフトウェア開発

Picture Courtesy of youngrobv (Rob & Ale) / cc by

Page 15: Dogfooding and Agile Development

2002年 アトラシアン創立

http://agilemanifesto.org/

2001年 アジャイルマニフェスト

Page 16: Dogfooding and Agile Development

スタンドアップ

継続的インテグレーション

イテレーション計画ユニットテスト

リリース計画

ふりかえり

リファクタリング テスト駆動開発

コードレビュー

ペアプログラミング

Picture Courtesy of Fabio Marini / cc by

インデックスカード

プログラムマネジメント

テクニカルライターテスト自動化

Page 17: Dogfooding and Agile Development

スタンドアップ

継続的インテグレーション

イテレーション計画ユニットテスト

リリース計画

ふりかえり

リファクタリング テスト駆動開発

コードレビュー

ペアプログラミング

Picture Courtesy of Fabio Marini / cc by

インデックスカード

プログラムマネジメント

テクニカルライターテスト自動化

Page 18: Dogfooding and Agile Development

ショートリリース

Picture Courtesy of Jonathanb1989 / cc by

市場動向をつかみやすいアジャイルを強要サブスリプションユーザーへの価値リリース予想

Page 19: Dogfooding and Agile Development

適度な緊張

無理をしなくてすむ

バグ修正に時間を使う

チームにとってのメリット

Picture Courtesy of wonker / cc by

チームの士気向上

Page 20: Dogfooding and Agile Development

CONFLUENCE 3.0 → 3.1

6月 7月 8月 9月 10月 11月 12月2009

Ver. 3.0 Ver. 3.0.1 Ver. 3.0.2 Ver. 3.1

Ver. 3.1Beta 1

Ver. 3.1Beta 2

Ver. 3.1RC1

Page 21: Dogfooding and Agile Development

ドッグフーディングhttp://www.dumpert.nl/mediabase/325071/6bb3c29d/time_warp_cirkelzaag.html

Page 22: Dogfooding and Agile Development

CONFLUENCE 3.0 → 3.1

6月 7月 8月 9月 10月 11月 12月2009

Ver. 3.0 Ver. 3.0.1 Ver. 3.0.2 Ver. 3.1

Ver. 3.1Beta 1

Ver. 3.1Beta 2

Ver. 3.1RC1

Ver. 3.1 Milestone 1

Ver. 3.1 Milestone 3

Ver. 3.1 Milestone 4

Ver. 3.1 Milestone 5

Ver. 3.1 Milestone 6

Ver. 3.1 Milestone 7

Page 23: Dogfooding and Agile Development

FAIL FAST!

Picture Courtesy of Freddy The Boy / cc by

Page 24: Dogfooding and Agile Development

社内ユーザーからのフィードバック

Page 25: Dogfooding and Agile Development

素早いフィードバックが重要

Picture Courtesy of wilkiecoco / cc by

Page 26: Dogfooding and Agile Development

パブリック JIRA

HTTP://JIRA.ATLASSIAN.COM/

• Bug

• Improvement

• New Feature

Page 27: Dogfooding and Agile Development

GOOD から GREATへ「クオーター毎のリリース」を目指す

Picture Courtesy of apdk / cc by

Page 28: Dogfooding and Agile Development

98日サイクル

Page 29: Dogfooding and Agile Development

98日サイクル

Page 30: Dogfooding and Agile Development

準備期間:作業

Page 31: Dogfooding and Agile Development

98日サイクル

Page 32: Dogfooding and Agile Development

準備期間:回答すべき質問

Page 33: Dogfooding and Agile Development

98日サイクル

Page 34: Dogfooding and Agile Development

イテレーション期間:作業

Page 35: Dogfooding and Agile Development

98日サイクル

Page 36: Dogfooding and Agile Development

各イテレーションの詳細

Page 37: Dogfooding and Agile Development

スプリント (イテレーション) 計画

Page 38: Dogfooding and Agile Development

98日サイクル

Page 39: Dogfooding and Agile Development

イテレーション期間:回答すべき質問

Page 40: Dogfooding and Agile Development

スタンドアップ

継続的インテグレーション

イテレーション計画ユニットテスト

リリース計画

ふりかえり

リファクタリング テスト駆動開発

コードレビュー

ペアプログラミング

Picture Courtesy of Fabio Marini / cc by

インデックスカード

プログラムマネジメント

テクニカルライターテスト自動化

Page 41: Dogfooding and Agile Development

Picture Courtesy of Fraserpeirs / cc by

同僚にコードを見てもらうと2つのうちのどちらかが起こる

Page 42: Dogfooding and Agile Development

FORMALITYによる区分Weigers, Karl E. 2002. Peer Reviews in Software

Page 43: Dogfooding and Agile Development

ベネフィット

★NASA向けソフトウェア

300インスペクション、$7.5Mドル削減

★ある大企業

年間 $2.5Mドル削減

顧客により発見された欠陥修正コスト

$2,900

インスペクションで発見した場合 $146

出典:Lightweight Tool Support For Effective Code Reviews by Karl Wiegers and Peter Moore Picture Courtesy of alancleaver / cc by

Page 44: Dogfooding and Agile Development

Picture Courtesy of foxypar4 / cc by

教育の効果

Page 45: Dogfooding and Agile Development

エゴ

熟練デベロッパーによる支配

レビューではなくプレゼンに

問題発見ではなく、問題解決ディスカッションに

ピアレビューの障壁

Picture Courtesy of onlinehero / cc by

Page 46: Dogfooding and Agile Development

Picture Courtesy of surprise truck / cc by

スケジュールや場所の確保

地理的に分散したチーム

プロセスにかかる経費

コードレビューの障壁

Page 47: Dogfooding and Agile Development

ミーティングの調整、記録など管理者の負荷を最小限にできる

入力する時間があり、記録に残るので非建設的なコメントがされにくい

非同期で実施できる

透明性がある

コードレビューツール利用のメリット

Picture Courtesy of jurvetson / cc by

良いツールは、レビューの量と質の両方を増加させる

Page 48: Dogfooding and Agile Development

アトラシアンではオンラインコードレビューを活用

Page 49: Dogfooding and Agile Development

レビューの設定

Page 50: Dogfooding and Agile Development

インラインでコメント

Page 51: Dogfooding and Agile Development

課題管理システムと連係

Page 52: Dogfooding and Agile Development

1. レビューするコードに関連する課題を読む

2. コード変更の構成を見る

3. 機能が動作しているか確認する

4. 変更を自身で行うことを考えてみる

5. レビュー終了時、提案リストをまとめ優先順位を付ける

FIVE TIPS FOR AGILE CODE REVIEWERS

Page 53: Dogfooding and Agile Development

TIPS BY WOJTEK

頻度:できるだけ頻繁に。 “継続的コードレビュー”

スケジュール:1日の最初、最後あるいはお昼

誰が?:同僚が一番。次にTech Lead

何人ぐらい:2−4人で十分。時には1人でも

ワークフロー:できるだけシンプルに

測定方法:それほど気にしない。少なくとも最初は

Page 54: Dogfooding and Agile Development

PEOPLE

Picture Courtesy of mcgrayjr of Atlassian

Page 55: Dogfooding and Agile Development

ダニエル・ピンク「やる気に関する驚きの科学」より

1. 20世紀的な報酬 - 狭い範囲でしか機能しない

2. If then 式の報酬 - クリエイティビティを損なうことも

3. 高いパフォーマンスの秘訣 - 内的な意欲

http://www.ted.com/talks/dan_pink_on_motivation.html

Page 56: Dogfooding and Agile Development

FEDEX DAY

Page 57: Dogfooding and Agile Development

人材への投資

http://www.atlassian.com/32/?s_kwcid=HM_32

Page 58: Dogfooding and Agile Development

クリエイティブ?

Page 59: Dogfooding and Agile Development

社員が誇れる会社

Page 60: Dogfooding and Agile Development

デモ

Page 61: Dogfooding and Agile Development
Page 62: Dogfooding and Agile Development

アトラシアンにおけるアジャイル開発

アトラシアンブログ

http://confluence.atlassian.co.jp/x/s4BS

http://blogs.atlassian.co.jp/

Page 63: Dogfooding and Agile Development

THANKS!