Engineering a Solution to Problem 1. Problem Identification (What should be changed?) Identify the system as distinct from its environment. Identify the parts of the present system that can change. Identify the part(s) of the present system that will change. Recognize the qualitative or quantitative nature of the change. Identify a measurable deviation between the inital state of the system and the final state if possible. Define observable objectives or goals. Check for your understanding of the problem. 2. Feasibility Analysis (Can the problem be solved?) List several alternative mechanisms for the solution. List the benefits of each alternative in addition to solving the problem. Acknowledge constraints and expectations. Search for demands and resources (potentials, resistances, and levers) that can cause or resist changes in the system. Technical (physical characteristics) Operational (personal skills) Cultural (organizational and personal support and motivation) Financial (equipment and time) Estimate the cost of each alternative as the difference between the demands or requirements and resources. Describe your solution as a simple model (an analog). Describe the characteristics of your environment. State your assumptions. Check for your understanding of the objectives. 3. Functional Analysis (What are the elements of the system and their characteristics?) List the intrinsic (static) properties of the system. List the reactive (dynamic) properties of the system. Check your understanding of the elements of the system. 4. Logical Design (How are the functions to be organized?) Build diagrams without specification to improve insight and communication. Check for your understanding of the functions in the system. 5. Implementation (What must each element consist of to function as required?) Build a schedule. Staff and delegate. Develop detailed specifications. Develop test suites. Develop documentation. Check the operation of the system. 6. Installation, Verification, and Training 7. Operation and Maintainance