On mobile there are a variety of MDM services so you can almost do this for phones, but there isn't much for the SMB market for desktops/laptops. In the Microsoft world there are some tools, but even those are generally too much work for a small business to set up (even a non-tech business with 100 employees isn't likely to do it, at best they'll have ghost or something to image new machines -- a tech business might after 25-50 employees)
Rather than maintaining all this enterprise stuff to fight off the Windows tar-pit of viruses and dreaming of a day of MS Office on Linux, why don't you switch to Macs which require no such special effort to stay virus-free and already have MS Office available?
Am I missing something here?
For a 5-25 person SMB, there's not a full-time IT guy who could set it up. At best, there's a desktop support/printer/office manager type. At a tech company, you might get lucky (or unlucky) and one of your devs or site-sysadmins spends much of his time setting stuff like this up.
ARD is pretty weak compared to MS SCCM, and super-weak compared to something like AirWatch or Zenprise (MDMs).
I am so glad to see this as an alternative to the tools that Apple has been neglecting since they stopped trying to sell server hardware.
It can easily create thin images for setting up new machines (make a small base install and then give the computer applications X Y and Z), package software and remotely deploy it to computers, create rules to push out new versions of software to computers, etc. You can set up self service so that users can browse a general store of applications but you can also assign applications to specific computers. They handle iOS devices now too, and their community is great. It also has SCCM and Altiris plugins, but I haven't used either of those features.
I guess how useful it is for a sysadmin would depend on whether changes are pushed automatically to the macs.
Github is large enough that they should have in-house IT looking after the desktops/internal network. They might even have two teams, one looking after employees, and one looking after the server infrastructure.
Start-ups grow organically, so there might not be "someone" at first, other than the developer. This quickly turns into a burden when you have 50+ employees running around and warranties start to lapse, there is no current inventory list, you have a mish-mash of machine configs. Then comes the stage of getting a consistent config on each machine, so that person X and person Y can collaborate, using the same dev tools, at the same rev level. Looks like Puppet/Boxen is a tool to solve that problem.
This problem is compounded when you are in a hiring frenzy, because new people almost appear out of thin air, and you are supposed to have a machine for them. Having a quick deploy script will save your hair line considerably.