9 When Not to Experiment

Never have a vital part of your product cycle (such as the build system) written in a niche or noncore technology, especially if only one developer knows it. Use a technology that anyone in the shop can configure and maintain. Technology playgrounds are fine, and necessary for professional development, but this isn’t the place for them. Experiments must exist outside of the critical path.[17]

In one startup, the build script had been written in a new language; it was a learning project for the developer who wrote it. Worse, it was a general-purpose scripting language, not a build system. It contained more than 25 pages of spaghetti code that used every possible obscure language feature. Needless to say, the code was ...

Get Ship it! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.