26
Summit Developers Developers Summit 2013 Action ! チケット駆動開発の本質 ・ 挑戦の道具としてのチケット駆動開発 ・ チケット駆動開発のフレームワーク 小川明彦 NRIネットコム(株)、XPJUG関西 副代表 14-B-5 #devsumiB 阪井 (株)SRA、ソフトウェア技術者協会、RxTstudy

挑戦の道具としてのチケット駆動開発(デブサミ用短編)

Embed Size (px)

DESCRIPTION

デブサミ2013発表資料(14-B-5)「挑戦の道具としてのチケット駆動開発」 #devsumi #devsumiB 後半の小川さんの発表はこちら http://www.slideshare.net/akipii.oga/devsumi-ogawa-20130214

Citation preview

Page 1: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

Summit

Developers

Developers Summit 2013 Action !

チケット駆動開発の本質 ・ 挑戦の道具としてのチケット駆動開発

・ チケット駆動開発のフレームワーク

小川明彦 NRIネットコム(株)、XPJUG関西 副代表

14-B-5 #devsumiB

阪井 誠 (株)SRA、ソフトウェア技術者協会、RxTstudy

Page 2: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

挑戦の道具としての チケット駆動開発

株式会社SRA 阪井 誠

Page 3: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

自己紹介 • 阪井誠(さかば、Twitter: @sakaba37)

• ソフトウェアプロセス、チケット駆動開発(TiDD)、 アジャイル開発に興味を持つ「プロセスプログラマー」

• 研究開発から現場まで、論文、書籍、雑誌など

3

Page 4: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

4

TiDDの基本、 障害管理、

構成管理、 Mantisの運用例、

障害管理からTiDDへ、

プロジェクトを成功に導く、

アジリティの向上、 アダプタブルWF開発、

アジャイルブームを超えて、 高度な運用方法、

FAQとアンチパターン集、 テーラリング、 用語集

本の内容と発表内容

Page 5: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

質問

Q: 新しいソフトウェアを開発してますか?

A: ソフトウェア開発とは、未だ実現されていない ものを世に生み出す仕事です

– 新しいインフラ

– 新しい仕様

– 新しい品質

ソフトウェア開発は、常に挑戦!

5

Page 6: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

ソフトウェア開発は常に挑戦

• 環境、フレームワーク、ユーザーインタフェース、ビジネスは日々変化している

• 開発中にノウハウ、アイデア、気づきを蓄積し、共有し、活用しないといけない

解決法の一つとして、チケット駆動開発を挑戦の 道具として活用する方法を提案します

6

Page 7: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

挑戦の道具としてのチケット駆動開発

• 挑戦時の履歴をその後の開発につなげます

• 開発者の気付きをチケットに記録します

• 協調作業を支援してプロジェクトを活性化します

7

ハーケン(釘) カラビナ(止め具) ザイル(ロープ)

Page 8: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

発表内容 • モチベーション

– ソフトウェア開発は常に挑戦

• チケット駆動開発 – チケットによる管理

– ツール連携による自動化

– チケットによるコミュニケーション

• 挑戦の道具としてのチケット駆動開発 – 挑戦の道具に必要なもの

– チケット駆動開発のテーラリング

– 注意すべき点

8

Page 9: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

チケット駆動開発

• ITS(BTS)のチケットで障害、課題、タスクを 管理して個人のタスクとプロジェクトを管理する

• 構成管理、Wiki、継続的統合などツールを チケットに連携させて自動化する

• プロジェクトの情報をチケットに関連付けて 管理することで、コミュニケーションを支援する

9

Page 10: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

チケットによる管理

チケットシステム(ITS)

親チケット

継続チケット

関連チケット

プロジェクト

障害・課題・タスク

ステータス

種類とロール毎のワークフロー

レポート、カスタムクエリ、

ロードマップ、ガントチャート等で参照できる

Page 11: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

チケットによる管理

チケットシステム(ITS)

親チケット

継続チケット

関連チケット

プロジェクト

障害・課題・タスク

ステータス

種類とロール毎のワークフロー

レポート、カスタムクエリ、

ロードマップ、ガントチャート等で参照できる

ユーザ権限(ロール)と

チケット種類(トラッカー)ごとに

ステータスの現在・移行先を指定する

ステータスの移行先

現在のステータス

Page 12: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

ツール連携とチケット

リビジョン リビジョン リビジョン リビジョン

バージョン管理

CIツール チケットシステム(ITS)

親プロジェクト

親タスク/ストーリー

タスク

継続タスク

関連タスク Wiki

プロジェクト

ステータス

チケットの種類とロール毎のワークフロー

参照

実行結果

チケット 参照

連携

参照

連携

