The key to involving users is to take an iterative approach. Each iteration is an opportunity to bring in real users and evaluate different aspects of the evolving product.
Early iteration prevents major architectural decisions from leading the development down erroneous and costly paths. Iteration should start as early in the development cycle as possible, with lo-fi prototypes, often pencil and paper designs that can be changed quickly. If a physical product is being designed, then card, foam, or plastic models should be built to test acceptability of size, weight, and shape and to ascertain the location of main components.
One potential downfall is that with iteration it is difficult to know when to stop. Each iteration must be focused on a desirable target and should improve the design. Usability metrics are the key, derived from an understanding of the users' priorities, the main tasks they will carry out, and the desired productivity. Even if a development is time-boxed, with a prespecified number of main iterations, there should be some minimum usability acceptance criteria.


