The Beta Question

August 19, 2016

Front-Loading Suffering vs Back-Loading Suffering

I’m on a team starting a new and exciting project at work, and hitting the “new project” button for a release that’s scheduled in the 4-5 months leads to a very interesting question: “Do we start the project in Swift 3?”

In two months (or so), this will be a foregone conclusion as Xcode 8 will be out of beta and Swift 3 will be in a released state. Right now, the question is a bit trickier, I’m not a huge fan of doing production work in beta software, but there’s a long term win in starting the code base in Swift 3, plus the core data code generation, among other tools, are likely to be a solid win for reducing turnaround time in our foundation code.

That needs to balance against potential lost effort until the beta ends due to higher than usual Xcode instability, potential feature churn, and churn within any external libraries waiting for Swift 3 ports.

I’m not 100% sold on either direction, and I’m not the only developer involved in decision, but I’ve been debating the pluses and minuses in my head in preparation for the debate that will be happening before we hit cmd-shift-n.