Some of these steps seem very restrictive for no clear reason.<p>> 3. Do all employees deploy code on their first day?<p>You want to make sure that deployment is simple and streamlined enough that it's possible for a new employee to do it on their first day. That doesn't mean that you're doing it wrong if the receptionist doesn't deploy anything.<p>> 11. Do you discourage the use of IDEs?<p>You want to make sure that the code is easy to work, whether you're using Eclipse, vim, or whatever. So make that your goal. There's no clear purpose to be served by nagging people for using XCode if that's what they're most productive in.
> 11. Do you discourage the use of IDEs?<p>Surely it would more beneficial to mandate a build platform that is IDE agnostic and leave the choice of IDE to the individual developer preference.
3 is somewhat dependent on your system and customer base.<p>Not every product can just throw code out. For us, any changes that modify the database schema need to be thoroughly tested before going live. We simply can't leave that judgement up to someone on their first day.<p>However, being able to build a development or production environment in one click is a goal for us. If nothing else, it would save us time were someone to accidentally wipe their machine.
In your first post, you say that github only deploy from one branch.<p>I can't find the post offhand, but they now deploy feature branches, and only merge to master <i>after</i> deploying it, at which point they release their "shipping lock"