User Environments are a configuration of storage, processing and computing resources used to execute a finished product.
User environments are normally client devices (desktops, tablets, phones or other interactive interfaces) but can sometimes have other natures depending on the products being developed. Alternative forms of user environments might include supercomputer resources, ad hoc mesh computing, elastic cloud infrastructure and custom hardware devices.
A User environment is the end point at which a Product or Product Family is used by Product Customers to generate business value. Understanding the User Environment(s) is critical throughout the software organization as User Environments will introduce constraints and opportunities in terms of solutions, affecting Business Case options. User Environments form part of the target deployment Architecture and so have an architectural, development and testing impact. Top level Test Environments will typically need to be at least representative of User Environments.