Retaining walls are engineered solutions to landscape problems such as erosion, soil instability, slope stability, and drainage. They can be used to stabilize or create aesthetic effects. The retaining wall design process begins with an understanding of site conditions and the goals of the project. Site analysis is performed to determine if a retaining wall is appropriate for the site. If it is determined that a retaining wall should be built, engineers perform a retaining wall design using computer software programs.