XP doesn't really talk about the process before you do to the planning game at all. If you are developing a complex project, this part can more complex than the coding. ''That's because XP discourages BigDesignUpFront, XP says it's a bad practice and is a waste of time.'' Are there any good tips developing the product definition for a hardware/software project such that it can be the input to the planning game? ''Um.. write a feature, then another, then another, after a while... whala... a complex project. How does a mouse eat an elephant, um... one bite at a time. Complex project are built from many simple features, not from complex features.'' An excellent book on this topic is LargeScaleCppSoftwareDesign See: BigReductionUpFront