Elicitating the real needs of customers is the most challenging part for me within a software development process. The concept of Domain Driven Design (book by Eric Evan) helped me a lot to decode the language of the customer and transform it into an object model.