マージ処理はコードを理解すべきである~チケット駆動開発の発展形
InfoQにマージツールの記事があったのでメモ。
【元ネタ】
関数を理解するマージツール
これは凄い。ソースコードを理解するマージツール「Semantic Merge」 | ソフトアンテナブログ
彼らの動機としては「優れたブランチは優れたマージから」という信念がある。
つまり、「タスクごとのブランチ」の考え方(トピックブランチ、フィーチャブランチなど)を強く支持しているが、結果的にブランチが乱発されてしまう弱点があり、もっと良いマージ機構が欲しかった、と。
だから、「マージ処理はコードを理解すべきである」という方針で、ツール自身がマージをサポートしてくれればいい、と。
Eclipseがリファクタリングをサポートしているように、ツールでもっと簡単にマージをサポートしたいのだろう。
彼らは、タスクごとにブランチ(Branch per Task)というブランチパターンを支持している。
つまり「イシュートラッカ(ITS)上のタスク単位で作業用のブランチを作る」アイデア。
イシュートラッカ(ITS)のエントリ(チケット)はひとつの変更、ひとつの新機能(バグ、機能、課題など)ごとに作られるから、それぞれにブランチが作られることになる。
この考え方は、ITSのチケット単位にタスクブランチ(トピックブランチ)を作ることと同義だ。
「チケット無しにフォークを許さない、マージを許さない」発想につながる。
この手法の利点は、真の並行作業になることから、trunkの品質を維持でき、新機能開発のためのコードフリーズがなくなるため、もっと素早いアジャイルな開発が実現可能になることだ。
ブランチとマージは表裏一体にある。
マージ機構がもっと強力になれば、ブランチがたくさんあっても構わない。
いつでも最新の機能、障害修正を取り込むことができる自信があれば、いろんな発想を実験したり、何度でもやり直しを行うこともできる。
つまり、真の意味での反復型開発をサポートするわけだ。
Gitが提供した強力なマージ機能とブランチ管理機能によって、XPが提唱したソースの共同所有というプラクティスを強力にサポートして、アジャイル開発の敷居をどんどん下げている。
開発インフラという技術がようやく時代に追いついてきたと実感している。
| 固定リンク
「Agile」カテゴリの記事
- 「プロエンジニアになるための「アジャイル開発」再入門」が素晴らしい(2018.04.04)
- カイゼンジャーニーの感想~アジャイルサムライの再来かな(2018.03.22)
- アジャイル開発とウォーターフォール型開発の違いについて再考(2018.03.21)
- アジャイル開発にはモデリングや要件定義の工程はあるのか、という問題とその周辺(2018.01.01)
- AgileTourOsaka2016の感想~エバンジェリストは市場を作る人である(2016.12.05)
「Git・構成管理」カテゴリの記事
- チケット管理システムは作業の構成管理と同じ(2017.04.03)
- 気象庁の数値予報課におけるRedmine利用事例(2017.05.22)
- セマンティック・バージョニング、チームの依存関係のメモ(2017.08.20)
- ソフトウェアの複雑性は本質的な性質であって偶有的なものではない(2017.05.05)
- 第12回東京Redmine勉強会の感想 #redmineT(2017.05.14)
「Redmine」カテゴリの記事
- Redmineの直近の課題~競合ツールGitlabに対抗できるか(2018.04.25)
- AstahのRedmine連携プラグインが公開されました(2018.01.18)
- 複数Redmineの内容を一つのRedmineに集約して見る方法(2018.03.16)
- RedmineもOSLC規格を導入してトレーサビリティを強化すべきか(2018.03.12)
- Redmineをもっと強化できるポイントpart1~上流工程のトレーサビリティ強化(2017.11.30)
「ソフトウェア工学」カテゴリの記事
- SwaggerでWebAPIドキュメントをExcel仕様書から脱却するアイデア(2018.03.29)
- 製造業の品質管理の背後にあるSDCAという考え方をソフトウェア開発に適用できるのか(2018.03.23)
- 静的ジェネレータを使ってExcelマニュアルをWeb公開するアイデア(2018.03.21)
- 安全性解析手法STAMP/STPAセミナーの感想(2017.12.27)
- テスト消化曲線とバグ発生曲線のパターン診断(2010.02.28)
「チケット駆動開発」カテゴリの記事
- 第18回Redmine大阪の感想 #RedmineOsaka(2018.02.04)
- 気象庁の数値予報課におけるRedmine利用事例(2017.05.22)
- チケット駆動の罠~複雑さはチケットの粒度に関連している(2016.12.28)
- Redmineのアンチパターンは2種類に区別できるのではないか(2018.02.21)
- 第13回東京Redmine勉強会の感想~『Redmineの今と未来』 #redmineT(2017.11.19)
コメント