I love our product, AceProject. I have unwavering faith in the system as it is now, and its potential in the future. When the whole gang here sit down to have lunch, I really like to dream up the future's AceProject together. To share our vision of what AceProject could be in five years.

And it's all good.

Because the team and I know what can really be done, and how much of our dreaming is just dreams. When we sit on the next version planning meeting, things get more practical: what CAN we do? True, we could recode the entire system, but that would mean no new features for our users for a long time. That would make our users unhappy.

We need to balance both the expectations of people who use AceProject everyday, and the expectations of the visionaries we have on the team. Our clients expect us to release new features at least twice a year. Our dreamers on the team (and I am one of them) expect AceProject to kick butt.

The thing is, AceProject can be great and be updated often. We simply need to manage expectations on both sides that push development.

How do you manage expectations in your project?