Usually these days, this is the basically done by autoscaling -- but that refers more to container instances running within some container environment such as Kubernetes (its a common feature in such environments).
You don't say whether these machines are hardware or virtual. If they were hardware machines, one somewhat classical solution would be to migrate to a virtualised environment (perhaps reusing the servers and improving server density and likely reducing server count), which would allow you to hot-migrate guests onto fewer hosts when fewer hosts are needed. I imagine VMWare probably already has tooling that does this already.
But you have said that this is a development environment, and so I offer you a couple of potential solutions.
1) Have something that simply shuts them down and starts them up on a schedule; whether the shutdown is activated via the likes of cron or some other enterprise job schedular is up to you; and you may not have access to start up the machines remotely. One consideration you need to factor is that you will want the machines to be available for patching and policy updates. A schedule would make for more consistent user expectations too. If hardware, BIOS settings could be used for booting, or a script against your/their virtual environment.
2) As this is a development environment, you could take a look at Vagrant, and move from one (presumably shared) development environment to one on each developers workstation... this is likely to be more of a shift than you would be prepared to make though. There is a bit of a learning curve, and you may need to increase resources available to developers, but your developers might jump at the chance, depending very much on how much you might want to embrace the concept of Infrastructure as Code (IaC) for repeatably provisioning environments.
...
3) Depending on your environment and the nature of the development system... I could imagine a HTTP load-balancer that when all member-servers were down, would redirect a client to a page that gave them the ability to request the environment be started.
Hope that gives you some fruitful ideas.
Cheers,
Cameron