It can be cost effective if there is currently no way to fully monetize the full productivity of the team, and the company is trying to survive without lay-offs.
The only issue is that if you have a valuable workforce that has the option to leave instead of desperately needing the job, you need everyone's buy-in, or at least full understanding of the circumstances.
Apparently that hasn't been done, which is incredibly stupid, especially in such a relatively small company, but not uncommon.
A simple alternative would be to let one programmer go, and start hiring again when business picks up. However, once you go down that road, it's a lot harder to rebuild the team again. With that as the alternative, it shouldn't be too hard to sell, at least not in the short term.