Field studies and usability testing are some techniques that can be used when you want to discover novel needs and not just minmax existing implementations. Shit is hard because it takes tons of work and you have to have the organizational maturity to accept difficult changes.