構成管理、Wiki、CIツールなどを チケットに連携

Page 13: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

チケットによるコミュニケーションの支援

リビジョン リビジョン リビジョン リビジョン

バージョン管理

CIツール チケットシステム(ITS)

親プロジェクト

親タスク/ストーリー

タスク

継続タスク

関連タスク Wiki

プロジェクト

ステータス

チケットの種類とロール毎のワークフロー

参照

実行結果

チケット 参照

連携

参照

連携

議論や更新を

メール、RSS、

プラグインで

通知できる

Page 14: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

チケット駆動開発の効果

ツールを有効活用してプロジェクトの負担を減らす

>>> ツールが想定するプロジェクトに近づく

過去:

– 履歴の蓄積(経緯の確認、ノウハウの利用)

現在:

– 障害、課題、タスク、実行結果の管理

– 情報共有、自動化、コミュニケーション

未来:

– 計画、備忘録、リスクの見える化

14

Page 15: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

発表内容 • モチベーション

– ソフトウェア開発は常に挑戦

• チケット駆動開発 – チケットによる管理

– ツール連携による自動化

– チケットによるコミュニケーション

• 挑戦の道具としてのチケット駆動開発 – 挑戦の道具に必要なもの

– チケット駆動開発のテーラリング

– 注意すべき点

15

Page 16: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

挑戦の道具に必要なもの

• 新しい環境、実装方法、アプリケーションに挑戦するには、以下の点を考慮しないといけない

– 気づいたことが共有されること

– 少ない経験が蓄積されること

– 蓄積した経験が生かせること

ふさわしいチケット駆動開発の運用方法が必要

16

Page 17: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

テーラリング1:

気づいたことが共有されること

• チケットが容易に起票できるようにする

– 起票の権限をメンバーに与える

– ワークフローの制限を少なくする

• チケットの種類や属性を増やしすぎない

– 考えなくてよいようにする

– 記入項目を減らす

• リアルタイムに共有してモチベーションを高める

– メール、RSS、Eclipse 用のMylynプラグイン

– コミュニケーションのタイムラグ減ると利用が増える

17

Page 18: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

テーラリング2:

少ない経験が蓄積されること

• チケット駆動を習慣づける

– 基本的な教育

– メリットを感じさせる

– 備忘録としての利用

• 利用に向けた支援

– カスタムレポートの用意など環境整備

– アドバイスを目的としたチケットの棚卸し

– ルールの整備 (“No Ticket, No, Commit!!”をどこまで守るか、など)

18

ハーケン(釘) カラビナ(止め具) ザイル(ロープ)

Page 19: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

テーラリング3:

蓄積した経験が生かされること

• 経験の種類に応じて整理する

– 一度だけの作業はチケットを起票する

– 手順やチェックリストはWikiにまとめる

• 書きっぱなしのチケットを防ぐ

– 完了条件を明確にする

– 適切な棚卸しをする

• 発想力・提案力の向上

– 棚卸しの頻度を増やしすぎない

– 自律的なチーム

19

Page 20: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

自律的なチーム

• サーバントリーダーシップ

– コマンドコントロールをやめ、 メンバーが能力を生かせるように支援する

• マクロマネジメント

– マイクロマネジメントをすると依存するようになり、 自律性が失われる

• 濡れぞうきんはしぼらない

– 本田宗一郎氏がIIJ鈴木幸一社長に送った言葉

– ガチガチの管理からは柔軟な発想は生まれない

20

Page 21: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

21

注意すべき点

• ルーチンワークでないと登録やチェックを忘れがち

⇒ 粒度を小さくしてリズムを生む

• 棚卸で実施漏れが防げるが自主性も大切!

⇒棚卸のバランス「チケット見てる?」

• クローズしにくいもの (担当がない、チェックリスト的)

⇒課題、リスクに多い。棚卸し、 Wikiを利用する

• 気が付かないことは実施できない

⇒ 自由な雰囲気、経験者への依頼、情報収集

Page 22: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

おわりに

• ソフトウェア開発は常に挑戦!

• チケット駆動開発

– プロジェクトの情報を集中管理

– 自動化やコミュニケーションの支援ができる

• 挑戦の道具としての利用

– 気づきや経験を蓄積して活用

– 自由で自律的なチーム作りが重要

=> ぜひ皆さんも活用してください

22

Page 23: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

I suggest your Next Action!

Page 24: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

24

チケット駆動開発で共に挑戦しよう!

どんな危険があるかを確認し、

道具を準備して使いこなし、

仲間と助け合って制覇しよう!

Page 25: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

It’s your turn.

Page 26: 挑戦の道具としてのチケット駆動開発(デブサミ用短編)

挑戦の道具としての

チケット駆動開発

おわり