Solution Domain While the ProblemDomain defines the environment where the solution will come to work, the solution domain defines the abstract environment where the solution is developed. The differences between those two domains are the cause for possible errors when the solution is planted into the problem domain. To me, the problem domain and the solution domain are essentially the same domain, it is the same territory bordered by the same frame. Only inside the domain the position of the relevant entities differ. When they are all perfectly in place they form a solution, otherwise they relatively still constitute a problem. --Harr * I think it is useful to view the problem and solution domains as separate. A solution is found for each of the problems in the ProblemDomain - these solutions when implemented are the solution. The ProblemDomain contains problems or SystemRequirements, and the SolutionDomain contains solutions or the ApplicationSystem. -- PeterLynch ---- "Problem domain" and "solution domain" are essentially the same? Looks problematic to me. "Problem: I have no money". "Solution: I'll rob a bank". In respect to a given problem (or set of problems), the '''solution domain''' (or '''solution space''') covers all aspects of the solution product, including: * The process by which the solution is arrived at; * The environment in which it is constructed; * The design, construction, testing, operation, and functions of the solution product itself. Confusing the ''problem'' with the ''solution'' is one of the great dangers of IT projects, resulting in software that may be a very good solution to ''some'' problem, but not to the specific set of problems its users face. See the quotation from Gamma ''et al.'' under ProblemDomain. For an excellent discussion of the importance of understanding and defining the problem before selecting an appropriate solution space, see Michael Jackson, ''Problem Frames'' (Addison-Wesley, 2001). -- Don Mills