On Dec 10, 2013, at 6:04 AM, Appa Rao Mulpuri <appar...@ivycomptech.com> wrote:

> Imagine we have release cycle for every two weeks, but need to build a
> feature that's going to take three months to complete. How do you use
> Continuous Integration to keep everyone working on the mainline without
> revealing a half-implemented feature on your releases?

When I worked at Google, one of the teams I was on used this approach. IMHO it 
was nuts. When you’re working on the long-pole feature you have to walk on 
eggshells — you can’t refactor anything, and you have to implement your code 
really awkwardly, as though you were splicing into someone else’s program that 
you can’t modify. It led to really ugly design. Worse, if you slip up at all, 
you break the shipping version of the app.

I think it’s much better to use branches, and keep experimental/unfinished code 
completely out of the version you’re shipping, instead of trying somehow to 
hide it.

(I also think 2-week release cycles are a terrible idea, but that’s off-topic. 
Sorry if this sounds like a rant or flame bait; I really, really hated working 
on that website and was kind of scarred by the experience. I’d hate to see the 
same ideas sneaking into native app development too.)

—Jens
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to