« アジャイル開発は常識だ | トップページ | 【公開】未発表資料「チケット駆動開発におけるEVMの考え方」 #RxtStudy »

2013/02/14

【公開】チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ #devsumi #devsumiB

デブサミ2013のセッション14-B-5「チケット駆動開発の本質」で講演した資料をCCアトリビューションライセンスで公開します。

タイムテーブル:Developers Summit 2013

今年のデブサミは参加者がとても多かったです。
関係者の方に聞くと、今日だけで2500人もの開発者が訪れたらしい。
10時前の開演時には、300メートル近い長蛇の待ち行列が並びました。

今回の講演では@sakaba37さんと、4年以上に渡るチケット駆動開発の経験を元に、チケット駆動開発の本質と今後の方向性について語りました。
僕は、現場の経験知や暗黙知として流通しているノウハウをパターン言語という形式知にまとめて、再利用できるようにするだけでなく、チケット駆動開発の本質に迫りたいと考えています。
今回は、そのアイデアの一部を披露しました。

また、パターン言語以外にチケット駆動開発を使って考えていることは、GitやMercurialを使った構成管理との連携です。
今日の講演で興味深かったのは、【14-A-7】ソーシャルコーディング革命後の開発委託の世界~QA@ITの事例です。
キーワードはGitHubが生み出した「ソーシャルコーディング」。

Gitは分散バージョン管理ツールという側面だけでなく、pull requestというマージ手法によって、オープンソースで広く流通しているパッチの取り込みをメールベースではなくWeb上で行えるようにした点が大きいです。
その意味は、コミッタとユーザないしコントリビュータという一方的な権力関係ではなく、開発者はいつでもフォークしてパッチを好きなように作り、そのパッチをコミッタへマージしたいという意志をpull requestという手段を通じて表明する点にあります。
この手法によって、ソフトウェアを開発する関係者がコミッタだけでなく、ソフトウェアを利用するユーザも巻き込んで開発できるようになり、「顧客を巻き込んで開発する」アジャイル開発の流れにも沿っています。

Twitter / iR3: しかしソフト開発には今ふたつの踏み絵があるな。ひとつはGit ふたつめはGithub まだまだGit以前のところが沢山存在する。周回遅れの自覚はあるのかな? #devsumi #devsumiB

Twitter / hamukazu: 数年ぶりにデブサミ出て1日目の感想。前回出席時にもましてエンタープライズ系とウェブ系の技術の差が激しくなってる印象。#devsumi - エンプラ系:頑張ってテストを自動化しました(ドヤッ - ウェブ系:JenkinsでCIとか、朝起きて歯を磨くみたいな話ですよね 大体こんな感じ

チケット駆動開発の文脈では、trunkからのフォークは、トピックブランチないしフィーチャブランチであり、それはチケット単位でもあります。
そしてpull requestされてトピックブランチが終了する時、チケットもCloseされるという運用になります。

チケット無しでフォークやプルリクエストは許さないというチケット駆動の新しい運用方法: プログラマの思索

この手法の利点は、チケットとブランチが密接に絡むことによって、チケット駆動開発の効果の一つであるトレーサビリティを強化できることもあげられます。
Jiraでは、フォークとマージの時点でチケットを自動的に登録したり、完了できるような仕組みがあるようで、興味深いです。

バージョン管理という枯れたツールが、ここ数年大きく開発現場を変化させている事実を痛烈に感じました。

|

« アジャイル開発は常識だ | トップページ | 【公開】未発表資料「チケット駆動開発におけるEVMの考え方」 #RxtStudy »

Agile」カテゴリの記事

Git・構成管理」カテゴリの記事

IT本」カテゴリの記事

Redmine」カテゴリの記事

ソフトウェア工学」カテゴリの記事

チケット駆動開発」カテゴリの記事

パターン言語」カテゴリの記事

プロジェクトファシリテーション」カテゴリの記事

プロジェクトマネジメント」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« アジャイル開発は常識だ | トップページ | 【公開】未発表資料「チケット駆動開発におけるEVMの考え方」 #RxtStudy »