Docker, especially combined with Compose. It allows you and your team to start a stack of micro-services easily (just share a file and voila). Plus it's blazing fast compared to Vagrant.
I would not use Puppet on a development environment if you have access to Docker/Vagrant, though I've used it in production environment and it's pretty good.