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