You have an idea for a web application, you can imagine how it is supposed to look and work and you "only" need to find a trustworthy partner to turn your vision into a functional tool. So, you verify the competences and experience of various software houses and once you have chosen your favourites, you ask them to provide a price estimate for your project. And here the things get tough.