This is a text for those engaged in creating new, high-value software solutions for which an existing exemplar does not exist. Creating new software is not the same as replicating or doing something similar. It discusses creating software with high uncertainty about what is required, what the users will do, how the users will react, and what value will be delivered. The text addresses software similar to Class IV, V, and VI rapids, and considers how to understand the problem, determine requirements, design for uncertainty and the unknown, plan and execute a project involving innovative software, and how to form a suitable team for the activity.While these topics are sometimes touched upon in other texts, this book adopts a holistic view of the challenge and discusses how the pieces fit together and what must be done to deal with the inherent risks of innovative projects. Approximately one-half of the text is on how to understand the problem and figure out the requirements, with the other focusing on the design and implementation aspects for high-risk software.