Art of software development

I just got out of a 5 hour meeting with the owner of the company that I
work for.  Among many discussions, we had one about the art of
coding.  The current mindset is that people who work with software
should be treated the same as people who stamp widgets.  By that,
I mean that they should be expected to work 8-4:30 and put in overtime
if you’re behind schedule.  What we tried explaining was that it
actually hurts performance if you force software developers to work
more hours (without pay).  If you give them more freedom in hours,
the chances are pretty good that they’ll end up working more than 40
hours anyway. 

But we came to a conclusion that working on software is similar to
writing music.  Sometimes you’re just in a zone and are very
creative.  Other times, you’re not.  Putting in more time
doesn’t necessarily mean that you’ll get that much of a return. 
In fact, it could work against you.

So through that, we realized the value of a product plan.  With a
product plan, you’re accountable for features, etc by certain days…
If you get them done, great.  If not, then you put in extra time
to get them done.  All without forcing hours or anything.