Problem Solving Practices for Developing Solutions