git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Heiko Voigt <hvoigt@hvoigt.net>
To: Christofer Jennings <boz.lists@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Sanity Check: scrum teams, shared 'story branches', rebasing shared branches
Date: Sun, 10 Jun 2012 17:48:12 +0200	[thread overview]
Message-ID: <20120610154810.GA2427@book.hvoigt.net> (raw)
In-Reply-To: <3EA7D039-9D6E-4945-A982-43DB53AAE43A@gmail.com>

Hi,

On Sat, Jun 09, 2012 at 04:51:28PM -0700, Christofer Jennings wrote:
> I've been using Git and GitHub for ~6 months. Working on a SCM plan
> for a Scrum project with 50+ developers in ~8 dev. teams. Each team
> will be working on one or two stories simultaneously, so expect ~16
> 'story branches' (and master) at any given time. We've got GitHub
> Enterprise and are working out how to manage story development on
> shared branches that get merged to master only after going through
> acceptance & peer review. We hope stories will only be 3 - 5 days to
> complete, but may take 2 weeks. We're promoting frequent pushes to
> story branches.
> 
> After a number of experiments and doing online research, we're
> thinking to use rebase to keep the story branches up-to-date with
> master while the story branches are in development. This seems to be
> the best approach because it will allow us to use bisect to isolate
> issues, and it will give us the most linear history graph. 

In my experience rebasing branches does only work seamlessly when one
developer (or one machine for a pair programming setup) is working on
the branch being rebased. Having a one branch per story for multiple
developers which will be frequently rebased sounds like it will
introduce a lot of branch management work.

IMO, even though branching and merging is cheap in git the goal to merge
as early as possible still applies. Having long lived seperate branches
has the potential to introduce a lot of conflicts.

If you are doing scrum you probably will divide the user story into
tasks. I would suggest to do short task branches which can be reviewed
and merged into one main branch (probably master) after one or two days.
That way you minimize the risk of a big integration hell when all teams
want to merge their changes after their story is done.

Just my ideas how things can work best.

Cheers Heiko

  parent reply	other threads:[~2012-06-10 15:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-09 23:51 Sanity Check: scrum teams, shared 'story branches', rebasing shared branches Christofer Jennings
2012-06-10  4:35 ` Michael Witten
2012-06-10 15:48 ` Heiko Voigt [this message]
2012-06-14 14:32 ` Christofer Jennings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120610154810.GA2427@book.hvoigt.net \
    --to=hvoigt@hvoigt.net \
    --cc=boz.lists@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).