Too often companies and IT departments believe that they know what software they should create. However users often need and want something different than you believe, even if you’re a domain expert yourself. My colleague and dear friend Ivar had exactly this experience when designing a meal planning tool for his girlfriend and himself. He knew everything perfectly – the previous tool they’ve used (a paper on the fridge), the problem domain, the users. Yet the first prototype tested did not at all match the ideas of what he thought was needed.
If the best possible expert isn’t able to predict user needs even in such a simple domain, how can we, in our real-world and large-scale projects? Thus – unless you are in Henry Ford’s shoes – you have to experiment and learn what the real need and value is based on actual users. The Lean Startup methodology provides many useful ideas and tools for making your assumptions explicit and verifying them as quickly and as cheaply as possible (f.ex. the lean canvas) so that when you finish your product, it will likely be something pretty different from what you conceived but it will be needed, liked and used.
Don’t be mislead by the name lean startup – the methodology is equally valuable for established companies that need to innovate (which is, in IT, basically everybody).
Recommended books: Lean Startup, Running Lean.