How do I manage a complex development workflow for my team?
Typically, a team of developers might have to share time to test their new features on a single testing server. From the beginning, Platform.sh branches are fully isolated and live environments, which in affect makes every branch into its own test server. Each branch inherits settings and data from its parent, and you can resync data at any time while you're developing. When you push to that branch, no other environments are affected. Then when you want to submit those features, each environment gets its own domain for review. Try out your changes and send that URL to your client. Each environment is completely isolated from the very beginning. When it's passed all inspection, merge the new feature into its parent from either the command line or in your management console. Then when you're ready to take the feature live, merge into master. On these fast-forward merges, the exact same image is deployed to production whose deployment you've just tested. That way, you'll always know it's safe to deploy, even on Friday.