Providing a solution to a problem is not as simple as recommending: "you need to upgrade to faster storage" or "you need to partition your main database tables".

Each proposed solution that we provide is accompanied by:
- a full justification for the solution;
- the expected benefits of the solution, highlighting also the problems that the solution is not expected to address;
- and a well developed deployment strategy, including: hardware purchase recommendations, application design changes, database design modifications, projection of estimated completion time for the development and deployment, and an assessment of needed downtime for solution deployment.
Once the solution is in place, the job is far from done. First, we go back and revisit the metrics that we were aiming to improve with the given solution and quantify the induced change. Second, we verify additional metrics that we first collected and validate that the solution did not have any unforeseen side effects. Lastly, we go back to the list of perceived problems and future goals and re-start our analysis with a new scope in mind.
