I've been working on a project for almost a year now as the Project Manager. Initially, it was just myself. Over time, several others have been engaged in the project on a much smaller scope.
The project is relatively heavily modularized, primarily to accommodate this type of an environment.
In my experience, I really appreciate when people share creative control. It makes you feel like you're an important part of the project, you're contributions are more than just repetitive to-spec coding, and you get to have a little fun playing around with ideas. As such, I try to grant those I work with a heavy amount of creative control on their parts of the project.
I'm beginning to think this is back-firing on me because there are some tasks, which should be relatively simple, that are turning out to be huge burdens because of the amount of discussion expected. I don't want to be a project dictator but when we are in "crunch time" and somebody goes off on a tangent with an idea and reports back that he doesn't think my solution is ideal, I find myself becoming aggravated. I am almost always an extremely laid back person so this is surprising to me. I don't let my professionalism slip and try to hide any negative notions to keep everyone happy.
Many of these issues are more related to "personal taste" (think Design) than a technical, provable problem. As Project Manager, I am really dealt the burden of making sure this project is completed successfully. Overall, I just want to find a way to balance letting my fellow programmers have fun and enjoy their work but also move forward faster than a snail's pace.
Can anyone recommend some ways to establish a balance between letting the developers enjoy themselves while continueing to push out a product I feel comfortable delivering?