Programming Fun

I was talking to one of our developers last week and he made a comment that didn't strike me until yesterday. He said he was actually having fun again! This made me realize that by placing responsibility for tasks in the correct hands, everyone can better enjoy their jobs. I recall other projects where the development team was given high level guidelines and left to it. Everything was fine until we got done with the "fun" stuff and were trying to make decisions about features etc, where we didn't have the slightest clue. The developers were working on whatever they wanted, and not much was getting accomplished.

Eventually the PM took on the role of the customer (more as a survival thing than anything else) and the project was delivered on time. Less than 2 years later the ~$1Million project was turned off, the hardware wiped and realocated. Mostly this was because it was a mandated project managed by a team of individuals working for different competing groups with no compelling interest to cooperate. But, we were not having fun and I believe this was because the "customer" wasn't taking responsibility for their tasks.