I'm a relatively new CTO at a small startup (about 15 employees). We have a 4 person engineering team that I'm responsible for (and looking to hire more). Other departments include operations, customer service, sales, marketing, etc.
Prior to my joining of the company, there were a couple of people that are no longer employed with us that completely abused work from home and flex times (were clearly underperforming/checked out, etc).
My engineering team was (were?) hired by me and so far they've been great -- accomplishing more than expected, dealing with a LOT of technological debt without complaint (who loves dealing with and refactoring really bad code?), and have come in with a very positive attitude. The one thing is, some of the developers (including me!) don't always show up on time or work from home. Personally, my wife has been going through some health issues recently and I've had to help out more at home, take kids to school, etc. One of the developers I've worked with previously and even back then he was chronically late (he goes to the gym before work, and has other rituals).
Our CEO rightfully is not comfortable with WFH/flextime after his previous experience (and he's previously from more corporate/traditional office environment). We've discussed this matter back and forth (and prior to the hiring of the team I shared his opinion re: punctuality, etc). However now that I have a few developers and have seen their work, their effort and they've earned my trust I do not care when/if they show up to work.
So far, it's been a relatively unspoken issue, but I do want to be prepared in case it's brought up or even bring it up myself. The second problem is that for the most part due to the nature of the roles, pretty much only the engineering team can afford not to be physically present at work.
I would love to have a formal policy re: flex time and work from home, but how do I manage the fact that others in the company will not be eligible (or other managers will likely not want for their team)?
The other thing to note is that we have a very open office environment (which I do not like for developers in general and has been brought up as an issue by one of the developers), and while we're looking for a longer term solution for the dev time (maybe renting out additional space just for the developers, etc), I do like them having the opportunity to work at home with less distractions. However the open office nature and small size of the company also makes it very apparent when/if people are coming in.
We use Slack, a pretty good ticketing system, email, hangouts etc so there hasn't been a problem with communication, etc.