Rapid prototyping and user testing are essential; focus on getting a functional prototype out quickly, using tools to create clickable mock-ups or writing throwaway code to test ideas with users, as building a fully functional product before testing can be an expensive mistake.