Often, for us, information and requirements are constantly evolving which we counteract by having a very business oriented development team. It's not an easily scalable solution, but it has been effective to have a developer who understands the business involved in the process start to finish to try and bridge the gap between user requirements and actual requirements of a working solution.